eXtreme Programming est une méthodologie de développement de logiciels surtout connue pour sa notion de tests unitaires, mais qui entre dans le cadre des méthodologies de type Agile.

Ces derniers sont des programmes simples, développés pour tester les fonctionnalités d’une classe ou d’un programme. Lancés automatiquement de façon régulière, ils évitent à un logiciel de subir d’éventuelles régressions au cours de son évolution.

Mais XP propose en fait d’aller plus loin, notamment en prônant le développement d’un logiciel par itérations successives.

Chaque itération débute par l’écriture d’un scénario qui décrit la fonctionnalité ajoutée. Ce scénario est traduit ensuite sous la forme d’un programme de test qui fait appel à des classes et des méthodes développées en dernier.

Ce mode de programmation assure que les programmes de tests sont développés systématiquement et minimise le développement de fonctionnalités non demandées dans les classes.

Au cours du développement, les programmeurs doivent organiser aussi des séances de revue de code qui aboutissent, si nécessaire, à un refactoring des classes dans le but d’en améliorer la qualité
(par exemple, en factorisant du code dupliqué dans des méthodes ou en introduisant des super-classes regroupant des concepts communs à plusieurs classes).

En ce qui concerne l’organisation d’une équipe, XP définit six rôles différents qui, idéalement, doivent être assurés par des membres différents. Au rôle de programmeur, assuré par binômes, s’ajoutent les rôles de client, de testeur, de tracker, de manager et de coach :

  • Le client rédige et ordonne les scénarios et les tests de recette prévus à chaque itération.
  • Le testeur met en place les tests et les outils qui s’y rattachent.
  • Le tracker suit le travail des programmeurs, afin de prendre les dispositions nécessaires au plus tôt en cas de difficulté.
  • Le manager s’occupe de l’organisation humaine et matérielle de l’équipe.
  • Le coach coordonne et aide les membres de l’équipe tout en veillant à la mise en place correcte de la méthode XP.

Enfin, XP propose d’organiser régulièrement des réunions de planification et d’avancement pour favoriser l’échange d’informations. Le développement par binômes de programmeurs et les rencontres fréquentes entre membres d’une équipe qui applique la méthode XP implique par conséquent que ceux-ci doivent travailler dans un même lieu, ouvert si possible.

Cette contrainte ne pourra pas s’appliquer à l’équipe de Sweet Home 3D dont les membres sont répartis sur plusieurs sites, mais ceux-ci feront de leur mieux pour communiquer le plus souvent possible entre eux, par exemple grâce à des outils de messagerie instantanée.

L’eXtreme Programming – J.-L. Bénard, L. Bossavit, R. Médina et D. Williams,
Eyrolles 2002

error: Content is protected !!
Téléphonez moi