Direkt zum Inhalt wechseln

Schätzen in agilen Projekten mit Story Points

Aufwandsabschätzung von agilen Softwareprojekten

von DI (FH) Andreas Lettner

Eine der größten Herausforderungen in der Entwicklung von Individualsoftware liegt in einer doch einigermaßen einfach klingenden Aufgabe: der Aufwandsabschätzung. Der Begriff beinhaltet eine “Schätzung”, was grundsätzlich den empirischen Charakter dieser Aufgabe aufzeigt. Dennoch sind insbesondere in der Anbahnungsphase möglichst “genaue Schätzungen” gefragt und teilweise werden diese sogar als Vertragsbasis herangezogen. 

Um den Umfang eines Projektes für Angebot und auch Umsetzung vorab einzuschätzen, werden herkömmlicherweise Personenstunden oder -tage verwendet. Dies birgt einige Probleme und Gefahren mit sich.  Komplexe Aufgabenstellungen sind vor Projektbeginn oftmals nicht abschätzbar, zu großzügige Puffer oder kurze Zeitfenster lassen somit Angebote oft ungenau werden.



Inhalt

  • Alles ist relativ
  • Unterschiedliche Geschwindigkeiten miteinberechnen
  • Win-win Situation: Vorteile für Kunde und Softwareentwickler
  • Autor
Softwareproject

Alles ist relativ

Anders ist die Schätzung mit Story Points: Sie basiert nicht auf absoluten Werten, sondern auf relativen.  Story Points können auf unterschiedliche Werte, welche die Komplexität einer Aufgabenstellung festlegen, angesetzt werden. Am gängigsten ist jedoch eine allgemeine Bewertung des Umfangs oder Aufwands. Eine direkte Konvertierung in eine konkrete Zeitaussage ist vorerst nicht möglich.

Mit Story Points werden Aufgaben von den Mitgliedern des Entwicklungsteams in Relation zueinander geschätzt. Exemplarisch wird von einem Team eine bekannte Aufgabe definiert, welche mit der dazugehörigen Schätzung (z.B. 3 Story Points) einen Ausgangswert für weitere Schätzungen bietet. Jede künftige Aufgabe wird nun in Relation zu dieser Messgröße vom gesamten Entwicklungsteam geschätzt. Menschen fällt es meist sehr leicht einen Aufwand in “größer als” oder “kleiner als” einzuschätzen, weshalb an dieser Stelle ein erster Vorteil der Story Points besteht. Weiters werden Story Points in einer angepassten Fibonacci-Folge verwendet, welche die Werte 0, 1, 2, 3, 5, 8, 13, 20, 40, 100 und ∞ beinhaltet. Diese Skala erlaubt eine Schätzung in größer werdenden Bereichen, welche hier vor allem noch nicht genau spezifizierte oder zu große Aufgaben erkennbar macht. Es ist nicht notwendig diese Skala in ihrer Gesamtheit auszunutzen. Durchgeführt wird eine solche Schätzung vom Entwicklungsteam z.B. mit Karten im “Planning Poker”.

Story Points

Unterschiedliche Geschwindigkeiten miteinberechnen

Um Story Points für agile Softwareentwicklung nutzen zu können, wird ein weiterer Wert benötigt: die Teamgeschwindigkeit (Velocity). Die Teamgeschwindigkeit gibt an, wie viele Story Points das Team durchschnittlich je Iteration leisten kann. Dieser Wert ist variabel und ändert sich üblicherweise über die Dauer eines Projekts, weshalb kontinuierliche Beobachtungen und Anpassungen notwendig sind. Vor allem die Stabilität der Teamzusammensetzung ist hierfür eine essentielle Voraussetzung. Die Begründung liegt darin, dass die Schätzung nicht nur relativ im Bezug auf die Aufgaben, sondern auch unabhängig vom Leistungspotential der einzelnen Teammitglieder geschieht. Eine Aufgabe mit 3 Story Points kann für ein Teammitglied einen tatsächlichen Zeitaufwand von 5 Stunden bedeuten, für ein anderes Teammitglied nur 3 Stunden. Da Story Points als Team vergeben und die Aufgaben auch als Team mit bekannter Teamgeschwindigkeit bearbeitet werden, ergibt sich eine gute Vorhersagbarkeit über den möglichen Umsetzungsumfang einer Iteration.

Werden für die Teamgeschwindigkeit drei Werte herangezogen, nämlich die durchschnittliche, die schnellste und die langsamste der letzten 6 Iterationen, so kann für die Vorhersagbarkeit der Umsetzungsdauer ein Korridor angegeben werden, welche in Hinsicht auf eine Planung weitere Vorteile bietet. So können damit Aufgaben in einem Backlog einfach identifiziert werden, welche gemäß der aktuellen Planung zeitlich nicht möglich sind oder welche garantiert werden können.

Entwicklung

Win-win-Situation: Vorteile für Kunde und Softwareentwickler

Das Schätzen mit Story Points bietet somit den Kund*innen eine bestmögliche Transparenz für die Planung, Kontrolle und Anpassung einer Projektroadmap. Somit können trotz agiler Vorgehensweise zuverlässige Aussagen über Machbarkeit, Fertigstellung, etc. gemacht werden. Auch für das Entwicklungsteam ist eine Planbarkeit bei gleichzeitiger Agilität gewährleistet. Die RISC Software GmbH setzt Story Points seit längerem in den agilen Projekten erfolgreich ein.

Kontakt









    Autor

    DI (FH) Andreas Lettner

    Head of Unit Domain-Specific Applications, Head of Coaches