Beiträge

Fibonacci-Sequenz im Agile: Warum wir 1, 2, 3, 5, 8, 13 für Story Points verwenden

Planning-Poker-Karten mit Fibonacci-Zahlen, die auf einem Tisch verteilt sind, wobei Entwicklerhände danach greifenPlanning-Poker-Karten mit Fibonacci-Zahlen, die auf einem Tisch verteilt sind, wobei Entwicklerhände danach greifen
Matt Lewandowski

Matt Lewandowski

Zuletzt aktualisiert am 16/02/20268 Min. Lesezeit

Sie sitzen bei Ihrer ersten Planning-Poker-Sitzung. Der Team-Lead zieht ein Backlog-Element hoch und bittet alle abzustimmen. Sie schauen auf Ihre Kartenoptionen: 1, 2, 3, 5, 8, 13. Wo ist die 4 geblieben? Warum springt sie von 5 zu 8? Warum nicht einfach 1 bis 10 verwenden? Es ist die Frage, die jedes neue Team-Mitglied stellt. Und die Antwort offenbart etwas Grundlegendes darüber, wie Menschen komplexe Arbeit schätzen.

Was die Fibonacci-Sequenz wirklich ist

Die Fibonacci-Sequenz ist eine Reihe von Zahlen, bei der jede Zahl die Summe der beiden vorherigen ist: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34 und so weiter. Sie wurde vom italienischen Mathematiker Leonardo of Pisa (bekannt als Fibonacci) 1202 beschrieben, obwohl das Muster überall in der Natur vorkommt, von der Spirale einer Nautilus-Muschel bis zur Verzweigung von Bäumen. Agile-Teams verwenden die Fibonacci-Sequenz nicht wegen irgendeiner Verbindung zur Natur. Sie verwenden sie, weil die Lücken zwischen den Zahlen größer werden, je größer die Zahlen sind, und das widerspiegelt, wie Unsicherheit bei der Softwareschätzung funktioniert.

Warum lineare Skalen bei der Schätzung fehlschlagen

Stellen Sie sich vor, Ihr Team verwendet eine einfache 1-10-Skala. Jemand zieht eine Story hoch und zwei Entwickler stimmen unterschiedlich ab. Einer sagt 6, der andere sagt 7. Ist dieser Unterschied bedeutsam? Wahrscheinlich nicht. Der Unterschied zwischen einer 6 und einer 7 ist so klein, dass es Rauschen ist. Aber jetzt verbringt das Team fünf Minuten damit, darüber zu debattieren, ob es wirklich eine 6 oder eine 7 ist, und versucht, eine Unterscheidung zu rechtfertigen, die nicht existiert. Das sind fünf verschwendete Minuten für falsche Genauigkeit. Eine lineare Skala impliziert, dass Sie zwischen Aufwandsstufen mit einheitlicher Genauigkeit unterscheiden können. Das können Sie nicht. Und je größer das Element, desto schlechter wird Ihre Genauigkeit. Whiteboard-Vergleich einer linearen Skala mit gleichmäßig verteilten Zahlen versus einer Fibonacci-Skala mit vergrößernden Lücken zwischen WertenWhiteboard-Vergleich einer linearen Skala mit gleichmäßig verteilten Zahlen versus einer Fibonacci-Skala mit vergrößernden Lücken zwischen Werten

Warum die Lücken wichtig sind

Die Fibonacci-Sequenz funktioniert bei der Schätzung wegen dreier sich überlappender Prinzipien.

Der Unsicherheitskegel

Kleine Aufgaben sind vorhersehbar. "Ändere die Schaltflächenfarbe von Blau zu Grün" hat minimale Unbekannte. Sie können es mit Zuversicht schätzen. Große Aufgaben enthalten exponentiell mehr Unbekannte. "Baue die Zahlungsintegration auf" klingt wie ein einzelnes Element, enthält aber Authentifizierung, Fehlerbehandlung, Wiederholungslogik, Compliance-Anforderungen und Grenzfälle, die Sie noch nicht berücksichtigt haben. Je größer die Arbeit, desto breiter Ihre Unsicherheit, und Ihre Schätzungsskala sollte das widerspiegeln. Die Fibonacci-Lücken vergrößern sich mit zunehmender Komplexität und spiegeln die Realität wider, dass eine 13-Punkte-Story weitaus mehr Unsicherheit hat als eine 3-Punkte-Story. Eine Wahl zwischen 12 und 13 für etwas so Großes anzubieten, wäre sinnlose Genauigkeit.

Erzwingung sinnvoller Meinungsverschiedenheiten

