Fachwissen
Bei komplexen Projekten mit einem hohen Grad an Unsicherheit—wie beispielsweise bei einem Softwareentwicklungsprojekt—helfen agile Ansätze und Methoden, das Risiko von Mehrkosten, Verzögerungen und Misserfolg zu minimieren. Agiles Vorgehen reduziert das Risiko in Projekten nach dem Grundsatz:
“Liefere so früh wie möglich einen Mehrwert”.
Konkret heisst das, dass alle Projektbeteiligten auf jene Aktivitäten fokussieren sollen, welche mit möglichst wenig Aufwand einen maximalen Mehrwert (Ertrag) bieten.
Um den Schwerpunkt auf die richtigen Projektaktivitäten zu setzen, muss in einem agilen Projekt der Aufwand und der zu erwartende Mehrwert vor Beginn geschätzt werden. Den Aufwand (aber auch den Mehrwert) eines Projektes oder einer Aktivität zu schätzen, ist eine nicht triviale Aufgabe, erst recht, wenn eine absolute Schätzung (z.B. in Tagen/Stunden/Kosten) gefordert wird. Dies wird unter anderem dadurch veranschaulicht, dass ein Grossteil der Softwareentwicklungsprojekte (60-80%) den geplanten Aufwand oder Fristen überschreiten [2].
Mit einer quantifizierbaren und realistischen Schätzung für Aufwand und Ertrag lässt sich entscheiden, auf welche Projektaktivitäten fokussiert werden soll. Damit kann dem Grundsatz _“Liefere so früh wie möglich einen Mehrwert” _Folge geleistet werden. Aus den beiden Schätzungswerten lässt sich ein Aufwand-Ertrag-Verhältnis berechnen. Die Projektaktivitäten mit dem besten Ertrag-zu-Aufwand Verhältnis können somit priorisiert werden.
Agile Estimation ist ein Ansatz, um quantifizierbare und realistische Schätzungen für Aufwand und Ertrag von Projektaktivitäten (z.B. das Entwickeln von einzelnen Produktfeatures einer Softwareapplikation) zu erhalten. Wir tun uns meist schwer damit, Dinge absolut zu schätzen. Das gilt nicht nur für Zeit und Geld, sondern auch für Dinge wie Gewicht oder Distanz. Vergleiche liegen uns hingegen viel mehr: Gegenstand A ist schwerer als Gegenstand B. Tätigkeit X dauert länger als Tätigkeit Y.
Agile Estimation basiert auf der Fähigkeit des Menschen, Dinge relativ—also vergleichend—zu schätzen. Projektaktivitäten werden in Form von User Stories festgehalten, welche die Anforderungen oder Projektziele aus Nutzersicht definieren. Die Nutzerperspektive hilft dabei, den Wert einer User Story für den Adressaten (z.B. einen Kunden oder Softwarenutzer) abzuschätzen. Der Aufwand und der Ertrag einer User Story wird dabei immer im Vergleich zu anderen User Stories geschätzt.
Um daraus quantifizierbare Schätzungen abzuleiten, werden den geordneten User Stories Punkte zugeordnet: Value Points für den Wert und Story Points für den Ertrag. Die möglichen Punkte sind Zahlen aus der Fibonacci-Folge (1,2,3,5,8,13,...). Die Verwendung von Fibonacci-Zahlen hat sich für die relative Schätzung von User Stories als besonders sinnvoll erwiesen. Die nächsthöhere Fibonacci-Zahl ist jeweils ca. 60% grösser wie die Vorhergehende.
Das folgende Video erklärt im Detail wie Agile Estimation funktioniert.
Um die Zuverlässigkeit der Schätzungen in der Praxis zu erhöhen, werden die User Stories in sogenannten Refinement-Meetings geschätzt. Jedes Teammitglied gibt dabei eine unabhängige Schätzung ab. Weichen die Schätzungen voneinander ab, wird solange diskutiert, bis sich das Team einig ist.
Business-Teams schätzen den Wert (Value Points), während die Implementierungs- oder Entwicklerteams den Aufwand schätzen (Story Points). Gemeinsam wird dann das Ertrag-zu-Aufwand Verhältnis berechnet und über die Priorisierung verhandelt. Manchmal bestimmen auch Randbedingungen über die finale Priorisierung. Bei einem Haus beispielsweise muss zuerst das Fundament gebaut werden, bevor mit dem Mauerwerk begonnen werden kann.
Um die Unabhängigkeit der Schätzungen zu gewährleisten, spielt das Projekt- oder Entwicklungsteam Agile Estimation Poker. Estimation Poker ist eine agile Method, welche auch als "Planning Poker" oder "Scrum Poker" bekannt ist. Jedes Teammitglied erhält ein Spielkarten-Set mit Fibonacci-Zahlen. Auf Kommando zeigen alle Teammitglieder gleichzeitig die jeweilige Karte mit dem geschätzten Wert. Mit diesem Vorgehen bleibt die eigene Meinung unbeeinflusst von den Einschätzungen der Kollegen.
Das Estimation-Poker-Kartenset hat auch zwei Sonderkarten: Split und Unknown. Die Split-Karte signalisiert, dass der Schätzer die User Story als zu gross empfindet und eine Aufteilung in zwei kleinere User Stories empfiehlt. Die Unknown-Karte signalisiert, dass sich ein Teammitglied nicht in der Lage befindet, eine zuverlässige Schätzung abzugeben—z.B. weil die User Story ausserhalb des Kompetenzbereichs liegt.
Agile Estimation mittels Estimation Poker ist ein praxisbewährter Ansatz, um quantifizierbare und realistische Schätzungen für Aufwand und Ertrag von Projektaktivitäten in einem Agile Projekt vorzunehmen. Nur zuverlässige Schätzungen erlauben es, Projektaktivitäten so zu priorisieren, dass dem Grundsatz “Liefere so früh wie möglich einen Mehrwert” konsequent gefolgt werden kann. Damit werden die Erfolgsaussichten erhöht und das Projektrisiko minimiert.