Pourquoi la série Fibonacci est-elle utilisée dans le poker de planification agile? [fermé]

94

Lors de l'estimation de la taille relative des user stories dans le développement de logiciels agiles, les membres de l'équipe sont censés estimer la taille d'une user story comme étant 1, 2, 3, 5, 8, 13, .... Les valeurs estimées devraient donc ressembler à la série de Fibonacci. Mais je me demande pourquoi?

La description de http://en.wikipedia.org/wiki/Planning_poker sur Wikipedia contient la phrase mystérieuse:

La raison de l'utilisation de la séquence de Fibonacci est de refléter l'incertitude inhérente à l'estimation d'éléments plus grands.

Mais pourquoi devrait-il y avoir une incertitude inhérente à des articles plus importants? L'incertitude n'est-elle pas plus élevée, si nous faisons moins de mesures, c'est-à-dire si moins de gens estiment la même histoire? Et même si l'incertitude est plus élevée dans les grandes histoires, pourquoi cela implique-t-il l'utilisation de la séquence de Fibonacci? Y a-t-il une raison mathématique ou statistique à cela? Sinon, utiliser la série Fibonacci pour l'estimation me semble être une science CargoCult.

Asmaier
la source
9
Probablement juste parce que la séquence de Fibonacci est "cool". Toute séquence exponentielle fonctionnerait. 2^npourrait espacer les nombres trop loin, alors pourquoi ne pas utiliser la séquence de Fibonacci, qui est à peu près c*phi^n?
entre le
+1 pour «c'est cool». J'ai déjà travaillé avec des programmeurs qui ont toujours voulu pousser les bizarreries dans Fibonacci - c'était toujours leur `` truc ''
KevinDTimm
2
Cette question semble hors sujet car elle concerne ...?
Adriano Repetti

Réponses:

78

La série de Fibonacci n'est qu'un exemple d'échelle d'estimation exponentielle. La raison pour laquelle une échelle exponentielle est utilisée vient de la théorie de l'information.

Les informations que nous obtenons à partir de l'estimation croissent beaucoup plus lentement que la précision de l'estimation. En fait, il se développe comme une fonction logarithmique. C'est la raison de l'incertitude plus élevée pour les articles plus volumineux.

Déterminer la base la plus optimale de l'échelle exponentielle (normalisation) est difficile en pratique. La base correspondant à l'échelle de Fibonacci peut être optimale ou non.

Voici une explication plus détaillée de la justification mathématique: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html

isak gilbert
la source
4
C'est une explication plus profonde que j'espérais. Merci pour cette réponse.
asmaier
«[Un] petit effort d'estimation aide beaucoup et [un] gros effort d'estimation aide peu» excellent article
ptim
40

Sur les six premiers nombres de la séquence de Fibonacci, quatre sont premiers. Cela limite les possibilités de décomposer une tâche de manière égale en tâches plus petites pour que plusieurs personnes y travaillent en parallèle. Cela pourrait conduire à l'idée fausse que la vitesse d'une tâche pourrait évoluer proportionnellement avec le nombre de personnes qui y travaillent. La série 2 ^ n est la plus vulnérable à un tel problème. La séquence de Fibonacci oblige en fait à réestimer les tâches plus petites une par une.

KillerInsect
la source
7
C'est un point de vue intéressant. Mais pourquoi alors la série de nombres premiers 1,2,3,5,7,11, ... n'est-elle pas utilisée pour estimer à la place de la série de Fibonacci?
asmaier
2
C'est une excellente idée. En fait, ils sont assez fréquents pour ne sélectionner que ceux qui créent approximativement une série [1.5-2.0] ^ n. Les nombres de Fibonacci sont certes plus faciles à recréer depuis la tête, mais des outils comme JIRA permettent de spécifier n'importe quel ensemble de valeurs.
KillerInsect le
5
L'autre point est la distance entre les estimations. Plus vous estimez le temps, moins il y a de certitude. Entre 3-5 et 5-7 est la même différence, impliquant la même certitude. Mais lorsque vous devez choisir entre 8 et 13 (un écart plus important), cela vous oblige à vraiment examiner votre certitude.
Chris
@asmaier Je pense que c'est parce que les nombres de fibonacci sont exponentiels alors que les nombres premiers sont linéaires pour le petit échantillon qui est généralement utilisé lors de l'estimation des histoires
icc97
17

D'après ce blog agile

"parce qu'ils se développent à peu près au même rythme que nous, les humains, pouvons percevoir des changements significatifs d'ampleur."

Oui en effet. Je pense que c'est parce qu'ils ajoutent un air de légitimité (Fibonacci! Math!) À ce qui est essentiellement un exercice de dimensionnement précoce (pas de cadrage) de très haut niveau (qui a de la valeur).

