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.

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 Entwicklerteam 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 Entwicklerteam z.B. mit Karten im “Planning Poker”.

Story Points 1 Small

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.

Death To Stock Communicate Hands 1

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

Das Schätzen mit Story Points bietet somit den Kundinnen und Kunden 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 Entwicklerteam 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.

Autor

DI (FH) Andreas Lettner ist Senior Project Manager & Scrum Master in der Abteilung Logistics Informatics.

Weitere Fachbeiträge zu agiler Softwareentwicklung

Haben Sie Fragen oder möchten Sie ein Projekt mit uns Starten? Kontaktieren Sie uns!

Diesen Beitrag mit Ihrem Netzwerk teilen: