Iteration

Wissen kompakt: Eine Iteration beschreibt einen sich wiederholenden Prozess von ähnlichen oder sogar gleichen Handlungen mit dem Ziel eine definierte Lösung zu realisieren.

Iteration – ein Prozess mit sich wiederholenden Handlungen

Der Begriff “Iteration” stammt aus dem Lateinischen und bedeutet “wiederholen”. Er beschreibt einen Prozess von ähnlichen oder sogar gleichen Handlungen mit dem Ziel, eine definierte Lösung zu realisieren. Unter anderem wird die Iteration in der Mathematik, der Linguistik, der Informatik und der Produktentwicklung bzw. Softwareentwicklung benutzt. In der Informatik bezeichnet sie entweder die wiederholte Ausführung von Anweisungen als Schleife oder den wiederholten Zugriff auf Datenstrukturen.

Iterationen in der Softwareentwicklung

In der Softwareentwicklung wird die Iteration unterschiedlich gebraucht:

  • Sie beschreibt das wiederholte Durchlaufen von ganzen Entwicklungszyklen. Ein klassischer Entwicklungszyklus teilt sich häufig in einzelne Projektphasen wie bspw. Vorbereitung, Realisierung, Testing, Inbetriebnahme und Wartung mit entsprechenden Meilensteinen zum Phasenende auf. So könnte sich die Realisierung als Ganzes so lange wiederholen, bis eine interne Freigabe zum Testen durch eine separate Testabteilung erfolgt.
  • Sie beschreibt das wiederholte Durchlaufen von einzelnen Entwicklungsschritten innerhalb einer Phase. Einzelne Phasen innerhalb der Realisierung wie die Analyse oder der Entwurf müssen meist nicht wiederholt werden. Die Implementierung hingegen wird in der Praxis gerne in Abschnitte – also Iterationen – eingeteilt. Damit beschreibt ein Abschnitt einen Zeitraum, in dem sich Handlungen wie bspw. die Programmierung von neuen Funktionen wiederholen. Bei einem solchen Vorgehen werden die Ergebnisse mehrerer Iterationen zu Releases zusammengefasst. Wichtig ist: die Wiederholung bezieht sich nicht auf eine konkrete Funktion, die wieder und wieder entwickelt wird, sondern auf die Handlung, also das Programmieren als solches. Somit werden in Iterationen ähnliche Handlungen durchgeführt, allerdings unterscheiden sich die zu realisieren Anforderungen, Features, Epics etc.
  • Als besondere Form lässt sich das wiederholte Zusammenspiel mehrerer Phasen – bspw. zwischen Realisierung und Testing – verstehen. Ein Produkt wird realisiert und anschließend getestet, im Anschluss weiterentwickelt und wieder getestet. Dieser Prozess wiederholt sich so lange, bis das Produkt die gewünschte Qualität erreicht hat und in Betrieb genommen werden kann.

Oftmals wird in der Produkt- und Softwareentwicklung auch von einem iterativ-inkrementellen Vorgehen gesprochen. Iterativ bezieht sich auf einen zeitlich und fachlich in sich geschlossenen Zeitabschnitt, in dem schrittweise (inkrementell) zusätzliche Funktionalität entwickelt wird.

Iteration - 3 verschiedene Interpretationen

Dauer und Häufigkeit von Iterationen

Aufgrund dieser unterschiedlichen Interpretationen einer Iteration lässt sich nicht allgemein festlegen, wie lange eine Iteration dauert oder wie häufig sie sich wiederholt. Entsprechende Festlegungen müssen projektspezifisch getroffen werden.

In Scrum als bekanntestem Vertreter der agilen Softwareentwicklung werden Iterationen als Sprints bezeichnet. Es handelt sich um Ereignisse von fester Länge von einem Monat oder weniger, wobei ein neuer Sprint sofort nach dem Abschluss des vorherigen Sprints beginnt.

Eine solche Vorgabe kennt das V-Modell XT als Vorgehensmodell bundesdeutscher Behörden nicht; dort werden Iterationen im Zuge des Tailorings statisch zum Projektbeginn oder dynamisch im Laufe des Projekts mit zu bestimmenden Zeitintervallen definiert. Die Zeitintervalle richten sich nach den Inhalten – ein wesentlicher Unterschied zu Scrum, denn dort werden die Inhalte so definiert, dass sie sich in den fixierten Zeitintervallen realisieren lassen.

Im Sinne der Vergleichbarkeit von Ergebnissen ergibt es unabhängig von der Softwareentwicklungsmethode Sinn, in einem Projekt Iterationen möglichst mit demselben Umfang und derselben Dauer zu planen.

Was macht t2informatik?

Was macht t2informatik? Kleiner Tipp: Es hat etwas mit Softwareentwicklung zu tun!

Hinweise:

Haben Sie Lust auf einen neuen Lieblings-Newsletter?

Die Inhalte auf dieser Seite dürfen Sie gerne teilen oder verlinken.

In der Softwareentwicklung gibt es auch den Begriff Iterator. Einfach ausgedrückt handelt es sich dabei um einen Zeiger – bspw. ein Cursor – mit dem Elemente einer Menge durchlaufen werden können.

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Was ist ein Release?

Was ist ein Release?

Wissen kompakt: Was ist ein Sprint?

Was ist ein Sprint?