Une estimation de temps équivaut-elle à une promesse dans Scrum?

10

Si un devis n'est pas une promesse, en tant que propriétaire de produit, comment puis-je livrer mes projets sans savoir combien de temps cela prendra?

Une équipe Scrum fonctionne-t-elle plus efficacement si nous considérons les estimations de temps comme une promesse?

Combien de recherches (préparation, efforts pour comprendre le problème) dans une histoire suffisent pour arriver à la bonne estimation?

Qu'en est-il des problèmes techniques inattendus (problèmes qui peuvent vraiment gâcher vos estimations initiales) qui surviennent après avoir estimé votre travail?

daehaai
la source
avez-vous demandé à votre ScrumMaster avant de demander ici? Parce qu'il semble que ce ne soit pas le cas. Faire confiance à votre SM peut avoir un meilleur impact sur votre projet que de répondre à ces questions.
xsace
La question est de se faire une idée de la vue des personnes extérieures à l'équipe. Je n'ai pas dit "ceci" est un problème avec notre approche. J'essayais de me mettre dans la peau des Product Owners. J'ai lu une estimation! = Promesse et pensé si ce n'est pas alors comment mesurez-vous? Pour info nous discutons. :)
daehaai

Réponses:

15

Les estimations ne sont pas des promesses gravées dans la pierre. Ce sont les meilleures suppositions que l'équipe puisse faire sur l'effort requis pour terminer la tâche / l'histoire.

En réponse à votre question « en tant que propriétaire du produit comment puis - je offrir mes projets à temps comme référence? », La réponse est que vous pouvez et devriez avoir le temps de référence (vous sera libérer une certaine date). Ce que vous n'avez pas, c'est l' étendue exacte qui sera dans la livraison.

Notez que ce que j'ai dit est vrai pour chaque méthodologie que vous utilisez pour piloter votre développement. La différence entre Scrum et d'autres méthodologies (telles que Waterfall), c'est que dans Scrum, ce fait est reconnu et pris en compte. Ce que vous ferez, en tant que PO, est de prioriser votre portée et de vous assurer que l'équipe, à tout moment donné, est:

  1. Travailler sur la fonctionnalité non livrée la plus importante (lire: précieuse) (tâche, exigence, user story)
  2. A terminé avec succès toutes les fonctionnalités plus importantes que celle sur laquelle elles travaillent actuellement (cela se réfère à la définition de Terminé : chaque histoire terminée est testée, acceptée, sans bogue et complète).

Cela dit, vous pouvez désormais expédier ou livrer en un clin d' œil, sachant qu'à tout moment , la dernière version est le meilleur produit qui puisse être expédié. Cela signifie qu'à la date de votre engagement de sortie d'origine, vous livrerez le meilleur produit possible.

Bien sûr, cela ne promet pas qu'il s'agira de chaque histoire que vous avez demandé à l'équipe de développer, mais vous savez que les dernières incomplètes sont bien sûr les moins importantes, qui pourraient facilement être livrées à une date ultérieure.

De plus, les estimations faites par l'équipe seront de mieux en mieux, vous permettant d'avoir une première idée solide de la portée à la fin de la publication. Vous pourrez expédier un bon produit solide à temps, avec quelques fonctionnalités supplémentaires moins importantes quelques semaines plus tard (vous pourrez bien sûr estimer quand il le sera).

