Écrire sur les murs
Lors d’une réunion Extreme Programming (XP) à Paris, nous avons pu participer en avant première à un tutorial présenté quelques temps plus tard à la conférence Agile 2006. Le sujet était « Ecrire sur les murs » , un des sujets polémiques d’XP. Pourquoi polémique ? Car il est difficile aujourd’hui de faire comprendre aux gens que des outils aussi simplistes que le papier et le crayon peuvent avoir un impact plus important que les outils électroniques comme Microsoft Office.
Un radiateur d’information est l’affichage d’informations sur un mur afin que tout le monde puisse voir l’information en un coup d’œil. Pas besoin d’ouvrir un mail perdu ou un document Word planqué au fin fond d’un répertoire réseau que de toute façon personne ne regarde car l’écran est trop petit pour afficher correctement le document. L’information est visible sans devoir la chercher.
Ce workshop avait pour but de présenter différents types d’informations que peuvent contenir ces radiateurs d’informations.
Taskboard
Le plus classique est l’affichage de la progression de l’itération. En XP, le projet est coupé en itérations fixes d’une durée de une à trois semaines selon les projets et chaque fonctionnalité est écrite sur une fiche bristol ou, dans notre cas, sur un post it.
L’information à disposer en permanence sous les yeux est donc l’avancement de l’itération en cours. C’est ce que l’on peut voir sur l’image suivante où les 3 colonnes contiennent les fonctionnalités « À faire », « En cours » et « Fait ».

Evidement, un des avantages de ce mur est qu’il est très facile de maintenir les informations à jour, lorsqu’une tâche est faite, il suffit de la déplacer d’une colonne à une autre. Tout le monde voit l’avancement de l’itération et sait donc si tout se passe bien ou pas.
PPP: Project Progress Poster
Le 2ème système propose d’afficher la planification pour les N itérations du projet, le but étant d’avoir une vision plus globale du projet et de son avancement.
Sur l’imagine suivante on voit les 6 itérations que comporte le projet avec les différentes fonctionnalités implémentées ou à implémenter. On remarque que la colonne 3 est vide ; c’est normal car c’est l’itération en cours, les post-it ont donc été déplacés sur le mur précédent. On voit en un coup d’œil où l’on en est dans le projet et ce qu’il reste à faire et si cela rentre.

Le dessin en rouge en bas à droite de l’image est un autre type d’information qui a été fait après le workshop. Le but est de dessiner un tableau avec différents critères pour le projet et de laisser le client mettre des croix comme il le souhaite en sachant que plus la croix est à droite, plus le critère est important. La seule contrainte pour le client est qu’il ne peut pas mettre 2 croix dans la même colonne (le tableau de l’image est buggé). Le but de ce tableau est de faire comprendre au client qu’il faut faire des choix et que l’on ne peut pas tout avoir ; mettre la qualité en avant augmente forcement les délais. C’est le client qui choisit pour son projet ce qu’il veut mettre en avant.
BDC: Burn Down Chart

Le dernier type de dessin sur les murs de ce tutorial est le Burn Down Chart. C’est un graphe qui représente la progression du projet dans le temps. En abscisse, on retrouve les itérations et en ordonné on peut soit afficher la valeur restante au projet (c’est-à-dire la somme des valeurs de chaque fonctionnalité restant à implémenter) ou alors la somme des valeurs réalisées depuis le début du projet (courbe montante). Dans le premier cas, la courbe descend jusqu’à atteindre le 0 (on a fini le projet). Ce genre de graphe est très intéressant car montre comment évolue le projet dans le temps. Il permet de détecter les ralentissements de production ou tout autres anomalies. Lors de la planification en XP, on a tendance à développer en premier lieu les fonctionnalités qui apportent le plus de valeur le plus rapidement. Forcement à la fin du projet, il ne reste plus que des fonctionnalités longues à développer et qui n’apportent pas beaucoup de valeur. La courbe va présenter de façon visuelle ce choix ; Plus le projet avancera et moins il y aura de valeur ajoutée en une itération et donc plus la courbe sera plate.
Une variante de ce graphe consiste à utiliser l’axe des ordonnées la valeur réalisée pour chaque itération (et non pas la somme). On pourrait imaginer que cette courbe sera stable au court du projet mais en réalité ce n’est jamais le cas. Ce graphe permet alors de détecter rapidement un problème, pourquoi a-t-on fait moins de valeur dans cette itération que d’habitude ? Ca peut être pour des centaines de raisons ; l’arrivée d’un nouveau, la fatigue de l’équipe, les tâches annexes qui prennent de plus en plus de temps (code difficile à maintenir et faire évoluer)… La courbe peut aussi monter ce qui signifie que l’équipe avance plus vite et donc que le projet pourra finir plus tôt ou que l’on pourra implémenter plus de fonctionnalités.
Il existe beaucoup d’autres types d’autres informations que l’on peut afficher sur les murs, voici quelques photos prisent dans des projets réels.
Si vous avez aimé ce ticket, jetez un oeil à ceux-çi:
- Pragmatique quand tu nous tiens !
- Désactiver le user breakpoint sur le F12
- Marre de travailler avec des incompétents ?
- Pair Programming sur Internet
- Jeux vidéo libres