Bei einer Fibonacci-Skala ist eine Meinungsverschiedenheit zwischen zwei Entwicklern bedeutsam. Der Sprung von 5 zu 8 ist eine 60%ige Steigerung. Diese Art von Lücke spiegelt einen echten Unterschied im Verständnis wider: Eine Person sieht eine unkomplizierte Implementierung, die andere sieht verborgene Komplexität. Diese Meinungsverschiedenheit löst genau das Gespräch aus, das Sie in Planning Poker möchten. "Warum denkst du, dass es eine 8 ist?" "Weil wir den Offline-Synchronisierungsfall handhaben müssen." "Ach, ich habe das nicht berücksichtigt." Die Skala zwingt zu Diskussionen, die tatsächlich Risiken und Missverständnisse oberflächlich machen. Bei einer linearen Skala löst eine 6-zu-7-Meinungsverschiedenheit nicht die gleiche Dringlichkeit aus, zu diskutieren. Die Lücke ist zu klein, um wichtig zu wirken, auch wenn die zugrunde liegenden Annahmen völlig unterschiedlich sind.

Webers Gesetz

Es gibt ein Prinzip in der Psychophysik namens Webers Gesetz: Menschen nehmen Unterschiede als Proportionen, nicht als absolute Werte wahr. Sie können leicht den Unterschied zwischen 1 Kilogramm und 2 Kilogramm erkennen. Aber den Unterschied zwischen 50 und 51 Kilogramm zu erkennen? Viel schwerer. Das gleiche gilt für die Schätzung. Sie können sicher sagen, ob etwas eine 2 oder eine 3 ist (ein 50%iger Sprung). Sie können nicht sicher sagen, ob etwas eine 14 oder eine 15 ist (ein 7%iger Sprung). Die Fibonacci-Sequenz respektiert dies, indem sie den proportionalen Unterschied zwischen benachbarten Optionen ungefähr konstant hält, was bedeutet, dass jede Wahl auf der Skala ein echtes unterscheidbares Aufwandsniveau darstellt.

Die modifizierte Fibonacci-Sequenz

Wenn Sie verschiedene Schätzungsskalen verwendet haben, werden Sie bemerken, dass die meisten Agile-Tools nicht die reine Fibonacci-Sequenz verwenden. Sie verwenden eine modifizierte Version: 1, 2, 3, 5, 8, 13, 20, 40, 100 Die Modifizierung setzt nach 13 ein. Reine Fibonacci würde Ihnen 21, 34, 55, 89 geben. Stattdessen runden Teams auf saubere Zahlen: 20, 40, 100. Warum? Weil bei dieser Größenordnung die Genauigkeit von Fibonacci keine Rolle spielt. Etwas, das auf 40 Punkte geschätzt wird, hat so viel Unsicherheit, dass der Unterschied zwischen 34 und 40 irrelevant ist. Runde Zahlen vermitteln die richtige Botschaft: "Das ist sehr groß, und wir raten." Die meisten Teams, die diese Skala verwenden, behandeln alles über 13 als Signal, dass das Element in kleinere Stories aufgeteilt werden muss, bevor es bearbeitet werden kann.

Die Unendlich- und Fragezeichen-Karten

Entwickler, der eine Unendlich-Karte und eine Fragezeichen-Karte während einer Planning-Poker-Sitzung hältEntwickler, der eine Unendlich-Karte und eine Fragezeichen-Karte während einer Planning-Poker-Sitzung hält Über die Zahlen hinaus enthalten die meisten Planning-Poker-Decks zwei spezielle Karten: Unendlich bedeutet "das ist zu groß zum Schätzen." Es ist die Art und Weise des Teams zu sagen, dass eine Story zerlegt werden muss, bevor die Schätzung sinnvoll ist. Wenn jemand Unendlich spielt, ist die richtige Antwort nicht, sie auf eine 40 herunterzuhandeln. Es ist, mit der Schätzung zu stoppen und anzufangen zu teilen. Fragezeichen bedeutet "Ich habe nicht genug Informationen, um dies überhaupt zu schätzen." Vielleicht sind die Anforderungen unklar. Vielleicht hat der Entwickler nicht mit diesem Teil der Codebasis gearbeitet. Vielleicht hängt die Story von einer Entscheidung ab, die noch nicht getroffen wurde. Das Fragezeichen macht diese Lücken deutlich, damit sie während der Backlog-Verfeinerung adressiert werden können, bevor die Arbeit in einen Sprint eintritt. Beide Karten dienen dem gleichen Zweck: Sie verhindern, dass das Team einer Sache, die noch keine verdient, eine Nummer zuordnet. Eine Schätzung, die als Zahl präsentiert wird, wird als Plan behandelt. Ein Fragezeichen wird als Aktionselement behandelt.

Wenn Fibonacci nicht die richtige Wahl ist

