Les méthodes « agiles », Scrum : kézako ?

proposé par Rémy Casteran (Cafel20)

En 2001, la notion de méthode Agile a été précisée dans un manifeste de 17 personnalités de la conception logicielle, qui ont énoncé les principes suivants :

SCRUM en coup d'oeil!« (…) valoriser :

Les individus et leurs interactions
plus que les processus et les outils

Des logiciels opérationnels
plus qu’une documentation exhaustive

La collaboration avec les clients
plus que la négociation contractuelle

L’adaptation au changement
plus que le suivi d’un plan

Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers. »

Cette méthode peut être qualifiée d’adaptative, itérative, incrémentale, fondée sur

  • (i) la mobilisation d’une équipe «communicante», multi-compétences ;
  • (ii) des applications rapidement fonctionnelles ;
  • (iii) une collaboration étroite avec le client, l’usager ;
  • (iv) une acceptation du changement, une grande flexibilité.
  • Et un cadre précis de travail !

Une des méthodes les plus connues est le SCRUM (mêlée, en anglais) dont voici les principales étapes d’une « course » :

- Répartition d’un processus en chantiers limités dans le temps, avec des livrables et des rôles distribués (maître d’ouvrage, animateur, équipe)
- Définition de fonctionnalités (résultats attendus, observables) sur un backlog, établi par le maître d’ouvrage (Product owner)
- Définition par l’équipe d’itérations, de courses (sprint) : prise en compte des priorités et des capacités des équipiers, liste des tâches nécessaires avec cotation de la durée, période de 1 à 4 semaines (durée : 2-4 heures)
- Mêlée (scrum) quotidienne pour contrôler l’avancement, dirigée par un animateur (scrum master) avec visualisations de l’avancement (burndown de la course = courbe descendante des activités à réaliser) : réalisé hier/ prévu aujourd’hui/ obstacle = engagement individuel devant ses pairs (durée 15-20 mn, debout)
- Revue de fin de course pour présenter la version du livrable, avec un retour utilisateur immédiat (durée <2 heures)
- Rétrospective : expression individuelle sur ce qu’il faut continuer, arrêter et commencer de faire (durée 15-30 mn)

Une « course » permet de produire rapidement la première version d’un produit partiel, potentiellement livrable. L’équipe détermine alors les courses ultérieures, jusqu’à la livraison d’un produit parfaitement adapté à l’usager.

Pour aller plus loin

Vidéo «Soyez agiles ! »

Article  « Scrum, agilité … et rock and roll »

Blogue « Développement agile »