Autor
Eine Aufwandsschätzung ist wichtiger Bestandteil der Planung eines Softwareprojektes. Klassisch wird dabei das Lastenheft analysiert und den Anforderungen eine Anzahl konkreter Personentage zugeordnet. Die Erfahrung (nicht nur der agilen Projektwelt) hat aber gezeigt, dass das vergleichende Schätzen in abstrakten Schätzmaßen zu deutlich schnelleren und besseren Ergebnissen führt.
Ein wichtiger Unterschied zu klassischen Schätzverfahren liegt zunächst in der Unterscheidung zwischen Komplexität und Aufwand. Geschätzt wird nicht mehr der Aufwand, sondern nur die Komplexität eines umzusetzenden Features.
Der Wegbereiter dieser Methodik war Barry W. Boehm, der mit der Function-Point-Analyse den Fokus von der Umsetzungsdauer hin zur Komplexität eines Features verschoben hat. Der Umfang eines fachlichen Features lässt sich in einem abstrakten Komplexitätsmaß (den Function Points) ausdrücken. Der Aufwand, der zur Umsetzung des Features benötigt wird, leitet sich dann aus weiteren Faktoren ab.
Der schnelle Überblick
Agiles Schätzen ist eine Methode zur Aufwandsschätzung in Softwareprojekten, die den Fokus von absoluten Zeitangaben auf die relative Komplexität von Anforderungen verlagert. Anstatt konkrete Personentage zuzuweisen, werden Anforderungen in sogenannten Story Points bewertet, die die Komplexität und den Umfang einer Aufgabe widerspiegeln.
Im agilen Kontext werden Anforderungen in User Stories zerlegt, die jeweils einen spezifischen Mehrwert für das Produkt darstellen. Diese Stories sollten so formuliert sein, dass sie innerhalb eines kurzen Zeitrahmens, typischerweise ein bis zwei Wochen, umgesetzt werden können. Die Bewertung erfolgt in Story Points, wobei das Team die relative Komplexität der Stories durch Vergleich mit bereits bekannten Aufgaben einschätzt.
Eine alternative Herangehensweise ist der No-Estimates-Ansatz, bei dem auf detaillierte Schätzungen verzichtet wird. Stattdessen werden Vorhersagen und Entscheidungen anhand datengetriebener Durchlaufzeiten getroffen. Dieser Ansatz basiert auf der Annahme, dass historische Daten über die Durchlaufzeit von Aufgaben ausreichend sind, um zukünftige Planungen zu steuern.
Zusammenfassend bietet agiles Schätzen durch den Fokus auf relative Komplexität und die Einbindung des gesamten Teams eine effektivere und objektivere Methode zur Aufwandsschätzung in agilen Projekten.
Im Kontext agiler Projekte hat sich das Schätzen in abstrakten Schätzmaßen durchgesetzt. Hier wird nicht ein großes Lastenheft "am Stück" vor Projektstart geschätzt. Stattdessen werden die Anforderungen in Storys zerlegt. Jede Story beschreibt eine Anforderung, die für das Produkt einen Mehrwert darstellt. Die Storys sind so zu formulieren, dass sie innerhalb eines Zeitrahmens von ein bis zwei Wochen umsetzbar sind.
Der Vorteil dieser Zerlegung besteht darin, dass Storys dieser Größe sich in ihrer Komplexität schnell schätzen lassen. Als Einheit werden Story Points verwendet, die durch das Vergleichen verschiedener Storys vergeben werden (Analogieverfahren).
Zur Aufwandsschätzung gelangt man durch den Velocity-Faktor. Der Faktor gibt an, wie viele Story Points in einem definierten Zeitbereich umgesetzt werden können.
Im Wesentlichen gibt es drei Möglichkeiten zur Ermittlung des Velocity-Faktors:
In agilen Projekten wird großer Wert auf das Commitment und die Selbststeuerung eines Teams gelegt. Deshalb ist es beim Schätzen besonders wichtig, dass das gesamte Team einbezogen wird und die Schätzwerte stützt. Eine im agilen Umfeld weitverbreitete Technik ist das Ermitteln der Story-Point-Werte über Schätz-Poker.
Pro Story legt jedes Teammitglied verdeckt (und damit von anderen unbeeinflusst) eine Karte mit dem geschätzten Komplexitätswert auf den Tisch. Dann werden alle Karten gleichzeitig aufgedeckt.
Gibt es nach dem Aufdecken der Karten große Abweichung in der Einschätzung, dann wird im Team über diese unterschiedlichen Bewertungen diskutiert. Nach ein bis zwei weiteren Schätzrunden sollten die Werte dann konvergieren.
Auf diese Weise gelangt das Team schnell zu einem tieferen Verständnis der umzusetzenden Storys und zu guten Schätzwerten.
Interesse geweckt?
In einer Welt, in der Unternehmen komplexe gesellschaftliche Herausforderungen lösen, ist effektive Teamarbeit entscheidend für den Erfolg. Jedes Unternehmen existiert, weil es Probleme löst, die ein Einzelner nicht bewältigen kann. Daher ist Teamarbeit ein grundlegender Baustein.
Über den Autor
Markus arbeitet seit 2010 als Organizational Design Consultant, Certified Scrum Trainer (CST) und Agile Coach für it-agile. Markus präsentiert regelmäßig auf agilen Konferenzen und widmet sich dem Schreiben über agile Softwareentwicklung, Software Craftsmanship und Software Testen, vornehmlich in einem agilen Umfeld.
Veröffentlichungen (u. a.)
Kennen Sie eigentlich schon it-agile?
Kund:innen wollen begeistert werden. Mit innovativen Produkten, durch Schnelligkeit, Transparenz und auch Verlässlichkeit. Unsere erfahrenen Agile Coaches sorgen gemeinsam mit Ihren Teams und Führungskräften dafür, auch in komplexer Umgebung Ihre Ziele nicht aus dem Auge zu verlieren und implementieren die richtigen agilen Methoden für nachhaltige Veränderung.