Die Fibonacci-Sequenz ist die häufigste Schätzungsskala, aber sie ist nicht immer die beste Wahl. T-Shirt-Größen (XS, S, M, L, XL) funktionieren besser, wenn Sie schnelle, grobe Schätzungen möchten und nicht in numerische Debatten verwickelt werden möchten. Sie sind besonders nützlich für die Roadmap-Planung, bei der exakte Punkte keine Rolle spielen. Lesen Sie unseren Leitfaden zu Agile-Schätzungstechniken, um zu sehen, wie T-Shirt-Größen und andere Methoden sich vergleichen. Potenz von 2 (1, 2, 4, 8, 16, 32) spricht Teams an, die noch aggressivere Lücken zwischen Optionen mögen. Jeder Schritt verdoppelt den Aufwand, was Meinungsverschiedenheiten noch offensichtlicher macht. Lineare Skalen können für Teams, die hochgradig vorhersehbare, einheitliche Arbeit verrichten, funktionieren, bei der Elemente tatsächlich um ähnliche Größen gruppieren. Aber diese Teams benötigen normalerweise überhaupt keine Schätzung. Das Zählen von Elementen gibt Ihnen die gleiche Vorhersagegenauigkeit. Die #NoEstimates-Bewegung macht einen überzeugenden Fall dafür, wann Sie die Schätzung ganz überspringen sollten. Die richtige Skala hängt vom Kontext Ihres Teams ab, aber für die meisten Agile-Teams, die unterschiedliche Arbeiten mit einiger Unsicherheit verrichten, bleibt Fibonacci aus gutem Grund die Standard.

Fibonacci in die Praxis umsetzen

Zu verstehen, warum Fibonacci funktioniert, ist nützlich. Aber der wirkliche Wert kommt von der Verwendung in strukturierten Schätzungssitzungen, an denen das ganze Team teilnimmt. Wenn Sie Planning Poker zum ersten Mal ausführen, beginnen Sie mit der Standard-Fibonacci-Skala (1, 2, 3, 5, 8, 13). Etablieren Sie früh eine Referenz-Story ("Jeder ist sich einig, dass diese Anmeldeformularänderung eine 3 ist") und schätzen Sie alles andere relativ zu diesem Anker. Wenn ein Element stark unterschiedliche Schätzungen generiert, mitteln Sie sie nicht. Diskutieren Sie die Meinungsverschiedenheit. Das ist, wo die Skala ihre Arbeit leistet. Sie können dies mit Ihrem Team mit Kollabes Planning-Poker-Tool versuchen. Wählen Sie Fibonacci als Ihre Skala, laden Sie Ihr Team ein und fangen Sie an zu schätzen. Sie könnten auch Elemente durch den Schätzungs-Komplexitätsanalysator vor der Sitzung durchführen, um Stories zu identifizieren, die wahrscheinlich Meinungsverschiedenheiten generieren.

Stunden messen Dauer, die je nach Person variiert. Ein Senior-Entwickler könnte eine Aufgabe in 2 Stunden fertigstellen, die ein Junior-Entwickler 8 Stunden dauert. Story Points messen Komplexität im Verhältnis zu anderer Arbeit, auf die sich das ganze Team einigen kann, unabhängig davon, wer die Aufgabe übernimmt. Points vermeiden auch die Falle, Schätzungen als Fristen zu behandeln.

Ein Story Point repräsentiert relativen Aufwand und Komplexität im Vergleich zu anderen Stories, die Ihr Team geschätzt hat. Eine 5-Punkte-Story sollte ungefähr doppelt so komplex sein wie eine 3-Punkte-Story und etwa halb so komplex wie eine 8-Punkte-Story. Die spezifischen Zahlen sind in Isolation bedeutungslos. Sie haben nur Bedeutung relativ zueinander innerhalb Ihres Teams.

Einige Teams binden 0 in ihre Fibonacci-Skala ein, um Arbeit darzustellen, die trivial klein ist, wie ein Tippfehler oder eine Konfigurationsänderung. Es signalisiert "das dauert fast keine Zeit, aber wir sollten es nachverfolgen." Andere Teams überspringen 0 und verwenden 1 als ihren kleinsten Wert. Beide Ansätze funktionieren, seien Sie einfach konsistent.

Wenn sich die meisten Ihrer Schätzungen um zwei Werte sammeln, könnten Ihre Stories zu ähnlich groß sein (was eigentlich für die Durchsatzprognose in Ordnung ist) oder Ihr Team könnte nicht genug differenzieren. Versuchen Sie, Ihre Referenz-Stories neu zu kalibrieren. Stellen Sie sicher, dass Ihr "3"-Anker tatsächlich klein und Ihr "13"-Anker tatsächlich groß ist. Wenn alles noch immer zusammengefasst ist, müssen Ihre Stories möglicherweise anders aufgeteilt werden. Siehe unseren Leitfaden zuEpics aufteilenfür Muster.