revue de code.
Lorsqu’un développeur a fini son développement, le code peut être revu par d'autres membres de l'équipe. Cette revue peut être réalisée en revue collective, ou plus simplement en revue par un pair (en synchrone, c'est à dire à deux devant l'écran, ou asynchrone, en utilisant un outil adapté).
Le bout de code de la fonctionnalité est développé dans un premier temps en local sur une seule machine. Puis, ce fragment est diffusé sur une base de code partagée avec les autres membres de l’équipe. De là nous pouvons constater que le bout de code fonctionne sur plusieurs machines.
C’est généralement une des DoD - “Definition of Done”, c’est-à-dire les règles qu’on se donne collectivement pour autoriser un ticket à passer d’une colonne à une autre, et qu’on affiche sur le board - pour passer dans la colonne “EN REVUE”, la fonctionnalité, ce bout de code, est maintenant partagé et visible de “tous”.
Il y a plusieurs objectifs dans cette démarche, la revue de code permet de :
En Scrumban, nous intégrons un maximum de choses au fil de l’eau. Et, comme pour la revue de code, plus un défaut est détecté tôt, plus il est rapide à corriger.
Donc la deuxième colonne qu’on va vouloir ajouter c’est la recette du PO au cours de l’itération. Là où la revue de code servira à détecter les défauts techniques, la recette PO permettra d’identifier les bugs fonctionnels sur l’US.
Le PO va donc valider les tests d’acceptances des différentes US dès que les développements et revues de codes seront terminés et que la fonctionnalité sera déployée sur la plateforme prévue à cet effet.
Si le PO détecte un bug pendant sa recette, il bloque le ticket, signalant à l’équipe qu’il y a une correction à faire en priorité. S’il s’agit d’un cas de test oublié lors de la rédaction de l’US, généralement la pratique est de créer un autre ticket qui sera priorisé par le PO.
Recetter au fil de l’eau apporte un énorme avantage en terme de réactivité.
D’une part, le développeur corrige plus facilement un bug si le contexte est encore frais dans sa tête. Par ailleurs, si la recette n’est faite que toutes les deux semaines, cela allonge le délai de correction des bugs pouvant aller jusqu'à plusieurs itérations (pour imager à IT N : détection du bug, IT N+1 : Correction du bug, IT N+2 : Recette de la correction).
En Scrum, le board est dédié à ce qui se passe pendant l’itération. L’intention est de se concentrer sur le coeur du développement.
Le cycle de vie des User Stories en amont de l’itération (“en cours de rédaction”, “prêt à développer” etc) est donc géré par le PO et n’est pas visible par le reste de l’équipe.
Voici un exemple simple de board Scrumban :
Cette - appelée aussi “Cadrage” dans certaines équipes - phase rend visible le processus de conception des itérations à venir et ainsi le stock d’US prêtes à rentrer dans la phase de développement.
L’ensemble des critères sur lesquels l’équipe s’accorde pour décider qu’une US est prête s’appelle le DoR, ou “Definition of Ready”.
En sortie de phase de conception, par exemple de mise en pratique, les US sont :
Les colonnes de la phase de conception vont formaliser les étapes nécessaires pour satisfaire le DOR. L’état d’avancement est visible pour toute l’équipe.
Toutes les équipes ont leur propre façon de fonctionner. On peut trouver des étapes variées selon les équipes car les contextes de projet sont différents et elles ont chacune leur façon de travailler. Ce workflow peut parfois être complexe.
Ici, “En développement”, “à revoir” et “à tester”, soit :
Lorsque l’US sort du Sprint, il peut arriver qu’on fasse une recette externe indépendante du rythme des sprints. Une fois validée et terminée nous pouvons procéder au déploiement en production de l’application.
Il est sans doute important de préciser ici que si l’un des incréments du sprint terminé est “défectueux” il coûtera plus cher à être corrigé que pendant la recette PO au fil de l’eau.
L’essentiel sur la façon de construire un board est qu’il correspond à la façon de faire de l’équipe, que tous les membres soient d’accord sur le processus et surtout sur les conditions pour passer d’une étape à la suivante. Si l’équipe qui change le board est susceptible de changer, si l’équipe évolue, le board est susceptible d’évoluer également.
Vous êtes sorti de la logique par tâches pour visualiser plus simplement le flux des User Story. Puis vous avez enrichi le classique "Todo-Doing-Done" pour détailler votre process. Enfin, vous avez élargi le board pour rendre visible les activités en dehors de l'itération.
L'équipe a ainsi réalisé les premières étapes pour passer de Scrum au Scrumban en adaptant le management visuel.
Ensuite ? Scrum propose un rythme itératif très précis et cadré. Le prochain article abordera cette thématique et les ajustements possibles avec Scrumban.