Bien connue dans le milieu informatique, la méthode agile XP, pour « Extreme Programming », est tout aussi répandue que sa sœur, la méthode Scrum. Essayons de voir plus précisément en quoi consiste cette méthode de gestion de projet.
Un peu d’histoire
La méthode agile XP est issue d’un projet de la société Chrysler, qui au milieu des années 90, a souhaité remettre totalement à jour son système de paie, en s’attaquant donc à des fonctionnalités touchant près de 10 000 salariés.
Le principe consiste à identifier les facteurs déterminants d’un projet et à se concentrer dessus à l’extrême lors de phases itératives de développement et de tests.
Les grands principes de la méthode agile XP
La première étape de la méthode agile XP consiste à définir les spécifications. Mais plutôt que de spécifier tout le projet dès le début, on va se concentrer sur les fonctionnalités les plus importantes. Cela demande naturellement de l’expérience et une analyse assez fine du besoin.
Le projet va alors être découpé en modules et sous-modules. Les développements vont avoir lieu lors d’itérations pouvant avoir une durée de deux à cinq semaines maximum. Généralement, trois semaines est un bon choix. Une livraison est effectuée à l’issue de chaque itération et elle est testée. Si les tests sont concluants, on passe à l’itération suivante, sinon, l’itération recommence.
Le suivi du projet se fait au fur et à mesure de l’avancement des itérations, ce qui permet de rapidement mettre en évidence les problèmes éventuels et de pouvoir prendre en compte de nouvelles demandes du client.
Un apprentissage continu
Un certain nombre de règles doit s’appliquer systématiquement aux développements réalisés dans le cadre de la méthode agile XP :
- La relecture du code doit être faite systématiquement.
- L’amélioration du code est faite tout au long de l’avancement des itérations.
- Les modifications sont publiées souvent de façon à permettre à tous d’avancer rapidement.
- La solution la plus simple est toujours privilégiée.
- Les termes utilisés doivent être parfaitement définis de façon à ce que la compréhension du projet soit la même pour tous les intervenants.
- Les tests doivent être systématiques, complets, et réalisés à la fin de chaque étape.
L’application de ces règles va permettre au fur et à mesure de l’avancement du projet de mettre en place des bonnes pratiques de développement, de permettre un apprentissage et une montée en compétences rapides, et au final de mettre en place un processus d’amélioration continue.
La programmation par paire
Chaque développeur va travailler avec un binôme. Chacun va alternativement écrire le code et le contrôler. Ainsi, pendant que l’un développe, l’autre contrôle en temps réel que le code est correct, qu’il répond bien aux normes de la méthode agile XP… La relecture du code se fait donc en temps réel, et son amélioration est continue. Il faut donc que les développeurs qui vont travailler ensembles soient capables d’accepter le changement et les critiques, de façon à améliorer la qualité du code produit.
Une méthode adaptée à de petites équipes
La méthode agile XP est particulièrement adaptée à de petites équipes pouvant aller de 10 à 16 développeurs maximum. Au-delà, le temps passé à expliquer les fonctionnalités, à se coordonner, devient trop important, et on perd beaucoup en réactivité. Des itérations courtes de trois semaines ne conviendront pas à une équipe de plusieurs dizaines de personnes tant l’investissement demandé est grand.
De la même façon, il est impératif de disposer d’une équipe stable. Tout changement de développeur va casser une paire et par conséquent briser la dynamique mise en place.
Avantages et inconvénients
La relecture et l’amélioration du code, ainsi que des tests systématiques tout au long du processus de développement permet de produire un système constamment opérationnel. Toute anomalie est rapidement repérée et corrigée et l’équipe produit un code de qualité supérieure.
Si le planning du projet n’est pas aussi clairement défini qu’avec d’autres méthodes, puisque toutes les spécifications ne sont pas écrites dès le début, l’intégration continue et la fréquence des livraisons permettent de conserver une vision précise de l’avancement. L’automatisation des tests permet également de s’assurer de la non-régression de chaque livraison.
Comme nous l’avons déjà évoqué, en revanche, la méthode agile XP ne peut s’adresser qu’à des projets de taille petite à moyenne car l’organisation qu’elle induit n’est pas compatible avec une équipe de plusieurs dizaines de personnes.
=> Le logiciel de gestion de projet en ligne Nutcache conviendra parfaitement à la gestion de votre projet agile XP. Testez-le!