Katzen werfen zur Kalkulation im agilen Anforderungsmanagement

Blog – Technik und Methoden
Verfasst von Christian Seedig am 10. April 2018

Um das Verständnis agiler Vorgehensweisen zu fördern hat es sich als sinnvoll herausgestellt, Agilität mit ihren abstrakten Methoden durch kleinere Spiele erlebbar zu machen. Aus diesem Grunde haben wir in der letzten Woche bei einem unserer Kunden mit Katzen geworfen.

Bevor die Tierschützer unter uns nun Schnappatmung bekommen, möchte ich betonen, dass wir natürlich keine echten Tiere geworfen haben sondern lediglich die Herausforderung einer solchen Aktion gedanklich aufbereitet haben.

Warum dieses Spiel?

Konkret geht es bei dem Spiel „Throwing a Cat“ darum, obwohl die Anforderungen noch nicht ausreichend detailliert sind, zu einer Schätzung des damit verbundenen Aufwandes zu kommen. Eben so, wie es in jedem erdenklichen Softwareentwicklungs-Projekt zu Beginn der Fall ist. Bekanntlich wird in agilen Projekten bewusst auf eine zeit- und kostenintensive Analysephase verzichtet, da die mglw. erst spät im Projekt umsetzbaren detailliert ausgearbeiteten Anforderungen sich bis dahin noch mehrmals ändern können.

Wir vermeiden ganz agil jede Kraftverschwendung, und nähern uns dem Thema Komplexität pragmatisch und unter Berücksichtigung einer bestehenden Fehlertoleranz – und lernen mit dieser Ungenauigkeit umzugehen. Wie die Erfahrung zeigt werden einige Anforderungen aufgrund eines nicht eintretenden Risikos zu hoch geschätzt wobei andere deutlich mehr Aufwand erzeugen werden. Diese Effekte relativieren sich in der Regel gegenseitig – man muss nur die Ruhe bewahren.

Spielverlauf beim Kunden

Beim dem Spiel „Throwing a Cat“ haben die Teilnehmenden die Aufgabe, den Aufwand für den Bau einer Maschine zu bewerten, die einen bestimmten Gegenstand mindestens einen Meter weit werfen soll. Neben der schon beschriebenen Katze ging es konkret auch um den Bau von Wurfmaschinen für, zum Beispiel, einen Ball, Papier, einen Ballon, ein Flamberge oder eine Feder. Jede Maschine ist von den Teilnehmenden bezüglich Ihres Aufwandes in der Herstellung zu kalkulieren. Genauere Details zu den Gegenständen sind vorerst nicht bekannt. Nun ist es zur Bewertung sicherlich nicht unerheblich zu wissen ob es sich um eine lebendige Katze handelt und welchen Grad an Kooperationsbereitschaft diese mitbringt sich werfen zu lassen. Ebenso muss bei „Papier“ genauer hinterfragt werden in welcher Form und Menge dieses vorliegt und ob man z.B. diese verändern kann, denn ein Blatt Papier zu einem Flieger zu falten und zu werfen bedeutet weniger Aufwand beim Bau der Maschine als eine 1000kg Rolle Papier oder ein DIN A4 Blatt, welches nicht in seiner Form verändert werden darf.

Während des Spiels bewerten zwei Teams unabhängige Parameter. Ein Team bewertet das Gewicht des Gegenstandes und ein anderes den Aufwand diesen Gegenstand zu werfen. Die einzelnen Gegenstände werden dabei in Cluster von ähnlichem Aufwand oder Gewicht eingeteilt. Man verwendet dabei die angepasste Fibonacci-Folge um die Zuordnungen darzustellen. Diese ist in der agilen Softwareentwicklung ein gern genommenes Mittel, da man dabei lediglich Verhältnisse bewertet. Zum Beispiel A ist doppelt so groß wie B, oder C ist 10 mal so schwer wie D.

Während der Bildung von Clustern finden sehr spannende und kurzweilige Diskussionen darüber statt, welche Parameter die Schwierigkeit der Aufgabe beeinflussen könnten. Am Ende kommen beide Teams zusammen und gleichen ihre Ergebnisse ab. Dabei wird schnell offensichtlich, dass hier keinerlei Parallelen zwischen Gewicht und Aufwand bestehen. So wirken sich auf den Bau der Maschine z.B. die Unbekannten bei der Katze deutlich weniger stark aus als beim Papier oder dem Ballon. Gespielt wird in zwei Runden, wobei in der ersten Runde kein Product Owner für weitere Fragen zur Verfügung steht. In der zweiten Runde kann dieser allerdings Details zu den Gegenständen preisgeben.

Der Effekt des Spiels

Im Anschluss an das Spiel wurde mit den neu erworbenen Erfahrungen ein komplettes Entwicklungsprojekt in nur einer Stunde vom Team diskutiert und kalkuliert. Aufgrund der vorherigen Zuordnung zu Verhältnissen und der bewussten Inkaufnahme der Unschärfe müssen weder Risikozuschläge noch sonstige Korrekturfaktoren berücksichtigt werden. Durch die Auseinandersetzung des kompletten Teams mit allen bisher bekannten Anforderungen des Projektes werden Aufwandstreiber und risikobehaftete Anforderungen sofort transparent. So können sie bereits zu Beginn des Projektes zur Bearbeitung oder zur genaueren Analyse des Risikos priorisiert werden. Dadurch lassen sich böse Überraschungen während des Projektes weitgehend vermeiden.

Sofern die Anforderung besteht, eine Kalkulation auch in Euro zu erzeugen, müssen lediglich die Cluster mit Euro-Werten bewertet werden. Anhand der jeweils zugeordneten Anforderungen lässt sich daraus dann das problemlos das erforderliche Projektbudget für die Umsetzung ableiten. Als einziger Zuschlag müsste man noch die Projektsteuerung betrachten, sämtliche anderen Zuschläge sind ja bereits enthalten.

Links

Agile Beratung der HEC

Anforderungsmanagement der HEC

Diese und weitere Ideen zu agilen Spielen