De scrum à kanban
Wednesday, December 21st, 2011Ou comment gérer agilement une équipe transverse
J’avais déjà posté par le passé une description de ma mission actuelle, et où j’expliquais les rôles d’une équipe transverse, et surtout la difficulté d’y appliquer un outil de type scrum.
Pour rappel, l’équipe est multi-tâches, multi-projets, avec une assez forte activité de maintenance, d’assistance et de suivi.
Mon client ayant gagné en grade et en responsabilités, s’est déchargé sur moi de son rôle de scrummaster. J’ai essayé tant bien que mal d’appliquer un scrum plus rigoureux, plus proche de la théorie telle que définie ici.
Les limites et écueils sont apparus assez vite :
- Le product owner n’est pas identifié.
- Des demandes d’assistances, nombreuses et ultra-prioritaires par rapport au reste.
- Cette indisponibilité, estimée à 50% du temps de travail de toute l’équipe, est très variable d’une itération à une autre, et empêche les calculs de vélocité et de prédictibilité.
- Ces demandes d’assistance, si on les prenait en compte pour l’établissement du burndown chart, on obtiendrait quelque chose d’assez « sinusoidal », puisque les taches “d’urgence” non planifiées s’ajoutent à ce qui était planifié.
Last but not least, scrum est un outil demandant un minimum de rigueur (attention, j’ai dit rigueur, pas rigidité, ça reste une méthode agile !) Les participants doivent mettre un peu de bonne volonté pour que cela fonctionne, et il reste (et restera) toujours des « agilosceptiques ».
Scrum, tout n’est pas à jeter :
- Le daily-meeting du matin, ça doit rester !
- La rétrospective, ça doit rester !
- Les démonstrations, s’il y a lieu, ça doit rester !
- Un graphe, ou quoi que ce soit qui reflète le travail de l’équipe, doit rester !
- Le couplage avec un outil de workflow (type Redmine) pour historier, doit rester !
A partir de cette constatation, il est évident qu’une approche plus « adaptative » et moins « normative » que Scrum doit répondre aux besoins de l’équipe.
C’est tout naturellement qu’une migration vers KanBan s’est imposée.
Kanban : c’est quoi ?
Un bon lien valant mieux qu’un long discours, Voici là dedans tout ce qu’il faut savoir sur kanban.
En synthétisant ce qui nous intéresse :
- Kanban signifie en japonais « étiquette ».
- Le cycle itératif devient optionnel (!).
- L’efficacité d’une équipe se mesure en « temps de cycle » .
- Le « kanban board » est plus profond et plus élaboré qu’un scrumboard.
- Le board n’est plus réinitialisé, cela devient un tableau perpétuel.
- Kanban conseille très fortement la limitation du WIP (pour work in progress), c’est-à-dire la limitation de tickets dans une colonne donnée.
Kanban reste, et c’est cela le principal, un outil empirique : à l’équipe de l’adapter à son contexte et de se l’approprier.
Comment j’ai procédé.
Toutes les décisions ont été prises conjointement avec l’équipe, il est nécessaire qu’une adhésion, sinon une absence de réticence des participants existe pour rendre l’outil opérationnel
Les étiquettes
Sur les post-its doivent figurer :
- Un résumé de la tache à faire
- Une estimation (en heures) de la durée de résolution. Cela est du à un couplage avec un outil de workflow (redmine) imposé par le client
- Le thème ou le projet auquel la tache se réfère
- La priorité
- La ou les personnes assignées
Le board
Pour faire un bon KanBan board, il faut :
- Un mur large.
- Du scotch de couleur (on en trouve aux stands « tout à un euro » des marchés).
- Des ciseaux.
- Des gros feutres de couleurs
- Des post-its de couleurs.
- Des gommettes.
- Premièrement, définir les colonnes.
Pour notre activité, nous avons gardé le triptyque « todo, doing, done », auquel nous avons rajouté « pursue » (accompagnement).
Puis nous avons subdivisé chaque colonne :- Todo : c’est les tâches à faire
- Selected backlog : taches du backlog (notez la suppression du complément « product ») à exécuter dans les prochains temps
- Urgently : taches prioritaires, à finaliser d’urgence, au moins pour le sprint en cours
- Doing : tâches en cours
- In progress : développées actuellement
- Peer review : revue par les pairs, avec retour critique, que nous essayons de systématiser
- Test : taches testées fonctionnellement après développement
- Blocked : nécessite l’intervention d’une équipe externe
- Pursue : tâches “d’accompagnement”
- Follow up : suivi d’une tache (par exemple le monitoring lors de la montée en charge d’un serveur)
- Acceptance test : Lorsqu’il est demandée à une équipe de faire une recette.
- Done : tâches finies
- Closed : tache commitée, close.
- Delivered : tache livrée et utilisée.
- Todo : c’est les tâches à faire
- Deuxièmement, définir les limites du WIP
Nous avons matérialisé cela par un scotch noir et large au bout de chaque colonne. Aucun post-it ne doit sortir de la zone délimitée.
- Troisièmement, élaborer les post-its.
La couleur des post-its définit le thème, le projet…
La gommette de couleur définit la priorité. L’intérêt est de pouvoir en changer lorsqu’une tâche devient plus urgente
Les autres informations sont simplement écrites dessus.
- Quatrièmement, expliquer et accompagner.
D’où l’intérêt d’engager l’équipe, de faire en sorte que l’équipe propose des évolutions / améliorations de manière collective.
En pratique cela donne ça :

