Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du sprint?
À maintes reprises ces derniers mois, j’ai dû répondre à la question qui tracasse beaucoup d’équipes et de Product Owner (PO) lorsqu’ils viennet d’échouer une ou plusieurs stories :
Faut-il réestimer les stories refusées lorsqu’on les prend dans l’engagement du sprint suivant?
Je demande alors ce qui fait sens pour eux. Quelle information tirent-ils de l’estimation d’une storie? Qu’est-ce qui serait le plus pertinent pour réussir le prochain sprint puisque le dernier vient d’échouer?
Les réponses varient bien évidemment, mais le plus important est alors de déclencher avec l’équipe une conversation autour de la notion de vélocité1, de son utilité, de son utilisation. Cette discussion ne fait pas l’objet du billet d’aujourd’hui mais j’y reviendrai éventuellement (au sens québécois du terme
) dans un prochain billet.

L'allure générale du burndown va varier en fonction de votre façon de gérer les stories échouées à la fin d'un sprint
Aujourd’hui je souhaite principalement partager ma pratique actuelle. Je dis actuelle car ma réflexion et ma préconisation ont évolué au cours du temps.
Actuellement, au moment de la planification d’un sprint, je préconise à l’équipe de réestimer les stories et de mettre à jour le backlog pour refléter l’effort nouvellement évalué. Cette façon de faire à les effets suivants :
- lisser la vélocité,
- réduire le volume global du backlog, (sur l’instant bien entendu car j’exclus ici la création de story ou la réévaluation de story précédemment estimées, etc),
- perdre l’historique de l’effort initialement estimé pour la story.
Dans le passé, je ne réestimais pas les stories au moment du sprint, l’équipe évaluait ou plutôt devrais-je dire pariait, comme pour un premier sprint, sur le ‘volume’ des stories qu’elle pensait être capable de réaliser. Cette façon de faire avait les effets suivants :
- générer des fluctuations parfois importantes de la vélocité, pour finalement calculer une moyenne sur le long terme,
- rendre l’engagement très aléatoire, l’équipe n’avait pas de repère (vélocité précédente) et pariait sur un engagement, comme lors d’un tout premier sprint,
- conserver le volume du backlog tel qu’initialement estimé (sans faire entrer ici d’autres considérations telles que la réestimation des stories déjà estimées au cours des planifications de release précédentes, la division d’une story en plusieurs, la création de stories,…),
- maintenir l’historique de l’effort estimé pour la story.
J’ai aussi vu une troisième méthode qui consistait à réestimer ‘oralement’ le reste-à-faire (en story points), mais sans mettre à jour le backlog. Cela permettait de prendre un engagement raisonnable car il incluait le nouvel effort estimé, mais l’engagement affiché était lui très généreux, reprenant l’effort estimé au sprint passé et non mis à jour!
Comme je vous le disais plus tôt la discussion autour de la notion de vélocité était intéressante. Pourquoi réestimer sans mettre le backlog à jour? Mystère! Un bon sujet pour un prochain billet.
Afin de partager vos pratiques, je vous propose de répondre au sondage suivant. Et surtout n’hésitez pas à partager votre expérience en laissant un commentaire.
Comment gérez-vous les stories refusées par le PO lors de planification du sprint suivant?
- Je réestime et réajuste le pointage au backlog et je m'engage par rapport à ma vélocité connue (57%, 27 Votes)
- Je ne réestime pas les stories et je 'parie' sur l'engagement (15%, 7 Votes)
- Je réestime "oralement" pour maîtriser l'engagement mais je garde le pointage inchangé au backlog (13%, 6 Votes)
- J'utilise une autre méthode (15%, 4 Votes)
Total Voters: 47
- La vélocité d’une équipe est le nombre story points du backlog brûlés pendant un sprint ↩

{: Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du sprint? http://bit.ly/9T0pDM
a écrit: Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du spr… http://bit.ly/9YQH7N #agile #scrum
RT @pyxistech: {: Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du sprint? http://bit.ly/9T0pDM
Je ne suis pas sur de comprendre comment on réestime : si j’ai une storie à 5 pts qui n’a pas pu être finie, je m’attribue (par exemple) 3 pts sur le sprint qui vient de finir et j’estime à 2 pts ce qui reste à faire sur cette storie dans le sprint suivant ?
Bonjour Sylvain,
Selon ce que tu choisis de faire ce que tu proposes peut-être une option.
Pour ma part, je propose et préconise aux équipes que j’accompagne, de réestimer à 2 points pour le sprint suivant. Car ce qui nous intéresse, c’est de connaître le volume de backlog qu’il nous reste à faire. Les 3 points que tu attribuais, dans ton exemple, au sprint qui vient de finir sont “perdus” en quelque sorte.
Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du sprint? http://j.mp/9vlAaJ #agile
J’aime bien les posts qui me force à réfléchir
“Les 3 points … au sprint qui vient de finir sont “perdus”"
Alors comment évaluer la vélocité de l’équipe?
Exemple :
Sprint 1 : 10 points NOT DONE == 0 points
Sprint 2 : 5 points (ré-estimation des Stories du sprint 1) + 6 “Nouveaux” points
Donc l’estimation de la vélocité est 11 points, mais en réalité, elle est de 15.
Hmmmm….
Personnellement, je n’aime pas les ré-estimation inutile.
Dans le cas où une storie est refusée, ou non-terminée. Elle retourne dans le carnet de produit (avec une note de ce qui est fait) et est traitée comme toutes les autres stories. Oui, ça amène des fluctuations, mais je ne voudrais pas cacher ces fluctuations par un lissage. J’aime bien me souvenir de mes erreurs et d’apprendre de celles-ci
De plus, avec un carnet de produit en santé, les stories du haut devraient être assez petite (1-5), donc possiblement une plus petite fluctuation.
@Éric, en considérant que la vélocité est le nombre de points “brûlés” en un sprint par une équipe, dans ton exemple, je lis :
Sprint 1 : vélocité = 0
Sprint 2 : vélocité = 11 (en considérant qu’à la fin du sprint tout les points seront acceptés : les 11 points sont DONE)
L’équipe a réellement travaillée pour un effort de 11 points dans le sprint 2.
Si on parle de vélocité moyenne, alors oui, le fait de ‘perdre’ des points à un impact, et dans ce cas il est intéressant de considérer que la vélocité est 15 (ou 16
) pour obtenir une moyenne cohérente sur la durée.
Dans le cas de la vélocité ‘instantanée’, la pertinence n’est plus là. Toujours dans ton exemple, l’équipe estime un effort au sprint 1 et ne livre pas cette effort, il manque peut-être un seul test dans chaque story, mais aucune n’est DONE. Lors du sprint 2, l’effort demandé à l’équipe n’est plus le même pour terminer les stories, il est bien moindre, alors pourquoi leur donner une fausse illusion d’être capable de faire beaucoup de points et de leur allouer des points pour un effort qui n’est pas présent à ce sprint. On s’intéresse à l’avenir, pas au passé.
J’ai aussi remarqué une chose qui m’incite à utiliser la méthode de la réestimation : les équipes, lorsqu’elles débutent se lancent souvent dans une course aux points. Le fait de ne pas leur accorder des points du passé permet de limiter cet effet.
@François, je suis d’accord avec toi qu’il est bon de se souvenir de ses erreurs et d’apprendre de celle-ci, mais une fois la rétrospective passée et les actions de correction posées ou (planifiées au backlog) le fait de garder les points n’a plus beaucoup de valeur pour l’équipe.
Le seul cas dans lequel je vois ça utile est lorsque tu effectues des mesures (COSMIC par exemple) sur le projet ou que tu as besoin à postériori de connaître la taille des éléments du backlog.
Comment gérez-vous les stories refusées par le PO lors de planification du sprint suivant?Partagez vos méthodes http://bit.ly/a2ABcr
[...] Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du sprint?. N’hésitez pas à voter, votre avis m’intéresse [...]
[...] Faut-il réestimer les stories non terminées ou celles refusées par le PO à la fin du sprint? [...]