Ma présentation au XP Day 2007

Mon retour sur l'expérimentation de la méthode Agile chez Total

Mercredi dernier, au XP Day[1], j'ai présenté, avec Total, la première session lors de l'après-midi consacrée aux retours d'expérience. Elle portait sur la mise en oeuvre de la méthode Agile chez Total Gas Elec. Benoit Chevalier a présenté le point de vue de Total[2] et j'ai complété avec le point de vue du consultant qui a introduit l'agilité dans leur organisation.

L'expérience a commencé en novembre 2005. J'ai d'abord fait des interviews des personnes de l'équipe (une quinzaine de personnes) pour évaluer le processus actuel. A partir de cette étude du terrain, j'ai proposé d'introduire une dose d'agilité et de commencer à le faire sur un projet qui allait démarrer.

J'ai ensuite effectué une formation (3 jours) aux méthodes agiles.

Le projet "pilote" a démarré avec une équipe de 4 personnes et sur un périmètre connu, puisqu'il s'agit de porter en .Net une application existante. La méthode Agile[3] que j'ai préconisée est basée sur Scrum avec l'introduction de pratiques XP correspondant au premier cercle de maitrise :

  • itérations courtes (3 semaines) de durée fixe
  • équipe complète : auparavant les analystes (et testeurs) n'étaient pas dans l'équipe de développement
  • utilisation des histoires d'utilisateur [4], dans le cadre d'une approche des exigences partant des processus métier en passant par des cas d'utilisation essentiels
  • estimation en points[5]
  • planification à 2 niveaux : release et itération

Au début du projet j'ai animé des workshops pour identifier les histoires d'utilisateur et constituer le backlog, puis les estimer avec une session de planning poker. Une fois les itérations lancées, je suis revenu régulièrement, pour coacher sur la mise en oeuvre de pratiques, et au moins toutes les 3 semaines pour animer les réunions typiques de Scrum :

  • démonstration de l'itération n
  • rétrospective
  • planification de l'itération n+1

Au bout de 4 itérations, l'équipe est devenue autonome pour gérer ces réunions et je n'interviens désormais que pour de l'expertise ponctuelle (rétrospectives poussées, préparation d'autres projets...).

Le processus mis en place a été adapté aux contraintes dans l'organisation :

  • Cohabitation d'une gestion de projet classique[6] avec la gestion de projet agile
  • Mouvements fréquents dans les équipes
  • Les vrais utilisateurs ne sont pas présents sur le site de développement

Suite à cette expérience, l'agilité va se diffuser plus largement en 2007 :

  • par l'automatisation des tests fonctionnels (FitNesse est en évaluation) pour aller vers le TDD[7]
  • avec l'utilisation de la méthode Agile pour d'autres projets

Notes

[1] qui en fait dure 2 jours, je n'ai assisté qu'à la première journée

[2] sa présentation sera publiée bientôt

[3] expression conservée par Total

[4] user stories XP

[5] story points

[6] production de Gantt, relevé des heures...

[7] développement piloté par les tests