Les cycles.
Nous avons gardé les anciens sprints de trois semaines, rythmés par les réunions de rétrospective et de démonstrations.
En ce qui concerne les planifications des taches, pour l’instant ce n’est pas encore très clair :
Doit-on alimenter la colonne « Todo » au fil de l’eau ? Quand recentrer les priorités ? Doit-on faire des réunions de planning de manière régulière ou des que le besoin s’en fait ressentir ?
Pour l’instant, ce qui a été retenu, ça serait l’alimentation au fil de l’eau, avec une réunion de planif en même temps que les autres, de sorte qu’on garde le burndown chart. On garde par la même un des intérêts qu’offrait scrum, c’est-à-dire un but à atteindre, une motivation engendrée par le fait qu’au bout du sprint, le graphe doit être à zéro.
Et maintenant ?
Les réunions de rétrospective à venir affineront et adapteront plus au contexte de l’équipe l’outil. Les tailles des zones WIP changeront probablement, des colonnes vont peut-être être supprimées, d’autres créées. L’équipe saura sûrement comment faire des planifications plus efficaces… Je ne manquerai pas de faire un retour d’ici quelques itérations.
Mise à jour 1
Entre le moment où j’ai écrit ce post et le moment où il a été publié, une première rétrospective s’est passée.
Voici la liste des ajustements faits par l’équipe :
Sur le tableau :
Les colonnes « urgently », « test » et « acceptance test » disparaissent. Avant de crier au scandale, il faut noter que :
« acceptance test » était la colonne signifiant qu’une recette était à faire par l’équipe. Cela arrive au final assez rarement, et cela s’apparente beaucoup à du suivi.
« test » devient caduque du fait qu’on pratique (tant bien que mal) la TDD, et qu’on essaie de systématiser les peer reviews.
« urgently » disparaît, la priorité des post-its peut se trouver sur les tickets
Sur les post-its :
On s’est très vite aperçus que trop de couleurs nuisent à la lisibilité. Si les thèmes des tickets restent définis par les couleurs de post-its, leur priorité n’est plus définie par la couleur des gommettes, mais par leur nombre.
Sur les planifications :
Les réunions de planification resteront et marqueront les début de sprints, à l’image de ce qui se fait en scrum. On essaiera de limiter la venue de tickets TODO au fil de l’eau, sans pour autant l’interdire.
Ce que cela donne :
A part cela, l’équipe a pour l’instant bien adhéré à l’outil.










L’Agilité est aujourd’hui reconnue comme l’une des solutions incontournables pour conférer aux entreprises la maîtrise et la souplesse nécessaire à la création de valeur.
French Scrum User Group
Agile Alliance
Valtech
planet Valtech
