Les pratiques XP dans un système basé sur le flux — échanger les itérations contre la livraison continue.
XP utilisait à l'origine des itérations — une ou deux semaines de travail planifié, puis une démo et une session de planification. Kanban utilise un flux continu : les éléments de travail traversent le système un à la fois, sans lots fixes.
Ces approches ne sont pas incompatibles. Les pratiques fondamentales d'XP fonctionnent avec n'importe quel système de flux.
Ce qui change :
Ce qui reste identique :
Les pratiques techniques sont indépendantes de la façon dont vous organisez le travail.
Les pratiques d'ingénierie d'XP sont agnostiques à votre approche de planification. Le TDD ne se soucie pas de savoir si vous faites des sprints ou du flux.
La pratique signature de Kanban est les limites WIP : limiter la quantité de travail en cours à la fois.
Cela s'aligne avec les principes XP :
Concentration : Les limites WIP empêchent le changement de contexte. XP valorise la concentration (rythme soutenable, binômage pour un travail approfondi).
Flux : Limiter le WIP crée du flux. Les petites versions et l'IC d'XP créent également du flux.
Qualité : Moins de WIP signifie moins de précipitation. L'accent mis par XP sur la qualité bénéficie d'une pression réduite.
Terminer ce que vous commencez : Kanban et XP favorisent tous deux la finition plutôt que le démarrage. Ne commencez pas de nouveau travail quand le travail existant peut être complété.
Binômage et WIP : Si vous programmez en binôme, le WIP est naturellement limité. Deux personnes sur un élément signifie moins d'éléments en cours.
La synergie est forte. Les contraintes de Kanban complètent l'accent mis par XP sur la qualité et la finition.
Kanban pousse vers la livraison continue : chaque élément complété est potentiellement livrable. Les pratiques d'XP rendent cela possible.
Pourquoi XP permet la livraison continue :
Kanban sans les pratiques XP a du mal à atteindre la livraison continue. Sans tests, vous ne pouvez pas être confiant que les choses fonctionnent. Sans IC, l'intégration est incertaine. Sans conception simple, les versions sont complexes.
Ensemble : Kanban dit « livrez en continu ». XP dit « voici comment ».
Les éléments de travail circulent à travers le tableau : Backlog → En cours → Révision → Terminé. Les développeurs travaillent en binôme sur les éléments, écrivent les tests en premier, intègrent en continu. Quand un élément atteint Terminé, il est déployé immédiatement. Le WIP est limité à 3 éléments en cours.
Une équipe utilise un tableau Kanban mais n'a pas de tests, pas de binômage et pas d'IC. Les éléments se déplacent à travers le tableau mais la qualité est médiocre. « Terminé » ne signifie pas déployable — cela signifie « nous pensons que ça fonctionne ».
ScrumBan combine Scrum, Kanban et (souvent implicitement) XP :
De Scrum :
De Kanban :
D'XP :
Cet hybride fonctionne bien pour les équipes qui veulent de la structure (Scrum) avec du flux (Kanban) et de la qualité (XP).
L'étiquette importe moins que les pratiques. Utilisez ce qui fonctionne ; abandonnez ce qui ne fonctionne pas.
Quand utiliser XP avec des itérations (style Scrum) :
Quand utiliser XP avec du flux (style Kanban) :
Les deux approches fonctionnent avec les pratiques XP. Les pratiques restent ; l'enveloppe organisationnelle change.
Beaucoup d'équipes évoluent de Scrum vers Kanban à mesure qu'elles mûrissent. Les itérations fournissent des roues d'entraînement. Le flux est le niveau supérieur. Mais il n'y a rien de mal à rester avec les itérations si elles fonctionnent pour vous.
Si vous n'êtes pas sûr, commencez avec des itérations. La structure aide les équipes à apprendre. Vous pouvez toujours passer au flux plus tard à mesure que vous mûrissez.