Autor
Ein kontroverses, beinahe philosophisches Thema
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.
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.
Ü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.