Frage Warum wird die Fibonacci-Serie im agilen Planungspoker verwendet? [geschlossen]


Bei der Schätzung der relativen Größe von User Stories in der agilen Softwareentwicklung sollen die Mitglieder des Teams die Größe einer User Story als 1, 2, 3, 5, 8, 13, ... schätzen. Die geschätzten Werte sollten also der Fibonacci-Serie ähneln. Aber ich frage mich, warum?

Die Beschreibung von http://en.wikipedia.org/wiki/Planning_poker auf Wikipedia hält der mysteriöse Satz:

Der Grund für die Verwendung der Fibonacci-Sequenz besteht darin, das Inhärente wiederzugeben   Unsicherheit bei der Schätzung größerer Artikel.

Aber warum sollte in größeren Objekten eine gewisse Unsicherheit bestehen? Ist die Unsicherheit nicht höher, wenn wir weniger messen, also weniger Leute die gleiche Geschichte schätzen? Und selbst wenn die Unsicherheit in größeren Geschichten höher ist, warum bedeutet das die Verwendung der Fibonacci-Sequenz? Gibt es dafür einen mathematischen oder statistischen Grund? Sonst fühlt sich die Fibonacci-Serie für die Schätzung an wie die CargoCult-Wissenschaft.


75
2018-02-20 13:55


Ursprung


Antworten:


Die Fibonacci-Reihe ist nur ein Beispiel für eine exponentielle Schätzskala. Der Grund dafür, dass eine exponentielle Skala verwendet wird, stammt aus der Informationstheorie.

Die Information, die wir aus der Schätzung erhalten, wächst viel langsamer als die Genauigkeit der Schätzung. Tatsächlich wächst es als logarithmische Funktion. Dies ist der Grund für die höhere Unsicherheit bei größeren Objekten.

Die Bestimmung der optimalen Basis der Exponentialskala (Normalisierung) ist in der Praxis schwierig. Die Basis, die der Fibonacci-Skala entspricht, ist möglicherweise optimal.

Hier ist eine detailliertere Erklärung der mathematischen Begründung: http://www.yakyma.com/2012/05/why-progressive-stimation-scale-is-so.html


60
2017-07-22 10:36



Von den ersten sechs Zahlen der Fibonacci-Folge sind vier Primzahlen. Dies begrenzt die Möglichkeiten, eine Aufgabe gleichmäßig in kleinere Aufgaben aufzuteilen, damit mehrere Personen parallel daran arbeiten. Dies könnte zu dem Missverständnis führen, dass die Geschwindigkeit einer Aufgabe proportional zur Anzahl der Personen, die daran arbeiten, steigen könnte. Die 2 ^ n-Serie ist am anfälligsten für ein solches Problem. Die Fibonacci-Sequenz zwingt tatsächlich dazu, die kleineren Aufgaben nacheinander neu zu schätzen.


36
2018-02-21 11:44



Gemäß dieser agile Blog

"Weil sie ungefähr mit der gleichen Geschwindigkeit wachsen, mit der wir Menschen bedeutungsvolle Veränderungen der Größe wahrnehmen können."

Ja, genau. Ich denke, das liegt daran, dass sie eine gewisse Legitimation (Fibonacci! Math!) Zu einer Übung auf hohem Niveau im Frühstadium hinzufügen, bei der es sich nicht um eine Scoping-Übung handelt (was von Wert ist).

Aber Sie können die gleichen Ergebnisse mit T-Shirt Sizing bekommen ...


16
2017-08-24 05:51



Sie wollen definitiv etwas Exponentielles, damit Sie jede Menge Zeit mit einem konstanten relativen Fehler ausdrücken können. Auch die Genauigkeit Ihrer Schätzung ist sehr wahrscheinlich proportional zu Ihrer Einschätzung.

Also willst du etwas:    a) mit ganzen Zahlen    b) exponentiell    c) einfach

Warum Fibonacci statt, 1 2 4 8? Meine Vermutung ist, dass Fibonacci langsamer wächst. Es ist in Goldratio ^ n und Goldratio = 1,61 ...


14
2018-02-20 14:10



Die Fibonacci-Sequenz ist nur eine von mehreren, die in der Projektplanung verwendet werden.

Es ist schwierig, große Arbeitseinheiten genau zu schätzen, und es ist leicht, sich in Stunden-gegen-Tage-Diskussionen zu verlieren, wenn Ihre Zahlen zu "realistisch" sind.

Ich mag die Erklärung bei http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/, nämlich die Fibonacci-Reihe stellt eine Menge von Zahlen dar, die wir intuitiv zwischen ihnen als unterschiedliche Größen unterscheiden können.


6
2018-02-20 14:11



Ich benutze Fibonacci aus verschiedenen Gründen:

  • Wenn die Aufgabe größer wird, werden die Details schwieriger zu erfassen
  • Aufgabenschätzung ist die Anzahl der Stunden für jeden im Team, um die Aufgabe abzuschließen
  • Nicht jeder im Team wird die gleiche Erfahrung haben eine besondere Aufgabe, die zur Unsicherheit beiträgt
  • Der Mensch wird bei größeren und möglicherweise komplexeren Aufgaben ermüdet. Während eine doppelt so komplexe Aufgabe in doppelter Zeit für einen Computer gelöst wird Für einen Entwickler kann das etwas länger dauern.

Wenn wir alle Unsicherheiten addieren, sind wir weniger sicher, wie die Stunden eigentlich sein sollten. Es ist einfacher, wenn wir einfach abschätzen können, ob diese Aufgabe größer / kleiner als eine andere ist, für die wir bereits eine Schätzung abgegeben haben. Wenn wir die Größe / Komplexität der Aufgabe erhöhen, wird auch der Effekt der Unsicherheit verstärkt. Ich würde gerne eine Schätzung von 13 Stunden für eine Aufgabe nehmen, die doppelt so groß erscheint wie eine, die ich vorher auf 5 Stunden geschätzt habe.


3
2018-02-22 16:54