Definition „Iterative Development“

Was ist iterative Entwicklung?

| Autor / Redakteur: jelsag / Stephan Augsten

Die Projektmanagement-Methode Scrum enthält starke iterative Komponenten.
Die Projektmanagement-Methode Scrum enthält starke iterative Komponenten. (© Asha Sreenivas - stock.adobe.com)

Die iterative Entwicklung ist eine Projektstrategie innerhalb der IT, bei der ein Software-Produkt durch fortlaufende Wiederholung, sprich Iteration, optimiert wird. Zum Teil entwickelt sich die Systemarchitektur erst im Rahmen des iterativen Prozesses.

Iterative Strategien spielten ursprünglich vor allem in der agilen Softwareentwicklung einer Rolle, werden jedoch auch in anderen Bereichen des Projektmanagements angewendet. So enthält die Projektmanagement-Methode Scrum starke iterative Komponenten. Iterative Entwicklungsprozesse ermöglichen den Projektteilnehmern, Erfahrungen aus vorhergehenden Projektschritten oder aus der Anwendung bereits fertiggestellter Systemkomponenten unmittelbar zu nutzen.

Produktentwicklung durch Wiederholung

Das Prinzip der iterativen Entwicklung beruht darauf, dass ein Produkt durch permanente Wiederholungen (Iterationen) optimiert und zur Anwendungsfähigkeit gebracht wird. Am Anfang des Entwicklungsprozesses steht eine Anwendungs- und Produktidee, die schrittweise realisiert wird. Auch die Systemarchitektur des Programms wird dabei fortlaufend entwickelt, überprüft und angepasst.

Hier liegt ein wesentlicher Unterschied zu inkrementellen Entwicklungsprozessen. Im Rahmen einer inkrementellen Strategie wird zunächst die Systemarchitektur definiert. Die einzelnen Projektschritte orientieren sich daran. Ihre Ergebnisse – die sogenannten Inkremente – bestehen in anwendungsfähigen Produkten, die im Idealfall keiner weiteren Überarbeitung bedürfen.

Dagegen wird jedes Ergebnis einer Iteration auf notwendige Modifikationen untersucht, die außerdem Einfluss auf frühere oder spätere Iterationen haben können. Je nach ihrem Ausmaß können Veränderungen dazu führen, dass der gesamte Entwicklungsprozess wiederholt und noch einmal durchlaufen wird.

Prozessschritte in iterativen Projekten

Die wesentlichen Prozessschritte eines iterativen Projektes lassen sich in eine Initialisierungsphase, eine Iterationsphase und die fortlaufende Kontrolle des Projektfortschritts unterteilen. Ein solches Projekt beginnt mit der Implementierung der bereits bekannten Systemanforderungen auf einer möglichst einfachen, aber ausbaufähigen Basis.

Die Kenntnis der notwendigen und sinnvollen Systemanforderungen entwickelt sich erst im Rahmen des Projektverlaufs, sie ist erst mit der vollständigen Systemimplementierung abgeschlossen. Jede Iteration hat auch eine Anpassung des Projektentwurfs zur Folge. Unterschieden werden die einzelnen Iterationen danach, ob sie der Optimierung der Systemarchitektur oder der Implementierung neuer Funktionalitäten dienen.

Während der Initialisierungsphase wird zunächst ein Prototyp des Systems geschaffen, auf den die Verwender und die Entwickler reagieren können. Mögliche Lösungsansätze für das Gesamtprojekt sind anhand dieses initialen Produkts bereits erkennbar, gleichzeitig werden hierdurch die wesentlichen Aspekte der zu lösenden Probleme stichprobenartig abgedeckt.

Hierdurch kommt auch bei einer iterativen Entwicklung ein inkrementelles Element ins Spiel, da die generellen Anforderungen an das Projekt bereits vorgegeben werden und als Roadmap dienen. Der Iterationsprozess wird anschließend durch eine Projektkontrollliste gesteuert, in der alle zu einem bestimmten Zeitpunkt bekannten Projektaufgaben aufgelistet werden. Zur Definition dieser Aufgaben dienen fortlaufende Analysen, so dass die Kontrollliste bis zum Projektabschluss ständig überarbeitet und ergänzt wird.

Die einzelnen Iterationen beinhalten die Umsetzung einer Aufgabe oder einer definierten Aufgabengruppe aus der Liste. Anschließend wird die aktuelle Version des Gesamtsystems analysiert, woraus sich neue Aufgaben ergeben. Bei der Umsetzung jeder Iteration stehen die Zielsetzungen Einfachheit, Modularität und Transparenz im Fokus. Die Analyse ihrer Ergebnisse erfolgt durch das Feedback der Benutzer sowie die Analyse des Programmes.

Ablauf iterativer Projekte

