Was bedeutet iterativ im Projektmanagement?
Es gibt viele Prozesse, die die Entwicklung eines Projekts oder Produkts erleichtern sollen. Eine Möglichkeit ist die Verwendung iterativer Prozesse, die es ermöglichen, ein Produkt so lange weiterzuentwickeln, bis die gewünschte Qualität erreicht ist. Iterative Prozesse werden unter anderem in der agilen Softwareentwicklung eingesetzt, sind aber nicht ausschließlich auf agile Projekte beschränkt. Auch im Marketing und Vertrieb können Iterationen eingesetzt werden, um das Projekt oder Produkt erfolgreich zu vermarkten.
Inhalt
Definition
Iterative Prozesse ermöglichen eine schrittweise Entwicklung mit häufigen Überprüfungen und Feedbackschleifen auf der Grundlage eines grob ausgearbeiteten Teils eines Projekts oder Produkts. Diese Zyklen werden mehrmals wiederholt, um ein Projekt oder Produkt bis zum gewünschten Endzustand zu weiterzuentwickeln. Änderungen und Verbesserungen fließen so kontinuierlich in den Prozess ein, da jede Iteration auf den Erkenntnissen der vorhergehenden aufbaut. So kann ein Prozess im ersten Anlauf scheitern oder nicht das gewünschte Ergebnis liefern, aber durch die Iteration so lange angepasst werden, bis er reibungslos funktioniert. Dies reduziert Risiken, erhöht die Effizienz und steigert die Zufriedenheit der Stakeholder. Im Allgemeinen ist iteratives Arbeiten ein flexibler und dynamischer Prozess.
Der iterative Prozess im Detail
Der iterative Prozess kann sowohl in Projekten, die nach dem Wasserfallmodell durchgeführt werden, als auch in der agilen Entwicklung, z. B. mit Scrum, eingesetzt werden.
Wichtig ist dabei, dass der Projektplan und/oder das Gesamtziel des Projekts definiert werden. Dabei wird festgelegt, welche Anforderungen unbedingt erfüllt werden müssen, um den Projektumfang nicht zu überschreiten, und welcher Endzustand erreicht werden soll. Es stellt sich die Frage, wie lange das Projekt dauern wird, wer daran beteiligt sein wird und welche Risiken auftreten können. Der Zeitaufwand für das Projekt ist schwer vorherzusagen, kann aber anhand der Spezifikation grob abgeschätzt werden.
Danach wird die erste Iteration durchgeführt. Die daraus resultierenden Ergebnisse bringen einen dem Projektziel näher und können einzelne Funktionen oder ein komplettes Projekt darstellen. Die erstellten Ergebnisse werden dann getestet, wobei hier das Nutzerfeedback besonders wichtig ist. Darauf aufbauend wird bewertet, inwieweit Änderungen notwendig sind, da Änderungen nur dann integriert werden sollten, wenn sie zu den Projektzielen passen. Wird entschieden, dass etwas geändert werden muss, wird es in die nächste Iteration integriert und erneut getestet sowie Feedback eingeholt. Dieser Prozess wird so lange durchgeführt, bis das Ergebnis zufriedenstellend ist.
Iterationen werden auch bei Scrum verwendet. Es handelt sich dabei um Sprints, die aber nicht 1:1 mit Iterationen gleichzusetzen sind. Im Gegensatz zu Iterationen ist das Ziel eines Sprints nicht die Verbesserung einer Funktion, sondern das Erreichen eines bestimmten Increments, eines getesteten, nutzbaren oder vermarktbaren Teilprodukts. Das Produkt, das am Ende eines Sprints entsteht, soll also funktionstüchtig sein.
Auch das agile Framework Extreme Programming arbeitet mit Iterationen, die Entwicklungszyklen darstellen. Das Hauptziel besteht darin, den Entwicklungsprozess zu beschleunigen und eine optimale Anpassung zu gewährleisten. Auf diese Weise können kontinuierliche Fortschritte erzielt und bestimmte Ziele erreicht werden.
Wie bereits erwähnt, ist das iterative Vorgehen nicht nur ein agiles Prinzip. Feedbackschleifen können auch in der traditionellen Softwareentwicklung eingesetzt werden. Dort können sie in allen Phasen der Planung, Implementierung, Verifikation und Anpassung auftreten. Eine Iteration kann folgendermaßen aussehen:
1. Iteration findet in einer bestimmten Projektphase statt, z. B. in der Forschung und Entwicklung. Ein Forschungsexperiment soll eine bestimmte Hypothese überprüfen. Vor der Durchführung muss diese Phase selbstverständlich geplant werden. Die Durchführung der Phase mit den Teilzielen wird von einem Forscher geplant und dann an eine zweite Person zum Überprüfen weitergeleitet. Diese zweite Person gibt dann ein Feedback, das sich z. B. auf die Nachhaltigkeit des Projekts bezieht. Dieses Feedback wird anschließend vom Forscher eingearbeitet und erneut von der zweiten Person überprüft. Dies geschieht so lange, bis das Ergebnis zufriedenstellend ist und zur nächsten Phase übergegangen werden kann.
2. Iteration in einzelnen Teilaufgaben der Entwicklungsphase: Die Entwicklungsphase besteht aus drei Teilaufgaben. Bei der dritten Aufgabe gibt es die Rückmeldung, dass etwas noch nicht ganz stimmig ist. Deshalb wird ein Schritt zurückgesprungen und die Teilaufgabe noch einmal durchlaufen. Dies geschieht so lange, bis das gewünschte Ergebnis erreicht ist.
3. Iteration als Zusammenspiel mehrerer Phasen: Ein Produkt wird entwickelt, sofort gebaut und getestet. Nach dem Test wird das Produkt mit Hilfe des Feedbacks überarbeitet und befindet sich somit wieder in der Entwicklungsphase. Anschließend wird diese Entwicklung erneut gebaut und getestet, bis die gewünschte Qualität des Endergebnisses erreicht ist.
Wichtig ist dabei, dass der Projektplan und/oder das Gesamtziel des Projekts definiert werden. Dabei wird festgelegt, welche Anforderungen unbedingt erfüllt werden müssen, um den Projektumfang nicht zu überschreiten, und welcher Endzustand erreicht werden soll. Es stellt sich die Frage, wie lange das Projekt dauern wird, wer daran beteiligt sein wird und welche Risiken auftreten können. Der Zeitaufwand für das Projekt ist schwer vorherzusagen, kann aber anhand der Spezifikation grob abgeschätzt werden.
Danach wird die erste Iteration durchgeführt. Die daraus resultierenden Ergebnisse bringen einen dem Projektziel näher und können einzelne Funktionen oder ein komplettes Projekt darstellen. Die erstellten Ergebnisse werden dann getestet, wobei hier das Nutzerfeedback besonders wichtig ist. Darauf aufbauend wird bewertet, inwieweit Änderungen notwendig sind, da Änderungen nur dann integriert werden sollten, wenn sie zu den Projektzielen passen. Wird entschieden, dass etwas geändert werden muss, wird es in die nächste Iteration integriert und erneut getestet sowie Feedback eingeholt. Dieser Prozess wird so lange durchgeführt, bis das Ergebnis zufriedenstellend ist.
Iterationen werden auch bei Scrum verwendet. Es handelt sich dabei um Sprints, die aber nicht 1:1 mit Iterationen gleichzusetzen sind. Im Gegensatz zu Iterationen ist das Ziel eines Sprints nicht die Verbesserung einer Funktion, sondern das Erreichen eines bestimmten Increments, eines getesteten, nutzbaren oder vermarktbaren Teilprodukts. Das Produkt, das am Ende eines Sprints entsteht, soll also funktionstüchtig sein.
Auch das agile Framework Extreme Programming arbeitet mit Iterationen, die Entwicklungszyklen darstellen. Das Hauptziel besteht darin, den Entwicklungsprozess zu beschleunigen und eine optimale Anpassung zu gewährleisten. Auf diese Weise können kontinuierliche Fortschritte erzielt und bestimmte Ziele erreicht werden.
Wie bereits erwähnt, ist das iterative Vorgehen nicht nur ein agiles Prinzip. Feedbackschleifen können auch in der traditionellen Softwareentwicklung eingesetzt werden. Dort können sie in allen Phasen der Planung, Implementierung, Verifikation und Anpassung auftreten. Eine Iteration kann folgendermaßen aussehen:
1. Iteration findet in einer bestimmten Projektphase statt, z. B. in der Forschung und Entwicklung. Ein Forschungsexperiment soll eine bestimmte Hypothese überprüfen. Vor der Durchführung muss diese Phase selbstverständlich geplant werden. Die Durchführung der Phase mit den Teilzielen wird von einem Forscher geplant und dann an eine zweite Person zum Überprüfen weitergeleitet. Diese zweite Person gibt dann ein Feedback, das sich z. B. auf die Nachhaltigkeit des Projekts bezieht. Dieses Feedback wird anschließend vom Forscher eingearbeitet und erneut von der zweiten Person überprüft. Dies geschieht so lange, bis das Ergebnis zufriedenstellend ist und zur nächsten Phase übergegangen werden kann.
2. Iteration in einzelnen Teilaufgaben der Entwicklungsphase: Die Entwicklungsphase besteht aus drei Teilaufgaben. Bei der dritten Aufgabe gibt es die Rückmeldung, dass etwas noch nicht ganz stimmig ist. Deshalb wird ein Schritt zurückgesprungen und die Teilaufgabe noch einmal durchlaufen. Dies geschieht so lange, bis das gewünschte Ergebnis erreicht ist.
3. Iteration als Zusammenspiel mehrerer Phasen: Ein Produkt wird entwickelt, sofort gebaut und getestet. Nach dem Test wird das Produkt mit Hilfe des Feedbacks überarbeitet und befindet sich somit wieder in der Entwicklungsphase. Anschließend wird diese Entwicklung erneut gebaut und getestet, bis die gewünschte Qualität des Endergebnisses erreicht ist.
Iterativ versus inkrementell
Wenn man sich mit Softwareentwicklung oder agilen Ansätzen im Projektmanagement beschäftigt, kommt man an den beiden Begriffen iterativ und inkrementell nicht vorbei, da sie häufig im selben Kontext verwendet werden.
Ein iterativer Prozess nutzt Feedback und Informationen zur schrittweisen Verbesserung eines bestehenden Ergebnisses, das jedoch noch nicht als eigenständiges Produkt auf den Markt gebracht werden kann.
Im Gegensatz dazu liefert ein inkrementeller Prozess ein eigenständiges Produkt, ein Inkrement, das bereits genutzt werden kann und im Laufe des Prozesses neue Funktionalitäten zu einem Ergebnis hinzufügt. Es handelt sich also um eine schrittweise Verbesserung oder Erweiterung des Umfangs, was unter anderem eine schnelle Markteinführung ermöglicht.
In den meisten Fällen wenden Teams beide Verfahren an. Im inkrementellen Prozess wird ein Prototyp erstellt, der nach Auslieferung und Feedback iterativ überarbeitet wird.
Ein kleines Beispiel soll den Unterschied verdeutlichen:
Ein Kugelschreiber soll hergestellt und vermarktet werden. Sowohl beim inkrementellen als auch beim iterativen Ansatz wird zunächst ein Prototyp hergestellt.
Beim iterativen Ansatz werden verschiedene Aspekte des Kugelschreibers verbessert: Wenn das Feedback zeigt, dass der Kugelschreiber nicht lange genug schreibt, wird die Tintenpatrone ausgetauscht, so dass der Kugelschreiber länger hält. Anschließend wird das Feedback erneut ausgewertet und der nächste Aspekt verbessert.
Beim inkrementellen Ansatz hingegen wird sofort eine neue Funktion hinzugefügt: Neben der blauen Tintenpatrone wird eine grüne hinzugefügt, so dass der Kugelschreiber nun in zwei verschiedenen Farben schreibt.
Die beiden Methoden verfolgen also unterschiedliche Ansätze. Durch die Kombination beider kann das Optimum aus dem Projekt herausgeholt werden. Für das Beispiel bedeutet dies, dass zunächst eine neue Tintenpatrone verwendet wird, um die Kundenzufriedenheit zu erhöhen, und dann eine neue Funktion, nämlich die grüne Tintenpatrone, hinzugefügt wird. Auf diese Weise wird der iterative Ansatz mit dem inkrementellen Ansatz kombiniert.
Ein iterativer Prozess nutzt Feedback und Informationen zur schrittweisen Verbesserung eines bestehenden Ergebnisses, das jedoch noch nicht als eigenständiges Produkt auf den Markt gebracht werden kann.
Im Gegensatz dazu liefert ein inkrementeller Prozess ein eigenständiges Produkt, ein Inkrement, das bereits genutzt werden kann und im Laufe des Prozesses neue Funktionalitäten zu einem Ergebnis hinzufügt. Es handelt sich also um eine schrittweise Verbesserung oder Erweiterung des Umfangs, was unter anderem eine schnelle Markteinführung ermöglicht.
In den meisten Fällen wenden Teams beide Verfahren an. Im inkrementellen Prozess wird ein Prototyp erstellt, der nach Auslieferung und Feedback iterativ überarbeitet wird.
Ein kleines Beispiel soll den Unterschied verdeutlichen:
Ein Kugelschreiber soll hergestellt und vermarktet werden. Sowohl beim inkrementellen als auch beim iterativen Ansatz wird zunächst ein Prototyp hergestellt.
Beim iterativen Ansatz werden verschiedene Aspekte des Kugelschreibers verbessert: Wenn das Feedback zeigt, dass der Kugelschreiber nicht lange genug schreibt, wird die Tintenpatrone ausgetauscht, so dass der Kugelschreiber länger hält. Anschließend wird das Feedback erneut ausgewertet und der nächste Aspekt verbessert.
Beim inkrementellen Ansatz hingegen wird sofort eine neue Funktion hinzugefügt: Neben der blauen Tintenpatrone wird eine grüne hinzugefügt, so dass der Kugelschreiber nun in zwei verschiedenen Farben schreibt.
Die beiden Methoden verfolgen also unterschiedliche Ansätze. Durch die Kombination beider kann das Optimum aus dem Projekt herausgeholt werden. Für das Beispiel bedeutet dies, dass zunächst eine neue Tintenpatrone verwendet wird, um die Kundenzufriedenheit zu erhöhen, und dann eine neue Funktion, nämlich die grüne Tintenpatrone, hinzugefügt wird. Auf diese Weise wird der iterative Ansatz mit dem inkrementellen Ansatz kombiniert.
Vor- und Nachteile des iterativen Ansatzes
Wie bei vielen Dingen gibt es aber auch beim iterativen Ansatz Vor- und Nachteile. Ein großer Vorteil ist zunächst die Effizienz. Durch ständiges Ausprobieren und Anpassen kommt man schneller zum gewünschten Ergebnis und steigert damit die Effizienz. Auf der anderen Seite kann es aber auch sehr schnell passieren, dass man den Rahmen des Projektes sprengt und damit das Ziel aus den Augen verliert. Der iterative Ansatz scheint zwar eine gute Anpassungsfähigkeit zu haben und durch die Testphasen werden neue Erfahrungen gesammelt, die sofort umgesetzt werden können. Dies kann jedoch dazu führen, dass der Projektumfang und damit die definierten Projektanforderungen überschritten werden. Dies führt zu Störungen im Arbeitsablauf und es wird nicht mehr zielorientiert gearbeitet.
Ein weiterer Vorteil ist, dass das iterative Vorgehen je nach gewählter Methode auch paralleles Arbeiten ermöglicht, da die Phasen nicht immer aufeinander aufbauen und somit einzelne Teammitglieder an mehreren Dingen gleichzeitig arbeiten können. Allerdings kann es auch passieren, dass man sich verkalkuliert und plötzlich zu wenig Personal hat, um an den vielen verschiedenen Projekten zu arbeiten.
Dennoch minimiert dieses Vorgehen die Projektrisiken, da Probleme sofort erkannt und zeitnah darauf reagiert werden kann. Außerdem ist durch die Testphasen ein unmittelbares Feedback der Nutzer möglich. Dies ermöglicht eine sofortige Reaktion auf die Bedürfnisse des Kunden und stellt sicher, dass das Projekt erfolgreich abgeschlossen wird.
Ein weiterer Vorteil ist, dass das iterative Vorgehen je nach gewählter Methode auch paralleles Arbeiten ermöglicht, da die Phasen nicht immer aufeinander aufbauen und somit einzelne Teammitglieder an mehreren Dingen gleichzeitig arbeiten können. Allerdings kann es auch passieren, dass man sich verkalkuliert und plötzlich zu wenig Personal hat, um an den vielen verschiedenen Projekten zu arbeiten.
Dennoch minimiert dieses Vorgehen die Projektrisiken, da Probleme sofort erkannt und zeitnah darauf reagiert werden kann. Außerdem ist durch die Testphasen ein unmittelbares Feedback der Nutzer möglich. Dies ermöglicht eine sofortige Reaktion auf die Bedürfnisse des Kunden und stellt sicher, dass das Projekt erfolgreich abgeschlossen wird.
Fazit
Der iterative Prozess ist eine sinnvolle Arbeitsweise, um Projekte durch Feedback kontinuierlich zu verbessern, um ein erfolgreiches Produkt zu erstellen oder das Projekt zur vollsten Zufriedenheit abzuschließen. In Kombination mit dem inkrementellen Ansatz wird das Maximum aus dem Projekt herausgeholt, um alle Projektbeteiligten zufrieden zu stellen. Daher ist es von Vorteil, beide Ansätze zu kombinieren.
Autor: IAPM intern
Schlagworte: Projektmanagement, Iterativ, Inkrementell