<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=660830814037640&amp;ev=PageView&amp;noscript=1">
août 2017

Qu'est-ce que la méthode eXtreme Programming ?

Twitter-Blog-Methodologie-eXtreme-Programming -Illustration-Planzone.jpg

La méthodologie eXtreme Programming ou XP est une méthode de gestion de projet qui applique à l'extrême les principes du développement agile, c'est-à-dire se concentrer sur les besoins du clients, mettre en place un développement itératif et l'intégration continue. L'équipe projet et ses relations avec le client sont au coeur de XP.

Cette méthode a été créée par Kent Beck entre 1996 et 1999, lorsqu'il travaillait sur un projet pour Chrysler. Elaborée à l'origine pour le secteur informatique, eXtreme Programming est aujourd'hui très populaire car elle fonctionne pour tous types de projets, de toutes tailles et de tous secteurs confondus, partout dans le monde. Cette méthodologie est idéale pour de petites et moyennes équipes, c'est-à-dire pas plus d'une vingtaine de personnes environ.

Principe

Les principes de la méthode eXtreme Programming ne sont pas nouveaux puisqu'il s'agit de ceux des méthodes Agiles. La différence et l'originalité résident dans le fait qu'ils sont poussés à l'extrême.

La méthode eXtreme Programming s'appuie sur :

  • une forte réactivité au changement des besoins du client ;
  • un travail d'équipe ;
  • la qualité du travail fourni ;
  • la qualité des tests effectués au plus tôt.

XP repose sur cinq valeurs fondamentales :

  • Communication : il est essentiel que chaque membre de l'équipe communique quotidiennement avec ses collègues ainsi qu'avec le client. C'est un moyen incontournable pour résoudre les problèmes.
  • Simplicité : la façon la plus simple d'arriver au résultat est privilégiée. L'équipe projet fait ce qui est nécessaire et demandé, rien de plus. Une application simple sera plus facile à faire évoluer ensuite.
  • Feedback : le retour d'information entre l'équipe projet et le client est essentiel. Chaque étape du projet est envoyée aussi rapidement et souvent que possible au client afin qu'il teste, donne son avis et valide l'étape. Chaque demande de modification est prise en compte immédiatement.
  • Respect : le respect de chaque membre de l'équipe et de son travail sont primordiaux. Le management, l'équipe projet et le client se respectent mutuellement.
  • Courage : Il faut du courage pour effectuer certains changements comme essayer une nouvelle technique, recommencer une itération non validée ou revoir l'organisation du projet. Le courage permet de sortir d'une situation inadaptée.

Fonctionnement

Les cinq valeurs de XP se déclinent en treize pratiques qui se renforcent mutuellement :

  • Client sur site : le client doit être représenté sur place pendant toute la durée du projet. Ce représentant doit avoir une vision globale du résultat à obtenir et être disponible pour répondre aux questions de l'équipe.
  • Jeu du planning (ou planning poker): le planning est réalisé en collaboration avec le client. Ce dernier crée des scénarios pour les fonctionnalités qu'il souhaite obtenir. L'équipe évalue le temps nécessaire pour les mettre en ?uvre. Le client sélectionne ensuite les scénarios en fonction des priorités et du temps disponible.
  • Intégration continue : lorsqu'une tâche est terminée, elle est tout de suite intégrée dans le produit complet. Cela permet d'éviter la surcharge de travail due à l'intégration de tous les éléments avant la livraison. Les tests facilitent cette intégration : quand tous les tests sont positifs, l'itération est terminée.
  • Petites livraisons: les livraisons doivent être les plus fréquentes possible afin que le client donne son avis et que les modifications soient rapidement prises en compte par l'équipe.
  • Rythme soutenable : aucune heure supplémentaire n'est tolérée. S'il y en a, alors le planning doit être revu. Un collaborateur fatigué travaille mal et fait plus d'erreurs.
  • Tests fonctionnels : à partir des scénarios définis par le client, l'équipe crée des procédures de test qui permettent de vérifier l'avancement du développement. Lorsque tous les tests fonctionnels passent, l'itération est terminée.
  • Tests unitaires : pour chaque fonctionnalité, un test est écrit afin de vérifier qu'elle fonctionnera comme prévu. Ce test sera conservé jusqu'à la fin du projet, tant que la fonctionnalité est requise. À chaque modification du code, tous les tests sont lancés afin d'identifier immédiatement s'il y a un problème de fonctionnement.
  • Conception simple : on va droit à l'essentiel en se focalisant uniquement sur les besoins actuels du clients. Plus l'application est simple, plus il sera facile de la faire évoluer lors des prochaines itérations.
  • Utilisation de métaphores: les équipes XP utilisent des métaphores pour décrire le système et son fonctionnement afin de clarifier les fonctionnalités à atteindre. Tout le monde parle le même langage.
  • Refactoring (ou remaniement du projet): le projet est amélioré régulièrement. Le but étant d'avoir de bonnes bases et de meilleures conditions de travail pour l'équipe.
  • Appropriation collective du projet : la responsabilité du projet est collective. Chaque membre de l'équipe peut modifier toutes les portions du projet, mêmes celles sur lesquelles il n'a pas travaillé. L'objectif est d'être efficace et rapide.
  • Standards de langage : puisque tout le monde travaille ensemble sur le projet, il est essentiel de faciliter le travail de chacun en utilisant les mêmes termes, le même style et des règles de communication claires.
  • Travail en binôme : les collaborateurs travaillent en binôme. Le pilote et le copilote changent régulièrement afin d'améliorer la communication et la connaissance collective du projet.

Les projets gérés par la méthode eXtreme Programming reposent sur des cycles de développement (itérations) courts et rapides qui sont réalisés collectivement par l'équipe projet et le client dont l'implication est constante.

Les activités contre-productives ont été supprimées afin de réduire les coûts et la frustration de toutes les personnes impliquées.

Conditions de réussite

Pour être mise en place de façon efficace, la méthodologie eXtreme Programming nécessite un changement de mentalité et une acceptation par l'ensemble des équipes impliquées.

Afin de garantir le succès de XP, il est indispensable que le client ou un représentant soit totalement investi dans le projet.

Cette méthode ne peut pas fonctionner avec des grandes équipes, si le travail en binôme est impossible ou encore si les feedback sont longs et difficiles à obtenir.

En conclusion

Avec la méthodologie eXtreme Programming, managers, équipe projet et client travaillent en collaboration. Cette approche privilégie la méthode la plus simple, favorise la réactivité de l'équipe et instaure un contrôle continu de la qualité.

Concrètement, XP n'est pas évidente à appliquer et à maîtriser car elle demande beaucoup de discipline et de communication. Il faut aller vite, sans perdre de vue la rigueur du travail et les fonctions finales du projet. La grande force de la méthode eXtreme Programming réside dans sa simplicité et le fait qu'on va droit à l'essentiel, en suivant un rythme qui doit rester constant.

 

Telecharger le guide pratique des methodologies de gestion de projets