t2informatik » Wissen kompakt » Iteration

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. Die Iteration wird als Begriff unter anderem in der Mathematik, der Linguistik, der Informatik und der Softwareentwicklung benutzt. In der Informatik bezeichnet eine Iteration entweder die wiederholte Ausführung von Anweisungen als Schleife oder den wiederholten Zugriff auf Datenstrukturen. In der Softwareentwicklung wird der Begriff Iteration unterschiedlich gebraucht:

  • Eine Iteration 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.
  • Eine Iteration 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 eine Iteration 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 wird 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.

 

Iteration - 3 verschiedene Interpretationen

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. Ein Sprint hat eine definierte Dauer von einer Woche bis maximal vier Wochen. 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 dürfte es unabhängig von der Softwareentwicklungsmethode durchaus Sinn ergeben, in einem Projekt Iterationen möglichst mit demselben Umfang und derselben Dauer zu planen.

“Das Fachwissen zu Softwarearchitekturen, die Expertise in der Softwareentwicklung und die sehr flexible Arbeitsweise waren ideal für uns.“

„Ich brauche Freiheit und Vertrauen. Und ich möchte Verantwortung übernehmen und dabei Spaß haben!“