Comprendre le cycle de vie du développement de logiciels Agile et le flux de travail de processus

By Kate Eby | 18 août 2016

Les organisations rencontrent un énorme succès en répondant à l'évolution rapide des besoins des clients grâce à l'adoption de la méthodologie de développement logiciel Agile, qui propose une approche itérative de la conception et du développement des logiciels. L'approche Agile tient compte des changements constants qui surviennent dans le développement de la technologie. Elle permet aux équipes de décomposer les longues phases de définition des besoins, de construction et de test en segments plus petits, pour finalement livrer des logiciels fonctionnels plus rapidement et plus fréquemment.

Cet article abordera le cycle de vie du développement Agile et les flux de travail du processus qui se déroule pendant une itération.

Découvrez comme il est facile de créer un tableau Kanban dans Smartsheet

Avec Smartsheet, il est facile est rapide de créer des tableaux Kanban en deux étapes seulement.

Développement de logiciels Agile vs. Développement de logiciels Waterfall

Il existe plus d'une seule méthodologie que l'on peut appliquer dans l'ensemble des projets. Cependant, de nombreuses équipes s'orientent vers une méthodologie adaptative, comme Agile, et se détournent de la méthodologie prédictive, Waterfall, lors du développement de logiciels. La méthode classique de développement Waterfall (en cascade) suit des phases strictes, en respectant les exigences initiales et le plan de conception établi au début du projet. Un chef de projet passe du temps à négocier les jalons, les fonctionnalités, les ressources, à travailler longuement au cours des étapes de planification d’un projet, en développant généralement un plan de projet complet qui détaille comment le travail sera organisé jusqu'à son achèvement.

Les clients finalisent les exigences avant que le développement ne commence, puis un long processus de développement a lieu. Le chef de projet suit chaque évolution du projet à chaque transfert jusqu'à la livraison. Si tout se passe bien, ce processus permet de produire une version dans les délais et le budget. Les inconvénients principaux de cette approche sont bien documentés : elle n’est pas réactive au changement et il faut beaucoup de temps pour livrer des logiciels de travail. Lorsque la technologie constitue le terrain de jeu et dirige chaque changement, un cycle de lancement de six mois (ou plus), avec des exigences gravées dans le marbre, ne répond pas aux besoins de l’entreprise.

L’histoire du développement logiciel Agile est celle d'une frustration à l'égard de la méthodologie Waterfall traditionnelle. Agile est conçu pour s’adapter au changement et au besoin de développement de logiciels plus rapides (comme mentionné dans les valeurs et principes du Manifeste Agile). Le chef de projet facilite généralement le travail de l’équipe de développement, élimine les points de blocage et aide l’équipe à rester concentrée afin de livrer régulièrement des itérations logicielles. Ce qui importe, ce ne sont pas tellement les jalons mais plutôt les heures, la sélection des fonctionnalités, la hiérarchisation des priorités et les réunions.

