Pratiques Agiles Standards : Jeux de priorisation et d'estimation
PLAN
Jeux de priorisation et d'estimation
Certains modèles d’estimation Agiles sont dérivés des
approches classiques (traités rapidement en annexe) et d’autres, entièrement
nouveaux, ont émergé de l’expérience des projets réalisés en approches Agiles.
Personnellement, j’utilise presque systématiquement deux
techniques complémentaires d’estimation :
§Dans un premier temps, lorsque je dispose d’un minimum
d’informations modélisées, je réalise une première évaluation sur la base
d’outils légers comme l’Evaluateur RAD ou l’Evaluateur de points de cas
d’utilisation.
§Ensuite j’organise un
Planning poker avec l’équipe de développement au complet, incluant
l’utilisateur qui devra répondre aux demandes d’informations complémentaires.
Note : les deux outils classiques sont
disponibles sur RAD.fr. Le plus léger
EvalPUC (nécessite .NET), dispose d’un paramétrage exceptionnel des
conditions réelles d’un projet SI/NTIC et
se base sur la métrique des Points de Cas
d’Utilisation. L’autre,
Evaluateur, dispose d’un paramétrage exceptionnel des
conditions réelles d’un projet SI/NTIC.
Figure 30. — Deux formes d’estimations complémentaires
Note : les cartes de Planning Poker sont disponibles en
format pdf (recto/verso) sur mon blog : http://agiles.blog.com
Il suffit de les imprimer sur un support rigide puis de les « massicoter ».
Le jeu de Planning poker
Le Planning Poker permet à une équipe d’estimer la charge de
développement d’une fonctionnalité. Les concepts d’origine se
trouvent sur CRISP[1]
mais comme j’aime beaucoup les illustrations à base de pingouins de Yannick
Quenec'hdu je me suis donc permis de lui offrir cette espace et le référencement en bas de page.
Cas d’une estimation sans carte
L’objectif étant de déterminer le temps de développement
d’une fonctionnalité X, vous réunissez l’équipe chargée du travail (de 5
personnes pour l’exemple). Vous posez la question « combien de temps pour
développer la fonctionnalité X ? »
Le développeur A évalue
le travail à 5 jours alors que B et E ont une estimation beaucoup moins
optimiste. Les acteurs C et D pour diverses raisons ne participent pas
activement. Bref, c’est A qui annonce en premier « 5 jours ». Cas de
figure classique, l’équipe est influencée par la première personne ayant
exprimé un avis. Le risque d’erreur devient important, car B et E avaient
envisagé cette fonction comme plus complexe et demandant plus de temps de
développement.
Note : il est
possible d’imaginer qu’une autre personne ait pu penser connaître une solution
permettant la réalisation en une seule journée et qu’elle se soit alors
abstenue. La déperdition d’informations utiles était alors considérable.
Estimation avec carte
Pour résoudre ces problèmes classiques, vous distribuez à
chacun un jeu de cartes prévu à cet effet.
Les cartes sont basées en partie sur la suite de Fibonacci
mais quelques cartes méritent une explication :
§la carte « 0 » représente une fonction qui est déjà
implémentée ;
§la carte « ? » indique que vous n’avez vraiment aucune
idée sur la question ;
§la carte « café » est un joker pour signaler que vous
souhaitez faire une pause.
L’unité n’est pas le nombre de jours / homme, mais une unité
arbitraire.
Note : personnellement,
je conseille d’utiliser une référence compréhensible :
l’ « idéal day » qui a l’avantage de permettre de transformer
aisément l’estimation Agile en valeurs utilisables dans un outil classique
(comme MS Project par exemple), si un reporting standard est imposé par un
comité de pilotage.
Première étape du Planning poker
Vous posez la question « combien de temps pour
développer la fonctionnalité X ? » et vous donnez, éventuellement, un
timing maximum pour la réponse (un sablier est utile dans ce cas).
Dans le cas
de fonctionnalités importantes, il peut être possible de demander un complément
d’information au « client sur site ».
Lorsque l’ensemble des participants informe qu’il a fixé son
estimation, le meneur de jeu demande d’abattre les cartes. Cette fois-ci C et D
sont obligés de participer et le résultat du premier vote est alors commenté
par l’équipe.
Nous observons alors qu’entre A et C, une discussion
s’impose. A la suite de quoi A réalise, par exemple, qu’il a omis de prendre en
considération certains éléments et C réalise grâce à A qu’il est possible de
réaliser plus simplement qu’il le pensait la fonctionnalité en question.
Seconde étape du Planning poker
Après avoir débattu, toute l’équipe refait une estimation.
A ce point, un consensus est généralement obtenu.
Dans de nombreux cas, les estimations convergent au second
tour.
Sinon, le processus peut être répété ou bien l’on procède à
une moyenne arithmétique des évaluations.
Une estimation ne nécessite pas une précision absolue, mais
raisonnable.
Note : j’ai encore
récemment initié des estimations en Planning poker game dans plusieurs grands
comptes, dont des groupes du CAC40. Je peux vous assurer que non seulement cela
fonctionne dès la barrière du changement franchie, mais qu’en plus les
participants apprécient la responsabilité qui leur est confiée et se sentent
engagés par leur estimation.
Autres formes d’estimations
Une technique propre à UML comme les Points
de Cas d’Utilisation (Use Cases Points Figure 30) peut aussi être envisagée. Un
Cas d’Utilisation modéliseun
service. Il représente un ensemble de séquences[2].
Les Points de récit (Story
points) peuvent ainsi être utilisés comme unité de mesure
exprimant la taille globale, la complexité et les risques d’un récit
d’utilisateur.
Les Points sont ensuite dérivés en planning
en appliquant la notion de vélocité (équivalent de la
productivité dans une équipe classique).
La vélocité réelle mesurée au cours des
premières itérations permettra immédiatement de réviser l’estimation et
d’affiner la planification.
[2]Comme il a déjà été précisé, le récit correspond
souvent et, seulement, à l'un des scénarios (nominal ou alternatif) du Cas
d’Utilisation, parfois à une simple activité utilisateur.
Ressources
Liens significatifs
Cartes
Note : lire à ce sujet Yannick Quenec'hdu
Le planning poker (sur OpenAgile.net)
-
-