Aufwandsschätzung mit Story Points

Verwendung von Story Points zur Aufwandsschätzung

In der agilen Softwareentwicklung werden oftmals sog. Story Points eingesetzt, um eine Aufwandsschätzung durchzuführen. Dabei wird zumeist nicht der Aufwand in Personentage zum Erledigen geschätzt, sondern die Komplexität einer Aufgabe. Die Definition der Komplexität wird dabei vom Team erarbeitet und definiert.

In der Regel sind hohe Schätzwerte ein Indiz dafür, dass die aktuellen Informationen nicht ausreichen, um eine konkrete Schätzung abgeben zu können. Ggf. muss in einem solchen Fall der Product Owner mehr Informationen und Anforderungen liefern oder das Team muss die Story in besser schätzbare Teile auseinander brechen.

Erstellen eines Wertebereiches

Als Wertebereich wird zumeist die Fibonacci-Reihenfolge bis 13, ergänzt mit 20, 40 und 100, verwendet. Zur Verdeutlichung der Bedeutung eines Wertes, kann eine Wertetabelle erstellt werden. Ein Beispiel stellt die folgende Tabelle dar:

Wert Bedeutung Beschreibung
0 Bereits erledigt
1 Sehr klein Aufgabe mit niedriger Komplexität
2 Klein Doppelt so große Komplexität wie eine sehr kleine Aufgabe
3 Mittel Entspricht einer sehr kleinen und kleinen Aufgabe
5 Mittelgroß Komplexität entspricht bereits einer mittleren Aufgabe und einer kleinen Aufgabe
8 Groß Komplexität entspricht einer mittelgroßen und einer mittleren Aufgabe
13 Sehr groß Komplexität entspricht einer großen und einer mittelgroßen Aufgabe
20 Riesig Ca. so groß wie eine große und eine sehr große Aufgabe zusammen
40 Gigantisch Kaum schätzbar, doch mindestens so groß wie zwei riesige Aufgaben
100 Unendlich Nicht schätzbar mit aktuellem Wissenstand Unfassbar!

Der Vorteil von Story Points

Die Verwendung von Story Points hat den Vorteil, dass anhand einer Schätzung nicht auf Anhieb der Aufwand abgeleitet werden kann. Schätzungen sind somit weiterhin das, was sie sind: eine vage Ausgabe über die Komplexität, basierend auf einer Schätzung. Ein weiterer Vorteil ist, dass Schätzungen basierend auf Story Points nicht verwendet werden können, um die Performance von Team-Mitgliedern oder Teams miteinander vergleichen zu können. Jedes Team erstellt für sich selbst eine eigene Wertetabelle der Schätzpunkte und findet ein für sich passendes System, um Aufgaben zu schätzen. Daher sind Abweichungen innerhalb eines Unternehmens bisweilen unausweichlich.

Erstellen eines Wertebereichs anhand eines Beispiels

story-points-Wertetabelle-270x250@2x
Wertetabelle

Eine Methode zum Definieren einer Wertetabelle ist das Heranziehen einer Referenz-Story. Dabei einigt sich das Team zunächst auf eine Referenz-Story, die nicht zu groß und nicht zu klein ist und die von allen Team-Mitgliedern geschätzt werden kann. Aufbauend auf dieser Referenz, werden die weiteren Stories im Backlog geschätzt und in eine Relation zueinander gesetzt. Aufgaben mit vergleichbaren Schätzungen können gestapelt werden, so dass im Idealfall am Ende eine überschaubare Anzahl Stapel übrig bleibt. Eine Lösung zum Aufbau der Wertetabelle kann sein, dass der Stapel mit der niedrigsten Schätzung die Story Point-Wertung 1 erhält, der nächste Stapel die 2 usw.

Schätzung der Dauer anhand der Velocity

Um aus geschätzten Stories ableiten zu können, wie lange es in etwa dauern wird, bis sie umgesetzt worden sind, wird die Velocity herangezogen. Die Velocity ist der Durchsatz an Story Points, den das Team bisher erzielt hat (bzw. die Anzahl der Story Points, die das Team pro Sprint erledigt). Über mehrere Sprints hinweg wird festgehalten, wie viele Story Points erledigt werden konnten. Bleiben Wertetabelle, Referenz-Stories und Team-Zusammensetzung über diesen Zeitraum gleich, kann diese Velocity zur Release-Planung verwendet werden. Ein eingespieltes Team wird im Laufe eines Projektes die Velocity vermutlich steigern und folglich mehr Story Points pro Sprints als am Anfang umsetzen können. Die Schätzungen der Stories sind davon nicht betroffen und müssen nicht angepasst werden, da sie lediglich etwas über die Komplexität, aber nicht den Aufwand aussagen.