Tour d’horizon des différentes méthodes agiles

tour-horizon-differentes-methodes-agiles
Si Scrum est la méthode agile la plus utilisée à l’heure actuelle, elle est loin d’être la seule sur le marché. Même si elles respectent toutes le manifeste agile, certaines ne répondent pas aux mêmes besoins et problématiques que Scrum. Voici un aperçu des différentes méthodes agiles et quelques pistes pour identifier celle qui correspond le mieux aux besoins de votre équipe projet.

Méthode Scrum

Scrum est aujourd’hui l’approche agile la plus utilisée. Elle se caractérise par des itérations courtes de quatre semaines maximum (des sprints), ainsi que par la distribution des rôles suivants au sein de l’équipe projet :

  • le ScrumMaster, qui s’assurera du respect de la méthodologie Scrum et jouera un rôle de coach et de facilitateur
  • le Product Owner, qui portera la vision du produit et les attentes des utilisateurs / clients
  • l’équipe (i.e. les collaborateurs composant l’équipe projet, par exemple des développeurs dans un projet informatique)

Son fonctionnement s’articule autour de “timebox” régulières, c’est à dire des périodes de temps limitées. Chacune d’elle est une itération de développement limitée à une courte durée durant laquelle l’équipe devra se concentrer sur des fonctionnalités précises et définies en amont. La méthode Scrum limite la documentation, mais impose un unique document, le Product Backlog. Il contient les différentes fonctionnalités attendues et permet d’organiser le travail.  

Envie de devenir un manager Agile ? En 6 semaine formez-vous au Challenge Scrum Master. Plus d’information sur la page Challenge Scrum Master.
 

Extrem Programing

Extrem programing est une méthode de gestion de projet fortement axé sur l’aspect réalisation. Les éléments clés de cette méthode sont :

  • la programmation en binôme (“pair programming” en anglais)
  • la réingénierie logicielle, “refactoring” en anglais, qui consiste à modifier le code afin de le rendre plus facile à maintenir et à lire sans changer son fonctionnement
  • l’intégration continue (continuous integration” en anglais) qui vise à vérifier que chaque modification de code source ne produit aucune régression sur le logiciel.

De nombreuses équipes de développement combinent Scrum et Extrem Programing. Cette méthode mixte est à ce jour la deuxième approche agile la plus utilisée au monde, derrière Scrum.   state of agile survey

Graphique illustrant la popularité des différentes méthodes agiles, d’après l’enquête 2013 de Version One.

 

Méthode Kanban

Kanban (littéralement « panneau » en japonais) est une approche qui consiste à faciliter au maximum le workflow d’une équipe et à adapter le volume du travail en cours aux capacités de l’équipe de production. Concrètement il s’agit de placer les items (ou tâches) du projet dans une colonne du tableau Kanban. Chacune des colonnes représente un état (à évaluer, à faire, en cours, etc.). Généralement, cette technique est utilisée en parallèle des autres méthodes et permet une transition progressive des méthodes classiques aux méthodes agiles. Le Kanban est une adaptation à l’univers du logiciel d’une méthode conçue par Toyota dans les années 50 pour mettre en place un système production à flux tendus.  

Lean Development

Tout comme le Kanban, le Lean Development est l’application d’une méthode industrielle au secteur du logiciel. En plus des principes de l’agilité, le Lean Development s’appuie sur deux autres prérogatives clés :

  1. Éliminer les gaspillages
  2. Améliorer l’apprentissage de l’équipe.

 

Feature Driven Development (FDD)

Le Feature Driven Development ou FDD s’axe principalement sur le design et le développement. Le développement est réalisé par plusieurs équipes, chacune en charge d’une à deux fonctionnalités du produit. La valeur principalement mise en avant par cette méthode est la qualité du produit fini.  

Quelle méthode choisir ?

Ces différentes méthodes répondent toutes à des problématiques de développement différentes. Il est donc impossible de les comparer “dans l’absolu”, il faut le faire relativement aux besoins de l’équipe projet. Pour choisir une méthode, il est important de pondérer les critères suivants :

  • Besoin rapide de mise à disposition du produit
  • Imprévisibilité des besoins du client
  • Nécessité de changements fréquents
  • Besoin de visibilité du client sur l’avancement des développements
  • Présence de l’utilisateur assurant un feedback immédiat

De la même manière, certains critères sont susceptibles de venir invalider l’utilisation de ces méthodes :

  • Indisponibilité du client ou de l’utilisateur
  • Dispersion géographique des ressources humaines
  • Inertie des acteurs du projet ou refus des changements

Il peut s’avérer également qu’aucune méthode agile ne puisse être appliquée au projet donné. Dans ce cas de figure, le recours aux méthodes traditionnelles comme le cycle en V ou encore le Waterfall s’impose.  

 

A propos de l'auteur

  • intervenant-01

    Florent Lothon

    Florent Lothon est responsable du département digital DSI de Swiss Life. Il a plus de 14 ans d’expérience en startups et sociétés de services en ingénierie informatique, à des positions de développeur, manager, coach et formateur agile.

    Lire la présentation complète