Mais vous pouvez obtenir les mêmes résultats en utilisant le dimensionnement des t-shirts ...

Ibrahim Bashir
la source
1
Cette réponse est presque exactement la même (fait référence au même lien et à la même citation) que la réponse de @kaj qui était deux mois plus tôt.
icc97
1
J'ai vraiment aimé la façon dont cette personne l'a cité. m'a fait comprendre instantanément.
nishantbhardwaj2002
15

Vous voulez vraiment quelque chose d'exponentiel, de sorte que vous puissiez exprimer n'importe quelle quantité de temps avec une erreur relative constante. La précision de votre estimation est également très probablement proportionnelle à votre estimation.

Donc vous voulez quelque chose: a) avec des entiers b) exponentiel c) facile

Maintenant, pourquoi Fibonacci au lieu de, 1 2 4 8? Je suppose que c'est parce que le fibonacci pousse plus lentement. C'est en goldratio ^ n, et goldratio = 1,61 ...

fulmicoton
la source
3
"La précision de votre estimation est également très probablement proportionnelle à votre estimation." Est-ce une règle dans les statistiques ou est-ce quelque chose que les humains font normalement? Si vous utilisez des nombres de Fibonacci, vous supposez que l'erreur relative d'une estimation est d'environ f (n-1) / f (n) = 1-goldenratio = 61%. Donc, si l'on estime 5, les gens supposent que cela implique une erreur relative d'environ 3, donc une augmentation significative de la complexité ne serait que de 8 ou plus. Cependant, pourquoi l'erreur relative est-elle supposée être d'environ 60%? Est-ce juste une règle de base?
asmaier
1
Pour répondre à mon propre commentaire: Mike Cohn (novembre 2005). «L'estimation et la planification agiles» dit: «Les études ont montré que nous sommes les meilleurs pour estimer les choses qui tombent dans un ordre de grandeur (Miranda 2001; Saaty 1996)».
asmaier
1
Miranda (2001): «Améliorer les estimations subjectives à l'aide de comparaisons par paires» dit: «J'ai mené une enquête informelle auprès de collègues; 30 personnes de différents pays et provenant à la fois de l'industrie et du milieu universitaire ont contribué à l'échelle. Les résultats suggèrent que la correspondance entre la taille et la description verbale dans le domaine logiciel est plus proche de celle présentée dans le tableau 3 que de celle de Saaty. " Et dans ce tableau, nous voyons que quelque chose est appelé "légèrement plus grand" s'il fait 125% de la taille de base et qu'il est appelé "plus grand", s'il est à 175% de la taille de base.
asmaier
1
Le prochain nombre de Fibonacci est 161% de l'ancien nombre de Fibonacci, donc cela se situe entre «légèrement plus grand» et «plus grand» dans le tableau Mirandas. Il semble que cette enquête informelle explique pourquoi nous utilisons les nombres de Fibonacci, car leur ratio est plus proche de ce que nous voulons dire si nous disons que quelque chose est plus grand.
asmaier
@asmaier Je pense que vous devriez ajouter ces commentaires comme réponse séparée, ils sont excellents, ou peut-être sur la question liée à PM.SE car cela est malheureusement verrouillé.
icc97
7

La séquence de Fibonacci est juste l'une des nombreuses qui sont utilisées dans le poker de planification de projet.

Il est difficile d'estimer avec précision les grandes unités de travail et il est facile de s'enliser dans les discussions heures contre jours si vos chiffres sont trop «réalistes».

J'aime l'explication sur http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ , à savoir que la série Fibonacci représente un ensemble de nombres que nous pouvons distinguer intuitivement entre eux comme des grandeurs différentes.

kaj
la source
4

J'utilise Fibonacci pour plusieurs raisons:

  • À mesure que la tâche augmente, les détails deviennent plus difficiles à saisir
  • L'estimation de la tâche est le nombre d'heures qu'un membre de l'équipe doit consacrer à la tâche
  • Tout le monde dans l'équipe n'aura pas la même expérience pour une tâche particulière, ce qui ajoute également à l'incertitude
  • L'homme est fatigué par une tâche plus vaste et potentiellement plus complexe. Alors qu'une tâche deux fois plus complexe est résolue en deux temps pour un ordinateur, cela peut prendre un peu plus pour un développeur.

Au fur et à mesure que nous additionnons toutes les incertitudes, nous sommes moins sûrs de ce que devraient être les heures. Cela finit par être plus facile si nous pouvons simplement évaluer si cette tâche est plus grande / plus petite qu'une autre pour laquelle nous avons déjà donné une estimation. À mesure que nous augmentons la taille / la complexité de la tâche, l'effet de l'incertitude est également amplifié. Je prendrais volontiers une estimation de 13 heures pour une tâche qui semble deux fois plus grande que celle que j'ai précédemment estimée à 5 heures.

Chris Chou
la source