La méthode Agile XP

pairprogramming

Les méthodes agiles sont nombreuses. Aujourd’hui, nous allons nous intéresser à l’XP ou l’eXtreme Programming. 

Comme son nom l’indique, la méthode Agile XP est réservée aux projets de programmation de logiciel. Son but principal est de réduire les coûts de changement en fonctionnant avec de courtes itérations (de 1 à 2 semaines) et des tests réguliers afin de fixer les bugs. La méthode maximise la productivité des développeurs et réduit un maximum les erreurs.

Les principes

Les principes de l’eXtreme Programming rappelle ceux des méthodes agiles.

– Le client est au centre du projet et le pilote lui-même, et ce de très près grâce à des cycles itératifs extrêmement courts (1 ou 4 semaines).

– Livraison très tôt d’une première version du logiciel fonctionnel, et les livraisons de nouvelles versions s’enchaînent ensuite à un rythme soutenu pour obtenir un feedback maximal sur l’avancement des développements et pouvoir opérer à des changements si nécessaire.

– L’équipe est autonome et auto gérée. Elle s’organise elle-même pour atteindre ses objectifs, en favorisant une collaboration maximale entre ses membres.

– Mise en place des tests automatiques pour toutes les fonctionnalités qu’elle développe, ce qui garantit au produit un niveau de robustesse très élevé

– Les développeurs améliorent sans cesse la structure interne du logiciel pour que les évolutions y restent faciles et rapides

Les pratiques

Pour mener à bien cette méthode, des pratiques sont fortement recommandées:

La communication: Les développeurs travaillent en binôme (pour la revue de code) afin d’éviter un maximum les erreurs.

Feed back: des tests sont effectués systématiquement après chaque mise en oeuvre. Les livraisons fréquentes permettent de tester les nouvelles fonctionnalités.

Le client au centre: Comme dans toute méthode Agile, le client est au centre du processus. Il doit être si possible présent pendant toute la durée du projet et faire part de la vision globale de son produit.

La simplicité: La façon la plus simple d’arriver au résultat est la meilleure. Anticiper les extensions futures est une perte de temps. Une application simple sera plus facile à faire évoluer.

Utilisation du refactoring: Amélioration régulière de la qualité du code sans en modifier le comportement. Elles permettent aux développeurs d’avancer dans de meilleures conditions et donc plus vite.

Cycle de développement

Le cycle de développement se décompose en plusieurs phases:

#1 L’exploration: Une phase d’exploration détermine les scénarios client qui seront fournis pendant cette itération.

#2 Planification de l’itération: Il s’agit ici de découper la phase précédente en tâches que chaque développeur va s’attribuer avec son binôme.

#3 Développement: Il se fait sur une courte itération allant de 1 à 4 semaines.

#4 Test d’acceptation: Si des bugs sont repérés, ils peuvent rapidement être corrigé grâce à ces courtes itérations. On peut  également ajouter de nouvelles fonctionnalités à partir d’un code qui fonctionne.

#5 Approbation du client: Si tout fonctionne et correspond à la demande du client, le produit est livré.

 

XP

Sources: Wikipédia et Extreme Programming

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *