Revoir l'effort après avoir réalisé la User Story

Bonjour, mon équipe et moi appliquons (tentons d’appliquer) la méthode Scrum à la lettre.
Mais tout n’est pas inclus dans le guide … :confused:

Pour chiffrer l’effort de nos US, nous utilisons la suite de Fib, que vous connaissez bien :stuck_out_tongue_winking_eye:

La question est la suivante : Est-ce intéressant de (doit-on) revoir l’effort attribué à des US « mal estimées » ? (Ha bah non c’était pas 2 c’était 13 … merde !)

J’ai posé la question en rétrospective et voici les différentes réponses de l’équipe :

  • Bien sur, on affinera notre vélocité comme cà !
  • Bah non, on s’en fiche c’est une moyenne, au final c’est a peu près bon, un coup c’est plus, un coup c’est moins !
  • Oui et quand l’US évolue, faut la rechiffrer tout le temps en mini planning Poker (hors Daily) !
  • Et si on passait au No Estimate ?
  • La rétro est bientôt finie ? :face_in_clouds:

Bon … voilà, on se pose la question et on aimerait avoir d’autres avis.

Merci d’avance :slight_smile:

Bonjour,

La première question que je poserais à l’équipe c’est « Que doit on faire des chiffres issus de notre estimation ? Va-t-on s’en servir au quotidien ? En fin de sprint ? En fin de trimestre ? Et si oui que souhaite-t-on tirer de ces chiffres ? Est-ce que ce que l’on veut tirer des chiffres va améliorer notre façon de travailler ? »

Être agile c’est interroger les pratiques ancrées dans des rites emphytéotiques, des croyances et tout ce qui nous répond « parce qu’on a toujours fait ça »

C’est peut être pour ça que c’est pas écrit dans le Scrum guide :stuck_out_tongue_winking_eye:

En gros, pour pas m’égarer non plus, demandez vous a quoi doit servir les estimations d’abord pour savoir si il faut réévaluer les points en cours de route ensuite

Bonjour Nicolas et merci pour la réponse. Pour aller plus loin, l’estimation nous sert à évaluer la fameuse valeur (évoquée par Scrum). En gros, notre valeur nous, on l’a estimé en €€€ (Gain - Effort). On a notre TJM donc on sait estimer combien d’€ vaut 1 point pour notre équipe.

En ce sens, je trouve que réestimer permet non seulement d’affiner la vélocité, mais aussi et SURTOUT la valeur qu’on livre, donc réévaluer la priorité de l’US aussi, etc.

On va voir à la prochaine rétro, que décide l’équipe. On se doit d’apporter une réponse à cette question …

J’imagine que vous travaillez avec des sprints fixes en terme de temps et vous avez une équipe stable. Du coup, en dehors de congés vous avez un tarif (coût) stabilisé par itération.
Cependant est ce que ce que vous livrez à la même valeur ?

La valeur de Scrum n’est pas le prix d’achat de l’incrément, c’est la valeur pour l’utilisateur final.

Tu parles je pense plus du retour sur investissement (ROI) qui serait plus le rapport de la valeur (business donc) sur le coût d’achat (effort)

Si tu souhaites en fait informer le client du retour sur investissement qu’il fait sur des demandes d’évolutions alors ça peut être judicieux de réévaluer l’effort réel

Mais dans ce cas j’aurais une question : pourquoi le faire en début de sprint quand l’incertitude est au max ? Fais le à la fin pour savoir quel est le temps passe réellement sur une feature. (Cette métrique dora s’appelle le temps de cycle d’ailleurs)

Je rejoins Nicolas, sur la confusion « classique » valeur/coût en planning.

Ce que vous faites c’est diviser la durée estimée de travail par la durée réelle du travail. Donc fondamentalement, vous êtes juste en train d’évaluer la précision de vos estimations. De plus, en triant le backlog par valeur et en commençant par l’item avec la plus haute valeur, vous ne faite que prioriser les sujets en commençant par les plus complexes, et non par les plus rentables.

Pour la valeur produite :

  • Soit on l’estime par différentes approches marketing / assurancielles ;
  • Soit on la mesure en production, bien après la fin de sprint.

Dans tous les cas, la valeur c’est plutôt une métrique par et pour le PO. Elle ne sert pas à mesurer la performance des développeurs par rapport à la peur traditionnelle d’avoir des devs incompétents ou oisifs. La valeur sert plutôt à déterminer si on leur donne à développer des fonctionnalités « bankables » ou inutiles à développer. De ce point de vue là, estimer la valeur en sprint planning est probablement la plus mauvaise pratique possible, mais aussi la plus courante :frowning:

Pour l’exercice, je t’invite à relire le scrum guide, et à rechercher le nombre d’occurrence des mots « estimation » ou « vélocité ».

Je prends sciemment ma posture d’expert, et non de coach ou facilitateur parfois.

Pour répondre simplement à la question "Est-ce intéressant de (doit-on) revoir l’effort attribué à des US « mal estimées » ? "

La réponse est non. Ca ne sert à rien, à part perdre plus de temps. Revoir l’effort d’un truc faux va le rendre encore plus faux, surtout si c’est fait plusieurs fois. Ca ne le rend pas « plus vrai » : au mieux vous allez perdre du temps, au pire vous allez fausser toutes vos metrics car vous changez inconsciemment votre manière d’estimer en équipe.

Ca, c’est pour vous donner une réponse de statisticien et physicien. Car toutes les réponses sont possibles à cette question. C’est à l’équipe de décider, au fond !

Et sur la question du NoEstimate : une manière simple d’y aller c’est le poker à 3 faces : 1 / Infini / ?
Ca marche très bien… Vu qu’au fond faire beaucoup d’estimations avec une équipe plutôt stable ça donne une gaussienne. Et ça vous permet d’arrêter de vous poser des questions sans réponse et d’aller de l’avant :wink:

Vous avez effectivement totalement raison. C’est bien le ROI qu’on cherche à calculer.

Pour être plus précis nos clients sont nos utilisateurs (on est un SI interne), le PO a donc deux données à sa disposition :

  • Le coût d’un point pour l’équipe (€)
  • Le gain apporté à l’entreprise (€) ← Valeur selon Scrum puisque notre client c’est bien notre propre boite finalement

Effectivement avec ces deux données, on en vient à calculer le ROI qui est utile (pas que ça) au PO à prioriser le product backlog.

Pour l’instant, ce ROI reste estimatif avant le début de l’itération (et même avant le sprint planning) peut être devrait-on donc reestimer pour le ROI « réel » …

Si je comprends bien ce que vous me dites (toi et @ArwynFr), on devrait se soucier uniquement du gain (valeur scrum) et non de l’effort pour AIDER à prioriser ?

Solliciter l’équipe pour une estimation de l’effort est faisable bien sûr, mais il ne sert à rien de chercher à chiffrer à l’euro près. Pour que ça ait du sens il faudrait aussi pouvoir estimer la valeur produite à l’euro près, et on sait tous qu’une telle affirmation relèverait de la prestidigitation (que ça soit pour l’effort ou la valeur).

Normalement, l’estimation de la valeur devrait être suffisante pour ordonner les items du backlog produit les plus prioritaires. On n’a pas vraiment besoin d’ordonner en permanence tout le backlog produit, ce qui est important c’est de savoir dire avec certitude quels sont les 3/4 premiers et dans quel ordre. Le PO a aussi le droit d’être incohérent avec les chiffres, et d’avoir des items qu’il préfère à d’autre pour des raisons qualitatives plutôt que quantitatives (par exemple pour privilégier l’image de marque ou la sécurité au chiffre d’affaire).

Si vraiment on a un doute et qu’on a vraiment 2 fonctionnalités au coude-à-coude qu’on ne sait pas trop ordonner, on peut effectivement essayer de les départager par niveau de complexité. Dans ce cas, il suffit de faire une estimation T-shirt sizing, voire même juste de demander à l’équipe laquelle semble moins compliquée à implémenter. Il n’y a pas de raison de faire ce travail de manière systématique.

Il est important de se rappeler que Scrum est conçu la base pour faire des fonctionnalités complexes et empiriques. On va donc se limiter à travailler sur une seule fonctionnalité pendant le sprint, pour laquelle on va faire un incrément utilisable qui sera plus ou moins un « prototype ». Ensuite on collecte du feedback utilisateur pour décider de ce qu’on fait après. On n’a donc pas besoin de savoir précisément si le plan initial nous prendra plutôt 68,5 ou 73,1 JH. De toutes façons, on va travailler un sprint dessus et il y a de fortes chances que l’implémentation soit très différente de ce qu’on avait imaginé au départ.

Pour paraphraser le général Von Molke, à la guerre, la première victime, c’est le plan.

Le focus sur l’estimation de l’effort de dev est une truc classique qu’on voit dans les équipes qui font du bourrage de sprint avec plein de petites stories. L’autre symptôme c’est le travail très parallélisé : chacun sa tâche et peu de coordination. Normalement en Scrum, toute l’équipe travaille ensemble pour faire marcher une grosse fonctionnalité complexe, qui nécessite les compétences de tous. C’est une mêlée, pas un parcours de golf.

Si chaque PBI est nettement plus petit que l’effort de toute l’équipe pendant un sprint, il faut essayer de voir à réduire l’équipe (si y’a pas trop de problème de compétences), ou réduire la durée du sprint (si y’a pas disproportion du processus de DOD). Ca peut aussi être que les PBI sont décrits trop fins, voire trop « spécifiés ». Et si vraiment l’équipe manipule plein de petits sujets indépendants, peut-être que Scrum n’est pas la meilleure méthode de travail.

Ca m’évoque plusieurs choses.