Contrairement au modèle Waterfall, l’équipe de développement décide au début d’un sprint (ou d'une itération) de ce qui peut être accompli dans le délai imparti et se met à créer une série de fonctionnalités, en fournissant un logiciel de travail qui peut être installé dans un environnement de production à la fin du sprint. Étant donné que les méthodes Agile de développement de logiciels (telles que la méthode de développement de systèmes dynamiques - DSDM) sont flexibles, la plupart sont adaptées à la personnalisation des méthodes, où les équipes de développement peuvent adapter le flux pour répondre aux besoins du produit.

 

Le cycle de vie Agile

Il existe différentes méthodologies Agile pour développer des logiciels (ou des systèmes), notamment, mais non limitées à :

  • Livraison Agile disciplinée (DAD)
  • Développement logiciel adaptatif (ASD)
  • Modélisation Agile
  • Kanban
  • Scrum
  • Scrumban
  • Extreme Programming (XP)
  • Développement de systèmes dynamiques (DSDM)
  • Développement basé sur les fonctionnalités
  • Développement de logiciels Lean (LSD)

L’objectif global de chaque méthode Agile est de s’adapter au changement et de fournir des logiciels de travail le plus rapidement possible. Cependant, chaque méthodologie diffère légèrement dans la façon dont elle définit les phases du développement de logiciels. De plus, même si l’objectif demeure le même, le flux de processus de chaque équipe peut varier en fonction du projet ou de la situation spécifique. Par exemple, le cycle de vie complet du développement de logiciels Agile comprend les phases de concept, de création, de construction, de lancement, de production et de retrait.

Les flux du processus Agile

  1. Concept - Les projets sont définis et classés par ordre de priorité
  2. Création - Les membres de l’équipe sont identifiés, le financement est mis en place, et les exigences et environnements initiaux sont discutés
  3. Itération/construction - L’équipe de développement s'emploie à livrer des logiciels de travail en fonction des exigences et des commentaires relatifs aux itérations
  4. Lancement - Tests de QA (assurance qualité), formation interne et externe, développement de la documentation et la version finale de l’itération en production
  5. Production - Assistance continue du logiciel
  6. Retrait - Activités de fin de vie, y compris la notification et la migration des clients

Cet aperçu présente le modèle complet de cycle de vie Agile au sein de l’entreprise. Dans toute entreprise, il peut y avoir des projets qui fonctionnent simultanément, plusieurs sprints/itérations qui sont enregistrés sur différentes gammes de produits, et une variété de clients, externes et internes, avec un éventail de besoins commerciaux.

Cycle de vie du développement logiciel Agile

 

agile software development lifecycle

Agile Software Development Workflow

The Agile software development lifecycle is dominated by the iterative process. Each iteration delivers the next piece of the development puzzle: software and supporting elements (e.g. documentation) available for use by customers, until the final product is complete. Each iteration is usually two to four weeks in length and has a fixed completion time. The iteration process is methodical and the scope of each iteration is only as broad as the allotted time allows.

Multiple iterations will take place during the Agile software development lifecycle and each follows its own workflow. During an iteration, customers and business stakeholders provide feedback to ensure that the features meet their needs. 

A typical iteration process flow can be visualized as follows:

  • Requirements: Define the requirements for the iteration based on the product backlog, sprint backlog, and customer and stakeholder feedback.
  • Development: Design and develop software based on defined requirements.
  • Testing: Quality assurance (QA) testing, internal and external training, documentation development.
  • Delivery: Integrate and deliver the working iteration into production.
  • Feedback: Review customer and stakeholder feedback and work it into the requirements of the next iteration.

Agile Software Development Workflow Diagram


While you may feed additional features into the product backlog throughout the project, the rest of the process repeats until the product backlog has been cleared. As a result, the Agile software development process flow is a loop rather than a linear process.

Agile Scrum Workflow

The flow of work in Scrum is directed via a series of meetings, as described below:

Sprint planning is used to choose the work that will be incorporated into an upcoming Sprint based on the product backlog.

A daily Scrum is a short meeting where each participant answers the following questions:

  • What work did you do yesterday?
  • What work will you do today?
  • What obstacles are in your way?

The Scrum master, who manages the meetings, uses the data gathered to update the burndown chart and look for ways to remove the obstacles that were identified.

A sprint review is a meeting at the end of each Sprint to evaluate what was completed and to review the product backlog and determine what still needs to be done. Reviews focus on the product.

Finally, the sprint retrospective meeting at the end of each Sprint which covers what worked well and what can be improved. Retrospectives focus on the process.
You can read more about Scrum in our comprehensive guide.

Making the Agile Process Work for You

As with any methodology, there are advantages and disadvantages (Read about the advantages and disadvantages of Agile). The Agile method is more suitable in situations where customers and project stakeholders are available to provide input, functional portions of software are needed quickly, flexibility is desired to accommodate changing requirements, and the team is co-located and able to collaborate effectively. 

As with any change, integrating Agile processes into your business can be overwhelming. Here are four activities that will help support the adoption of Agile workflow:

  • Daily Meetings: Host consistent or daily stand-up meetings to maintain open communication, hold workers accountable, and keep each iteration moving forward.
  • Live Demonstrations: Deliver live demonstrations of each iteration’s final product to show progress.
  • Share Feedback: Receive feedback from stakeholders and customers and share it with the entire team before the next iteration begins.
  • Remain Agile: Make changes to your process based on feedback to ensure each iteration improves the last.

Streamline the Agile Software Lifecycle with Smartsheet for Project Management

De la simple gestion de tâches et de projets à la gestion complexe de ressources et de portefeuilles, Smartsheet vous aide à améliorer la collaboration et à accélérer le travail. Vous avez ainsi les moyens d'accomplir plus de travail. La plateforme Smartsheet facilite la planification, la capture, la gestion et la création de rapports sur le travail depuis n'importe où, ce qui permet à votre équipe d'être plus efficace et d'accomplir plus. Créez des rapports de synthèse sur les métriques clés et obtenez de la visibilité en temps réel quant au travail grâce aux rapports de synthèse, aux tableaux de bord et aux flux de travail automatisés conçus afin d'aider votre équipe à rester connectée et informée. Quand les équipes bénéficient de clarté quant au travail en cours, elles peuvent accomplir bien plus dans le même temps. Essayez Smartsheet gratuitement, dès aujourd'hui.

Découvrez pourquoi plus de 90 % des entreprises Fortune 100 font confiance à Smartsheet pour accomplir leur travail.

Essayez Smartsheet gratuitement Get a Free Smartsheet Demo