La qualité au service du projet

Les principales méthodes Agiles

On parle quelquefois de méthode agile (au singulier) ou de méthodes agiles (au pluriel). Si le premier terme désigne le concept qui a été décrit ci-dessus, il existe des déclinaisons en termes de plan de mise en œuvre, de vocabulaire et de préconisation. Ce sont les méthodes agiles (au pluriel) dont voici les principales méthodes agiles :

Scrum

Scrum (qui signifie mêlée au rugby) est aujourd’hui la méthode agile la plus populaire. Elle se caractérise par itérations (appelées sprints) assez courts (maximum 1 mois) et un formalisme réduit : rôles (Product Owner, ScrumMaster, équipe), timeboxes (planification de release, planification de sprint, scrum quotidien, revue de sprint, introspection) et artéfacts (backlog de produit, plan de produit, plan de sprint, burdown/burnup de release, burdown/burnup de sprint)

Déroulement d'un sprint avec Scrum, l'une des principales méthodes agiles.

EXtreme Programming (XP)

L’objectif principal de cette méthode est de réduire les coûts du changement. Elle met l’accent sur la revue de code (faite en permanence par un binôme), sur les tests (ils sont faits systématiquement avant chaque développement), la conception continue (refactoring), la simplicité, la traduction des besoins en métaphores.

XP est souvent pratiqué conjointement avec Scrum.

Rational Unified Process (RUP)

Cette méthode qui peut être considérée comme la moins agile des méthodes présentées ici, est un mélange des pratiques issues des méthodes traditionnelles et des méthodes agiles. Le principe est de parcourir un cycle de vie (inspection, élaboration, construction, transition) durant une itération. Chaque phase du cycle de vie est très précisément détaillée.

Son approche assez lourde et le coût d’investissement de cette méthode la réserve à des projets de grande ou moyenne taille.

Feature Driven Development (FDD)

Moins connue que les 2 méthodes précédentes, FDD est essentiellement axé sur le design et le développement. Pour cela elle s’appuie sur une formalisation du modèle objet à l’aide de diagrammes UML, un découpage par fonctions qui seront développées par des petites équipes responsables d’une ou deux fonctions. Elle accorde un aspect très important à la qualité du produit fini, et s’aide d’outils pour suivre le déroulement du projet.

Rapid Application Development (RAD)

C’est la méthode agile la plus ancienne et celle qui a été la première à être en rupture avec les méthodes traditionnelles. Elle a introduit les notions d’itération et d’incrément. Elle vise à adopter la solution la plus stratégique (en termes de délais), la moins risquée, la plus fiable et la moins coûteuse. Son cycle de développement est simple : cadrage, design, construction et finalisation dans le respect absolu d’une durée comprise entre 90 et 120 jours.

Dynamic systems development method (DSDM)

DSDM est méthode agile développée en Angleterre au milieu des années 90. Elle reprend les principes déjà vus dans les autres méthodes (implication des utilisateurs, autonomie de l’équipe, visibilité et adéquation du résultat, développement itératif et incrémental, réversibilité des modifications, tests continus, coopération des acteurs).

Elle est aujourd’hui moins utilisée que les méthodes précédemment décrites.

Voir aussi l’article expliquant la démarche agile.