Die grundsätzliche Ablaufplanung iterativer Projekte wird bereits in der initialen Phase vorgenommen. Hier werden der Projektrahmen, funktionelle und nicht-funktionielle Projektanforderungen sowie wesentliche Risiken ermittelt, um eine grobe Schätzung des Zeit- und Arbeitsaufwandes vorzunehmen. Die Ressourcenplanung wird zusammen mit jeder Iteration einer Überprüfung unterzogen. Auch Produkttests sind ein wesentliches und regelmäßig wiederholtes Element des Gesamtprozesses.

Die Iterationsphase wird in eine Ausarbeitungsphase und eine Konstruktionsphase unterteilt. In der Ausarbeitungsphase entsteht eine funktionsfähige Systemarchitektur, in der Konstruktionsphase werden die produktionsreifen Codes zur Erfüllung der funktionellen Systemanforderungen erstellt.

Iterative Entwicklungsprozesse enden mit einer Transitionsphase, in der sich das entwickelte System bereits im Produktiveinsatz befindet, vor dem endgültigen Projektabschluss jedoch noch Änderungen vorgenommen werden können. Jede dieser Phasen kann eine oder mehrere Iterationen umfassen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Agile Methoden in großen Unternehmen

Klare Strukturen – so wird agiles Arbeiten zum Erfolg

Agile Methoden in großen Unternehmen

Agiles Arbeiten mausert sich zum Standard in der Softwareentwicklung. Allerdings besteht bei allzu hastiger Einführung agiler Methoden die Gefahr, über die eigenen Füße zu stolpern. Doch Hindernisse und Anfangsprobleme lassen sich methodisch aus dem Weg räumen. lesen

DevOps und „Shift left“ in drei Schritten

Agile Entwicklung erfordert Continuous Testing

DevOps und „Shift left“ in drei Schritten

Durch „Shift Left“ rückt das Testen auf dem Zeitstrahl des Software Development Lifecycle weiter nach links. Warum der Begriff bei DevOps und agiler Entwicklung aber etwas irreführend ist und was Unternehmen tun müssen, erläutert Malcom Isaacs von Micro Focus. lesen

Was ist Software Prototyping?

Definition „Prototypenbau“

Was ist Software Prototyping?

Software Prototyping hilft dabei, aus den ersten Anforderungen ein solides Konzept und schließlich eine fertige, voll funktionsfähige Software zu entwickeln. Dabei gibt es verschiedene Arten des Prototypenbaus. lesen

Mehr Agilität im IT-Service-Management

ITSM Group definiert „Service Owner“ neu

Mehr Agilität im IT-Service-Management

In der agilen Entwicklung ist der sogenannte „Product Owner“ das Bindeglied zwischen Development und Stakeholdern. Eine ähnlich zentrale Rolle müsse im IT-Service-Management dem „Service Owner“ zuteilwerden, meint die ITSM Group. lesen

Mit agilen Methoden effizienter arbeiten

eBook „Agile Softwareentwicklung“

Mit agilen Methoden effizienter arbeiten

Agile Softwareentwicklung ist das große Thema des 21. Jahrhunderts. Doch was bedeutet Agilität eigentlich? Welche Methoden gibt es? Und was ist bei der Umsetzung zu beachten? Das eBook „Agile Softwareentwicklung“ hilft Ihnen möglicherweise dabei, wichtige Entscheidungen zu treffen. lesen

Konzeption und Planung eines SSDL nach BSI

Secure Software Development Lifecycle, Teil 2

Konzeption und Planung eines SSDL nach BSI

Hier stellen wir das Konzept des sicheren Softwareentwicklungs-Lebenszyklus nach BSI in der zweiten Phase, sprich Konzeption und Planung vor. In der ersten Phase, die wir bereits kennengelernt haben, ging es nämlich nur darum, die Rahmenbedingungen festzulegen. lesen

Datensilos in sechs Schritten auflösen

Konsistente Datensammlung für alle Abteilungen

Datensilos in sechs Schritten auflösen

Lange Zeit durfte jede Abteilung eines Unternehmens seine eigene Datensammlung anlegen. Diese Datensilos erschweren heute aber die effiziente Zusammenarbeit und sollten im Idealfall aufgelöst werden. Der IT-Dienstleister Consol gibt sechs Handlungsempfehlungen. lesen

Rekursionen und reguläre Ausdrücke

Python Tutorial, Teil 7

Rekursionen und reguläre Ausdrücke

Komplexere Datenstrukturen, Operationen und Programmiertechniken bilden den nächsten Schritt in der Python-Programmierung. Rekursive Funktionen und reguläre Ausdrücke bilden in diesem Teil unseres Python-Tutorials den Schwerpunkt. lesen

7 positive Lerneffekte durch Continuous Delivery

Wie Feedback Loops die Unternehmenskultur fördern

7 positive Lerneffekte durch Continuous Delivery

Neben der Agilität, die Continuous Integration und Continuous Delivery mit sich bringen, haben die beiden Methoden einen weiteren Vorteil: Entwickler sehen sofort die Ergebnisse ihrer Arbeit. Das Team von Semaphore CI hat gleich sieben positive Effekte auf die Lernkultur identifiziert. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45256662 / Definitionen)