Iterativ oder inkrementell? Was ist der Unterschied?

Manage­ment-Zusam­men­fas­sung zu die­sem Bei­trag:
Die Begrif­fe Ite­ra­tiv und Inkre­men­tell wer­den im → Soft­ware Engi­nee­ring und im → Requi­re­ments Engi­nee­ring benutzt. Auch wenn bei­de Begrif­fe häu­fig zusam­men genutzt wer­den, so soll­te der Unter­schied den­noch bekannt sein.
In die­sem Bei­trag wird eine Beschrei­bung der bei­den Begrif­fe geliefert.

Die bei­den Begrif­fe kön­nen fol­gen­der­ma­ßen cha­rak­te­ri­siert werden:

  • Ite­ra­tiv: Vor­gang zur Ver­bes­se­rung des Bestehenden
  • Inkre­men­tell: Vor­gang zum Aus­bau / Ergän­zen des Bestehenden

In der Wiki­pe­dia steht zur Ite­ra­ti­on /#Wiki-Iteration/:
“Ite­ra­ti­on (von latei­nisch iter­a­re “wie­der­ho­len”) beschreibt all­ge­mein einen Pro­zess mehr­fa­chen Wie­der­ho­lens glei­cher oder ähn­li­cher Hand­lun­gen zur Annä­he­rung an eine Lösung oder ein bestimm­tes Ziel. Mit die­ser Bedeu­tung erst­mals in der Mathe­ma­tik ver­wen­det, ist der Begriff heu­te in ver­schie­de­nen Berei­chen mit ähn­li­cher Bedeu­tung in Gebrauch. Bei­spiels­wei­se in der Infor­ma­tik wird nicht nur der Pro­zess der Wie­der­ho­lung, son­dern auch das Wie­der­hol­te selbst als Ite­ra­ti­on bezeichnet.”

Zum Inkre­ment schreibt die Wiki­pe­dia /#Wiki-Iteration/:
“Bei der schritt­wei­sen Erhö­hung oder Ver­min­de­rung einer Grö­ße oder Varia­blen ist das Inkre­ment (von latei­nisch incre­men­ta­re “ver­grö­ßern”) bzw. Dekre­ment (von lat. decre­men­ta­re “ver­min­dern”) der fest­ge­leg­te Betrag der Änderung.”

Ebert /Ebert19/ defi­niert die bei­den Begrif­fe wie folgt:

  • “Inkre­ment (Incre­ment) Ent­wick­lungs­in­ter­ne Lie­fer­stu­fe eines → Pro­dukts. Inkre­men­te die­nen dazu, gro­ße Pro­jek­te zu unter­tei­len und damit das Risi­ko beherrsch­bar zu machen
  • Ite­ra­ti­on (Ite­ra­ti­on): Ent­wick­lungs­in­ter­ne Lie­fer­stu­fe eines Pro­dukts. Ite­ra­tio­nen wer­den dann ein­ge­setzt, wenn zu → Pro­jekt­be­ginn noch nicht alle Anfor­de­run­gen oder Rand­be­din­gun­gen bekannt sind. Ite­ra­tio­nen die­nen wie Inkre­men­te dazu, gro­ße Pro­jek­te zu unter­tei­len und damit das Risi­ko beherrsch­bar zu machen.”

Die Unter­schie­de von Ite­ra­tiv und Inkre­men­tell / Ite­ra­ti­on und Inkre­ment (im Soft­ware Engi­nee­ring) sind in Abbil­dung 1 wiedergegeben.

Unterschiede Iterativ und Inkrementell, (C) Peterjohann Consulting, 2020-2022

Abbil­dung 1: Unter­schie­de Ite­ra­tiv und Inkrementell

In Abbil­dung 2 ist der Unter­schied bild­lich dar­ge­stellt: Wäh­rend bei der ite­ra­ti­ven Vor­ge­hens­wei­se ver­sucht wird den Gesamt­um­fang zu errei­chen, wird bei der inkre­men­tel­len Vor­ge­hens­wei­se der gesam­te Umfang erst meh­re­ren Schrit­ten / Inkre­men­ten erreicht.

Unterschied Iterativ und Inkrementell - bildlicher Vergleich, (C) Peterjohann Consulting, 2020-2022

Abbil­dung 2: Unter­schied Ite­ra­tiv und Inkre­men­tell — bild­li­cher Vergleich

Wei­te­re bild­li­che Beispiele:

  • Stra­ße / Auto­bahn: Wenn man eine Stra­ße zwi­schen zwei Punk­ten A und B baut, so kann das Vor­wärts­schrei­ten als Inkre­ment und das Ver­bes­sern als Ite­ra­ti­on betrach­tet werden

Die Begrif­fe in ver­schie­de­nen Kontexten

Hier sind eini­ge Stich­punk­te zu den Begrif­fen ite­ra­tiv und inkre­men­tell aufgeführt:

  • “Das Requi­re­ments Engi­nee­ring ist ein ite­ra­ti­ver und inkre­men­tel­ler Prozess”
  • “Wiki arbei­ten nach ite­ra­ti­ven und inkre­men­tel­len Prinzipien”
  • Frame­works / Vor­ge­hens­wei­sen kön­nen ite­ra­tiv-inkre­men­tell sein, sowohl bei der Soft­ware­ent­wick­lung wie auch beim → Pro­jekt­ma­nage­ment
  • “Ite­ra­tiv bedeu­tet anpas­sen bis es stimmt, inkre­men­tell, dass ein Zuwachs erfolgt”
  • Statt ite­ra­tiv wird auch ver­wen­det: rekursiv
  • Statt inkre­men­tell wird auch ver­wen­det: schrittweise
  • Gegen­stück zu inkre­men­tell (je nach Kon­text): Radikal
  • Ite­ra­tiv wird häu­fig mit Agil verbunden
  • Auch zu fin­den in: PSI (Pro­dukt-Inkre­ment / Poten­ti­al­ly Ship­p­a­ble Pro­duct Incre­ment) — eines von drei Arte­fak­ten in → Scrum
  • Inkre­men­tel­ler Ent­wurf (engl. Incre­men­tal Design) aus dem XP
  • Inkre­men­tel­le Aus­brei­tung (engl. Incre­men­tal Deploy­ment) aus dem XP
  • Inkre­men­tel­le Com­pi­ler (aus der Technik)
  • Grund­prin­zip aus → Kan­ban: “Kom­me mit den ande­ren über­ein, dass inkre­men­tel­le, evo­lu­tio­nä­re Ver­än­de­run­gen ange­strebt werden”

Lite­ra­tur

  • /Ebert19/ Chris­tof Ebert: Sys­te­ma­ti­sches Requi­re­ments Engi­nee­ring. Anfor­de­run­gen ermit­teln, doku­men­tie­ren, ana­ly­sie­ren und ver­wal­ten, dpunkt, Hei­del­berg 6. Auf­la­ge 2019, ISBN 978–3‑86490–562‑9

Web­links

Legen­de zu den Weblinks
/ / Ver­weis auf eine Web­site (gene­rell)
/*/ Ver­weis auf eine Web­site, die als Buch-Ergän­zung dient
/#/ Ver­weis auf ein­zel­nes The­ma auf einer Website
/#V/ Ver­weis auf ein Video auf einer Website