Il faut savoir avant de lire mon avis, que je ne suis pas un adepte du #NoEstimate qui vient souvent en réponse à ce genre de questions.

1° Questionner l’équipe sur le pourquoi le choix de la suite de Fibonacci.
=> faire ressortir l’idée que « plus c’est grand » moins ça a du sens de vouloir être précis

2° Questionner l’équipe sur le pourquoi le choix de points d’efforts « sans unité » (heures, newton, euro, …-
=> faire ressortir l’idée que c’est une échelle relative, relative à l’effort fourni par la même équipe, pour les US précédentes, dans le même contexte. (si on change une de ces « constantes » alors l’échelle relative n’a plus de sens, il faut la recommencer)

3° Questionner l’équipe sur le pourquoi des valeurs numériques ?
==> le tshirt sizing OU une échelle encore plus floue ( Montagne-Rocher-Pierre-Caillou-poussière) est tout à fait utilisable.

4° et puis (finir ou commencer) par « pourquoi on estime ? »
perso, ca semble avoir du sens de commencer par le pourquoi, mais je serai plus enclin de faire entorse à cette règle pour laisser l’équipe abattre ses cartes sur les 3 premières questions, SAUF s’ils abordent d’eux-mêmes cette question du « pourquoi ».
Pas pour les « piéger » mais leur mettre en évidence qu’on fait parfois par habitude, et que le « pourquoi » s’est perdu voir déformé avec le temps.

On estime, pour provoquer une discussion dans l’équipe, si 2 membres ont des estimations très différentes, c’est qu’il a besoin de redéfinir.
On estime, pour éviter le gaspillage, pourquoi charger la barque d’un sprint au delà de ce qu’on a pu fournir comme effort les sprints précédents.

On estime pour se donner un indicateur d’évolution

C’est plus de dire qu’on quantize par le coût d’un sprint : chaque fonctionnalité coûte au minimum un sprint. Et ça on sait dire le prix au centime près. Pour ce prix là, tout n’est pas forcément terminé, mais on garantit la livraison d’un prototype utilisable. Et donc on peut passer d’un ROI estimé à un ROI mesuré.

C’est là qu’on bascule dans l’empirisme.

Ensuite savoir à l’avance si on utilisera 2, 8 ou 21 sprints n’est pas pertinent, la seule chose qu’on peut dire c’est qu’on investira des sprints dans cette fonctionnalité tant qu’on constatera que c’est la plus rentable du backlog. C’est pour ça que faire du Scrum avec des sprints à 60 JH et des US à 5/10 JH en moyenne ne peut (à mon avis) pas fonctionner.

… vers le sprint goal. Ce qui me fait dire une énième fois que les estimations sont à mesurer à l’aune des pivots que l’équipe a pu mettre en œuvre. Pas de pivots, et l’estimation devient seulement un artefact politique, comme trop souvent.

Peux-tu détailler ou pointer vers de la littérature qui explique ce terme de pivot ?

1 « J'aime »

c’est vrai ça, et si on passait au No Estimate
ma devise est d’arrêter d’estimer et privilégier la mesure, les indicateurs
ça demande moins de ressources humaines, c’est fiable, et ça libère des réunions au profit de la production de valeur

Je serais curieux qu’on me montre une personne qui arrive (in)consciemment à ne pas estimer.

en fait, si, j’estime…
j’estime que la carte est trop grosse, donc on la découpe jusqu’à ce qu’elle soit assez petite
et on mesure tout ça
découper jusqu’à ce que ce soit assez petit revient à estimer, je convient
mais rien d’autre
le ROI est ce que le métier dépense par semaine, sprint, mois et ce qu’il a en sortie en valeur

du coup, vient la question : c’est quoi une carte assez petite
et bien, ça dépend, quand on est lundi, je considère une carte que je peux pair tester avant la fin de semaine
quand on est mercredi, une carte que je peux pair tester avant la fin de semaine
quand on est vendredi, une carte que je peux pair tester dans la journée
la taille change donc en fonction du moment où j’évalue le temps pour sortir la carte
ça reste une estimation, j’avoue, mais on ne le garde pas, on mesure juste le nombre de cartes qui sortes chaque semaine, le débit de carte par semaine

dans mon entre prise on a EazyBI pour les indicateurs
il n’y a aucun effort humain pour avoir les chiffres une fois que les indicateurs sont créés
j’ai même fait un rapport spécialement utile pour les équipes qui estiment, soit en JH, en heures, en story point ou en taille de teeshirt
du coup, j’affiche le temps moyen de traitement des cartes groupées par l’estimation, ça donne une idée du lien entre l’estimation et le temps réel de traitement
souvent, ça pousse l’équipe à arrêter l’estimation, car ce n’est pas fiable

C’est généralement mon premier argument contre le le noestimate.
Sans doute que certains font du DontUseorShowMyEstimation.
Dont Trust In Your Estimations