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

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

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

Teamorganisation nach dem Scrum-Prinzip

Lean Development

Teamorganisation nach dem Scrum-Prinzip

Nicht nur die Software-Entwicklung kann nach dem Scrum-Prinzip ablaufen, sondern auch die Teamorganisation. Das Resultat sind schlanke und effiziente Entwicklerteams, die schnell auf Änderungen bei den Anforderungen reagieren können. Doch wie werden solche Scrum-Teams organisiert? lesen

Maximale Flexibilität durch Microservices

Continuous Delivery bei der VW Group IT

Maximale Flexibilität durch Microservices

Agiles Arbeiten wird auch in Konzernen immer mehr zur Normalität. Agile Softwareentwicklung setzt hier auf Microservices-Architekturen und eine Continuous Delivery Pipeline, um neue Anforderungen schnell umzusetzen und den Anwendern rasch erste Ergebnisse zu liefern. Ein Best Practice am Beispiel der Lizenz-Monitoring-Software VWLIC des Volkswagen-Konzerns. lesen

Technische Dokumentation im Scrum-Team

Dokumentation

Technische Dokumentation im Scrum-Team

Auch die Technische Dokumentation lässt sich in die agile Softwareentwicklung mit Scrum einbeziehen. Dieser Beitrag erläutert, was dabei bedacht werden sollte. lesen

Was ist agile Softwareentwicklung?

Definition „Agile Development“

Was ist agile Softwareentwicklung?

Agile Softwareentwicklung soll dafür sorgen, dass Entwicklungsprojekte einfach, unbürokratisch und iterativ ablaufen. Agile Methoden und Prozesse wie Scrum können somit Zeit und Kosten sparen. lesen

Express-Entwicklungslösung zum Gratis-Download

Neues von der SAP TechEd 2016

Express-Entwicklungslösung zum Gratis-Download

Während Konkurrent Oracle auf der OpenWorld in San Francisco seine Anhänger um sich scharte, veranstaltete SAP zeitgleich die Entwicklerkonferenz SAP TechEd in Las Vegas. Im Mittelpunkt standen neue Ankündigungen rund um die In-Memory-Plattform SAP HANA. lesen

Mainframe-Entwicklung wird agil

Scrum für Großrechner

Mainframe-Entwicklung wird agil

Auch auf dem Mainframe müssen Entwickler ihre Applikationen immer schneller und in kürzeren Zyklen bereitstellen. Agile Entwicklungsmethoden wie das Scrum-Framework bieten sich daher auch für den Mainframe an. 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)