Extreme Programming – XP

XP (Programmation extrême) est une méthodologie agile de développement logiciel, créée par Kent Beck dans les années 1990, qui pousse à leur maximum certaines bonnes pratiques d’ingénierie logicielle pour répondre efficacement à des exigences changeantes et garantir une qualité de code élevée.

Contrairement à Scrum (centré sur la gestion de projet), XP se concentre avant tout sur les pratiques techniques d’équipe de développement. Il est particulièrement adapté aux projets à forte incertitude fonctionnelle ou à rythme de livraison soutenu.

Valeurs fondamentales (selon le Manifeste XP)

  1. Communication – entre développeurs, clients et parties prenantes
  2. Simplicité – écrire le code le plus simple possible qui fonctionne
  3. Feedback – obtenir des retours rapides via tests, démos, intégration continue
  4. Courage – refactoriser, supprimer du code inutile, admettre les erreurs
  5. Respect – entre membres de l’équipe, pour le code et les utilisateurs

Pratiques clés (les plus emblématiques)

  • Développement piloté par les tests (TDD) : écrire les tests avant le code
  • Intégration continue : fusionner le code plusieurs fois par jour, avec builds automatisés
  • Refactorisation continue : améliorer la structure du code sans en changer le comportement
  • Programmation en binôme (Pair programming) : deux développeurs sur une même tâche (un code, l’autre observe/corrige)
  • Propriété collective du code : tout le monde peut modifier n’importe quelle partie du système
  • Semaines de travail durables : éviter le crunch pour préserver la qualité et la santé de l’équipe
  • Métaphore système : une histoire simple partagée pour expliquer l’architecture (ancêtre des user stories)

Limites

  • Exige une forte discipline technique et une culture d’équipe mature
  • Peut sembler « extrême » (d’où le nom) pour les organisations peu habituées à l’agilité technique
  • Moins adapté aux équipes très distribuées ou aux projets où le code n’est pas le cœur (ex. : pure stratégie marketing)

Synonymes / termes associés

  • Programmation extrême
  • Méthode XP
  • Agile technique
  • Ingénierie agile
Les contenus de définition restent publics. Les ressources (outils, grilles, supports) liées à cette fiche sont disponibles dans l’espace membre.