Iterativ ist noch lange nicht inkrementell
10. Februar 2020
Die Begriffe „iterativ“ und „inkrementell“ werden im Kontext von agilen Prozessen so häufig und selbstverständlich verwendet, dass ihre Bedeutung gar nicht mehr hinterfragt wird. Teilweise sind die beiden Begriffen auch schon zu Synonymen verkommen. Von agiler Entwicklung wird oftmals als einem iterativ-inkrementellen Prozess gesprochen. Diese Bezeichnung legt bereits nahe, dass es sich dabei tatsächlich um zwei unterschiedliche, sich ergänzende Konzepte handelt. Im Folgenden wollen wir kurz beleuchten, was diese Unterschiede sind und natürlich auch, welche praktischen Implikationen diese Unterscheidung mit sich bringen. Denn dahinter verbirgt sich weitaus mehr als Haarspalterei.
Phasengetriebene Entwicklung
In der klassischen, phasengetriebenen Entwicklung (Wasserfall) sind im Projektzeitraum die einzelnen Aktivitäten wie Planung, Entwurf, Umsetzung und Testen zusammengefasst, vom Plan bis zum Endergebnis. Alle notwendigen Schritte werden genau einmal ausgeführt. Der Begriff Wasserfall hat seinen Ursprung ja genau darin, dass diese Phasen sequenziell nacheinander abgeschlossen werden bevor eine Folgephase gestartet wird und man sich im Prozess somit nicht rückwärts bewegt.
Für die phasengetriebene Entwicklung wird zu Beginn ein Plan für das Gesamtprojekt erstellt mit dem Ziel, das Projektende zu prognostizieren und durch ein entsprechendes Projektcontrolling während der Projektrealisierungen Abweichungen vom Plan rechtzeitig zu erkennen. Bei Abweichungen vom Plan wird durch entsprechende Maßnahmen (z.B. Erhöhung der Kapazitäten) versucht, wieder in Plan zu kommen.
Iterative Entwicklung
Wer iterativ vorgeht, erstellt zunächst ebenfalls einen groben Gesamtplan aller notwendigen Arbeitsschritte. Doch anders als beim klassischen „Wasserfall“ wird dieser Gesamtplan dann in einzelne kleine Teilschritte, die Iterationen unterteilt und immer lediglich die nächste Iteration detailliert geplant und dann umgesetzt. Oftmals wird hier zwischen Anforderung und Lösung unterschieden. Die Anforderungen des Projektes stellen den groben Gesamtplan dar, die konkrete Umsetzung dieser Anforderungen wird iterativ erarbeitet.
Das iterativ arbeitende Team hat also die Möglichkeit, Erkenntnisse aus einer abgeschlossenen Iteration in die Planung der nächsten Iteration einfließen zu lassen. Das Ziel bleibt aber, den Gesamtplan einzuhalten. Dieser gibt aber dennoch beispielsweise den Funktionsumfang relativ starr vor. Die Flexibilität ergibt sich in erster Linie bei der Lösungsfindung. Das Controlling bei iterativem Vorgehen erfolgt zumeist durch eine Überprüfung des Projektfortschritts..
Inkrementelle Entwicklung
Die inkrementelle Entwicklung ist oftmals mit einem iterativen Vorgehen kombiniert. Man spricht dann auch von einer iterativ-inkrementellen Entwicklung. Der entscheidende Unterschied zur iterativen Arbeitsweise besteht darin, dass ein Team, das iterativ-inkrementell vorgeht, den Gesamtplan mit einem Ziel, einer Vision ersetzt. Der Umfang und der Weg zum Ziel sind jedoch komplett ergebnisoffen. Einen Plan im klassischen Sinn gibt es nicht mehr. Vielmehr wird nach jedem Schritt reflektiert, was bis hierher erreicht wurde und mit welchem nächsten Schritt man glaubt, dem Ziel am besten näher zu kommen. Das heißt dass das Ergebnis am Ende des Projektes ganz anders aussehen kann, als ursprünglich gedacht, wenn dieses Ergebnis die Vision besser erfüllt.
Während also beim iterativen Vorgehen eine Änderung des Plans in Aussicht gestellt wird, sollten sich neue Erkenntnisse ergeben, wird beim iterativ-inkrementellen Vorgehen ein solche Plan erst gar nicht aufgestellt. Das Risiko, den Plan erst zu spät im Projekt zu hinterfragen besteht somit gar nicht und es wird immer auf Basis der aktuellsten Erkenntnisse darüber entschieden, wie der Nutzen durch die investierte Arbeit optimiert werden kann. Das setzt aber immer auch eine Reflexion am Ende einer jeden Iteration voraus. In einem Scrum-Kontext wären das Sprint-Review und die Sprint-Retrospektive solche Reflexionspunkte.
Iterativ-Inkrementell meistern
Das iterativ-inkrementell arbeitende Team verliert also die vermeintliche Sicherheit des festen Plans. Aber es gewinnt unendlich viel Spielraum und Flexibilität: Neue Ideen können einfach ausprobiert werden – spätestens in der nächsten Reflexion berät man ja darüber, welchen Nutzen sie bringen. Erkenntnisgewinn und neue kreative Lösungsansätze gewinnen mehr Raum bei der Optimierung des Nutzens im Vergleich zur Abarbeitungsgeschwindigkeit. Somit entsteht ein völlig anderes, motivierendes Arbeitsumfeld, in dem Kunde und Entwickler gemeinsam nach dem besten, effizientesten und schnellsten Weg zur Realisierung der Vision suchen. Nicht schnelleres Arbeiten ist das Ziel, sondern die Funktionalitäten zu identifizieren, die dem Nutzen einen größtmöglichen Mehrwert bringen.
Wichtig ist, sich klar zu machen, dass eine ergebnisoffene Zusammenarbeit nach iterativ-inkrementellem Muster allen Beteiligten abverlangt, völlig neu zu denken. Allen Beteiligten: dies schließt auch die Auftraggeber mit ein. Muss das Team bereit sein, sich auf das „Einfach mal ausprobieren“ einzulassen (und darauf, dass dabei unter Umständen auch einmal ein „Umwege erhöhen die Ortskenntnis“ herauskommt), so müssen Auftraggeber bereit sein, das Team auf seinem Weg zu begleiten und im Dialog zu bleiben. Das bei vielen Auftraggebern so beliebte „Dann machen Sie mal, bis in drei Wochen/Monaten/Jahren dann!“ ist nicht mehr möglich.
Fazit
Versteht ein Team den agilen Gedanken richtig, wird es sich nicht mit der iterativen Arbeitsweise zufriedengeben. Diese sollte nämlich lediglich als Vorstufe verstanden werden zum – aus meiner Sicht – Optimum: der iterativ-inkrementellen Arbeitsweise. Diese bedeutet die endgültige Abkehr von der Vorstellung, man könne in hochkomplexen Bereichen, wie etwa der Softwareentwicklung ein Projekt tatsächlich von Anfang bis Ende absehen und planen. Sie bedeutet auch, sich auf ganz neue, weil völlig ergebnisoffene Arbeitsprozesse einzulassen, was Auftraggeber wie -nehmer gleichermaßen herausfordert. Dafür gewinnt ein Team die Freiheit, ohne auf die Arbeit nach Plan fixiert zu sein, ganz eigene Wege zu überzeugenden Resultaten finden zu können. Schade, dass viele Organisationen sich mit iterativem Vorgehen bereits begnügen und irrtümlich glauben, dass sie bereits das volle Potenzial von Agilität ausschöpfen oder vor den Herausforderungen iterativ-inkrementellem Vorgehen zurückschrecken.
Wie Führungskräfte die organisatorischen Veränderungen hin zu einem iterativ-inkrementellen Vorgehen begleiten und unterstützen können ist beispielsweise Inhalt des Professional Agile Leadership Trainings (https://www.agilemax.de/trainings/pale).
Sie finden das Thema spannend und möchten mehr darüber erfahren? Vielleicht ist das Professional Agile Leadership Training für sie interessant?
Oder sie vereinbaren einen Termin zu einem kostenlosen und unverbindlichen Gedankenaustausch.
Termin vereinbaren