Iterativ oder inkrementell - wo liegt der Unterschied?

 

Iterativ? Inkrementell? Jeder hat beide Begriffe schon mal gehört oder selbst verwendet - im agilen Projektumfeld werden beide Begriffe immer wieder inflationär verwendet. „Das geschieht iterativ“, hört man in den Erklärungsversuchen der Agile Coaches. Manchmal werden iterativ und inkrementell synonym verwendet, doch meinen die beiden Begriffe auch wirklich dasselbe? Spätestens bei der selbst erlebten Aussage eines Product Owners „Wir gehen iterativ inkrementell vor“ wollten wir diese Begrifflichkeit mal näher beleuchten und ihr einen eigenen Artikel widmen.

 

Nach der klassischen Begriffsdefinition ist ein iteratives Vorgehen eine Schritt für Schritt Überarbeitung, Verfeinerung oder Ergänzung eines zuvor grob ausgestaltetem Gesamtsystems. Das Gesamtziel wird dabei bis zu dessen Erreichen im Blick gehalten.

 

Ein Ansatz mit iterativem Vorgehen ist Design Thinking. Hierbei wird sich über mehrere Iterationen an ein Endprodukt angenähert. Mit jeder Iteration kommt man dem Gesamtziel näher: einem nutzerzentrierten Prototyp oder Business Model. Das Ergebnis bleibt dabei über den gesamten Prozess – je nach Erkenntnisgewinn - variabel, das Gesamtziel bleibt jedoch bestehen.

 

In agilen Projekten bedeutet das, dass ein Entwicklerteam ein Produkt Schritt für Schritt entwickelt oder verbessert, bis das Produkt die vorgegebenen Kriterien erfüllt. In jeder Iteration wird ein Produkt durch das Hinzufügen weiterer Details weiterentwickelt oder verbessert. Iteratives Arbeiten ist also im wesentlichen ein zyklisches Vorgehen.

 

Ein einfaches Beispiel:

Ein Maler erstellt im Kundenauftrag ein Portrait. Geht er iterativ vor, überlegt er sich von Anfang an, welches Gesamtziel er verfolgt: Im ersten Schritt überlegt er sich das Ziel der ersten Iteration und malt z.B. die Umrisse des Gesamtportraits, anschließend überlegt er sich, wie man idealerweise fortfährt und malt z.B. in blassen Farben alle Teile des Portraits aus, um sie dann im dritten Schritt vollständig mit den endgültigen Farben zu kolorieren. Er überlegt sich also pro Iteration auf Basis des bereits geschaffenen Portraits das weitere Vorgehen. Die dabei erzeugten Zwischenschritte ergeben aber noch nicht zwingend ein eigenständiges Gemälde. Die Länge pro Iteration schätzt er für den nächsten für ihn vorhersehbaren Arbeitsschritt gemäß seiner Erfahrung ab.

 

Anders verhält es sich bei dem Begriff inkrementell: Hier wird eine Basis Schritt für Schritt um Inkremente ergänzt. Das Gesamtsystem nähert sich mit jedem Inkrement weiter an das Ziel an.

 

In agilen Projekten heißt das, dass ein Entwicklerteam an einem bestimmten Teil eines Gesamtproduktes arbeitet. Ein Inkrement steht dabei für einen eigenen, definierten Umfang, der auch einzeln funktionsfähig (bzw. auslieferbar) ist.

 

In unserem Beispiel würde der Maler bei inkrementellem Vorgehen zunächst mit dem Kopf des Portraits anfangen, diesen vollständig kolorieren und fertigstellen. Das kann in mehreren Iterationen geschehen. Nun könnte er den fertigen Kopf bereits dem Kunden überreichen. In den nächsten Schritten folgen dann die weiteren Körperteile. Inkrementell erstellt der Maler immer wieder abgeschlossene Teile des Gesamtportraits.

 

Ein agiles Projekt besteht daher sowohl aus iterativen als auch aus inkrementellen Schritten.

Es gibt zwei Wege, die ein agiles Team berücksichtigen muss: den Weg für die Produktfindung (iterativ) und den Weg für die Produktlieferung (inkrementell). Ein agiles Projekt ist deshalb iterativ, weil die Arbeit in aufeinanderfolgenden Iterationen verbessert wird. Gleichzeitig ist es inkrementell, da abgeschlossene Arbeitspakete des Gesamtprojektes während des Prozesses fertiggestellt werden.

 

Dann ist Design Thinking gar nicht agil? Man könnte es so ausdrücken: Design Thinking hilft iterativ bei der Suche nach dem richtigen Problem, das gelöst werden soll. Arbeitsweisen wie Scrum o.a. beschreiben ein sowohl iteratives als auch inkrementelles Framework, um z.B. genau dieses mit Design Thinking gefundene Problem agil zu lösen.

 

Wie man Design Thinking und agile Arbeitsweisen zusammenführen kann, könnt ihr in unserem Artikel „Die Kombination von Design Thinking und agilen Methoden“ lesen.