Quant à la quantité de recherche requise - il y a une loi des rendements décroissants en jeu ici. Si vous brisez vos histoires assez petites, alors une petite recherche devrait vous donner une estimation suffisamment proche. Si vous vous trompez, vous modifierez au prochain sprint et les estimations seront meilleures. En 3-4 sprints, en moyenne, vous devriez avoir une bonne idée de la quantité de portée pouvant être livrée avant la date limite (ou du temps qu'il faudra pour terminer la portée).

Pierre Assaf
la source
5

Lorsque vous estimez des points d'histoire dans Scrum, vous devez en savoir suffisamment pour pouvoir réellement commencer à écrire la fonctionnalité. L'estimation ne devrait pas être entièrement exacte, tout l'intérêt des méthodologies de développement Agile est qu'elles reconnaissent que vous ne pouvez pas prédire avec précision la durée du développement.

L'étape à laquelle vous vous engagez à livrer est lorsque vous acceptez les histoires du backlog de produit dans un Sprint. Vous promettez de livrer ces histoires dans le sprint.

Si vous prenez cet engagement, cela signifie que vous êtes prêt à faire des heures supplémentaires s'il semble que vous n'allez pas tenir votre promesse. En réalité, certaines histoires prendront plus de temps que vous ne le pensiez et d'autres prendront moins de temps que vous ne le pensiez.

Lorsque l'équipe aura fait suffisamment d'estimations, elle s'améliorera.

Vous voudrez peut-être aussi regarder ...

The Clean Coder (Livre) - il y a un chapitre dans ce livre intitulé "The Language Of Commitment" et aussi un chapitre sur l'estimation, qui est vraiment révélateur.

Kanban - Kanban est plus un style de tirage de développement en cours d'exécution - il existe également des combinaisons de Scrum et Kanban appelées "Scrumban", qui s'inspirent des deux idées.

Fenton
la source
"Si vous prenez cet engagement, cela signifie que vous êtes prêt à faire des heures supplémentaires ..." Pas question. Cette interprétation du mot engagement est exactement la raison pour laquelle le mot a été supprimé de Scrum . Si vous constatez que vous ne prévoyez peut-être pas l'achèvement de tous les éléments sélectionnés, parlez au bon de commande et établissez un nouveau plan. Des suggestions comme celle-ci sont à l'origine du cycle sans fin de sous-estimation et de promotion d'une vitesse plus élevée en tant qu'objectif en soi.
Ryan Cromwell
@RyanCromwell - c'est la différence entre une estimation et un engagement. Si vous estimez des choses, il faut comprendre qu'elles font plus de temps, ou moins de temps. Si vous vous engagez à terminer un travail, vous devez comprendre que c'est votre réputation professionnelle qui est en jeu.
Fenton
2

Non.

La somme de toutes les estimations de chaque tâche terminée dans un sprint est appelée vitesse . La vitesse est définie comme "le nombre de points terminés par sprint" où "point" est l'unité dans laquelle votre équipe estime.

Ainsi, la vélocité vous permet de savoir combien votre équipe peut produire au prochain sprint, en supposant qu'ils utilisent la même méthode pour estimer et que l'équipe est stable, etc.

Et c'est ainsi que vous pouvez être sûr de ce que l'équipe peut offrir sans avoir à faire de promesses aléatoires.

Martin Wickman
la source
1

Les estimations de l'effort sont un outil de prévision. Une prévision n'est ni un engagement ni une garantie. Les prévisions sont réévaluées en permanence pour tenir compte des nouvelles connaissances et devraient inclure des alternatives possibles telles que des variations optimistes et pessimistes.

Nous sommes tournés vers l'avenir dans Agile. Les engagements n'ajoutent pas plus de valeur à la planification organisationnelle que les prévisions.

Je recommande vivement l'estimation et la planification agiles de Mike Cohn

Ryan Cromwell
la source
1

Si un devis n'est pas une promesse, en tant que propriétaire de produit, comment puis-je livrer mes projets sans savoir combien de temps cela prendra?

Vous ne travaillez pas avec une seule grande estimation, mais avec beaucoup de petites estimations au niveau de l'histoire. Une grande partie des erreurs d'estimation au niveau de l'histoire se résorbent en moyenne. Vous ne pouvez pas promettre de contenu et de date. Vous pouvez, cependant, être assez confiant que le haut du backlog arrivera dans une version (alternativement, avoir une date assez précise - mais pas fixe - à laquelle le backlog entier peut être livré).

Une équipe Scrum fonctionne-t-elle plus efficacement si nous considérons les estimations de temps comme une promesse?

Non. Cela conduit à des estimations de sacs de sable et à transformer les graphiques de vitesse / burndown en données inutiles - ce qui empêche l'équipe de s'améliorer.

Combien de recherches (préparation, efforts pour comprendre le problème) dans une histoire suffisent pour arriver à la bonne estimation?

Cela dépend à quel point vous vous souciez de la précision. Vous pouvez passer des semaines à préparer soigneusement chaque estimation, ou donner rapidement des estimations de bonne foi et espérer que les erreurs se résorbent en moyenne. La première consiste à configurer l'échec, car estimer quelque chose que vous n'avez pas fait auparavant est très difficile, et l'ingénierie logicielle concerne tout ce que vous n'avez jamais fait auparavant.

Personnellement, je ne pense pas qu'il y ait beaucoup d'avantages à obtenir des estimations très précises. Ce que j'essaie de faire, c'est de m'assurer que les estimations sont suffisamment précises - c'est-à-dire que je n'ai pas raté quelque chose qui pourrait amener une histoire à s'écarter de son estimation d'un ordre de grandeur. (Voir point suivant).

Qu'en est-il des problèmes techniques inattendus (problèmes qui peuvent vraiment gâcher vos estimations initiales) qui surviennent après avoir estimé votre travail?

Petites itérations. Carnet de commandes. Petites histoires. Ce qui est dangereux, c'est ce que vous ne savez pas que vous ne savez pas. Le manque d'expertise sur un problème se traduira par de mauvaises estimations, mais vous pouvez vous ajuster soit en acquérant une expertise (plus d'élaboration), soit en optant pour des estimations `` assez bonnes '' - c'est une question de gestion des risques.

ptyx
la source
1

Si un devis n'est pas une promesse, en tant que propriétaire de produit, comment puis-je livrer mes projets sans savoir combien de temps cela prendra?

C'est l'un des plus grands malentendus concernant Scrum. La question de "Combien de temps prendra mon projet?" suppose que vous pouvez définir, à un moment donné, exactement ce que le projet impliquera pour terminer. Mais l'idée globale de Scrum est qu'elle reconnaît que les choses que vous apprenez sur un projet, pendant que vous travaillez sur le projet, vont changer la définition du projet.

La façon la plus courante de définir un projet est de lister les fonctionnalités qu'il aura. En règle générale, un projet est terminé lorsque toutes les fonctionnalités ont été implémentées. Mais que se passe-t-il si, lorsque vous travaillez sur un projet, vous réalisez que 5 des fonctionnalités identifiées au début ne seront pas nécessaires, mais il y a 7 fonctionnalités auxquelles les gens ont pensé au cours des 6 premiers mois qui devraient vraiment être incluses? Qu'est-ce que cela fait à la question du temps que cela prendra?

Un autre facteur est que les choses que vous apprendrez changeront votre compréhension de la façon d'implémenter certaines fonctionnalités, et à mesure que vous vous rapprocherez de la mise en œuvre de chaque fonctionnalité, vos estimations vont changer. Personnellement, je m'abstiendrais de mettre des estimations numériques sur tout ce qui n'approche pas de l'horizon de mise en œuvre - peut-être en utilisant des estimations descriptives comme "minuscule", "petit", "moyen", "grand" et "énorme" ou "épique". Ensuite, vous n'impliquez pas une précision supérieure à ce que vous êtes capable d'estimer.

À vrai dire, "Combien de temps cela prendra-t-il?", N'est pas plus responsable que, "Que sera-ce quand ce sera fait?". Les comptables et les hommes d'affaires traditionnels détestent cela, c'est pourquoi il est très difficile de s'éloigner de Waterfall dans certaines organisations.

C'est aussi pourquoi vous devez prendre beaucoup de discussions sur la vitesse et les mesures avec un grain de sel. Les projets logiciels ont une sorte de principe d'incertitude de Heisenberg intégré, et si vous passez trop de temps à affiner les mesures, vous allez juste vous retrouver avec un non-sens extrêmement précis.

Alors non, une estimation n'est pas une promesse. C'est une estimation. La "promesse" est l'engagement de l'équipe à terminer un certain nombre de fonctionnalités ou d'histoires dans un sprint particulier.

Les estimations doivent être juste assez précises pour permettre à l'équipe d'identifier combien de fonctionnalités (ou d'histoires) elles peuvent intégrer parfaitement dans un Sprint. La cohérence est encore plus importante que l'exactitude des estimations, car l'équipe apprendra combien de travail les estimations peuvent contenir dans un sprint, même si le travail réel s'avère généralement deux fois plus important que prévu. Tant qu'il est éteint, ils pourront planifier.

Dave
la source