Was ist im Projektmanagement der Unterschied zwischen inkrementeller und iterativer Entwicklung, nicht agil?


Antwort 1:

Laut Gartner entscheiden sich immer mehr IT-Organisationen für die agile Entwicklung, um das Projektmanagement zu optimieren und den Geschäftswert zu veranschaulichen.

Der 12. Jahresbericht über den Stand der Agilität ergab, dass einer der fünf wichtigsten Gründe für die Einführung agiler Methoden die beschleunigte Softwarebereitstellung war, die 2018 auf 75% stieg. Während die iterative Planung mit einem Anstieg von 88% die am zweithäufigsten eingesetzte agile Technik war im Jahr 2018.

Was ist agile iterative Entwicklung?

Agile Methoden der Softwareentwicklung werden am häufigsten als iterative und inkrementelle Entwicklung beschrieben. Die iterative Strategie ist der Eckpfeiler der agilen Praktiken, von denen SCRUM, DSDM und FDD die wichtigsten sind. Die allgemeine Idee besteht darin, die Entwicklung der Software in Sequenzen wiederholter Zyklen (Iterationen) aufzuteilen. Für jede Iteration wird eine feste Zeitdauer ausgegeben, die als Zeitbox bezeichnet wird. Eine einzelne Zeitbox dauert normalerweise 2-4 Wochen.

Das agile iterative Modell wird vielleicht am besten von Craig Larman in seinem Buch Agile and Iterative Development - A Manager's Guide erklärt. Larman erklärt, dass das Modell auf einem ADTC-Rad funktioniert (Analyse, Design, Code, Test). Dies bedeutet, dass jeder Iterationszyklus die Analyse des Plans, des Entwurfs, seines Codes und gleichzeitig den Test enthält. Das ADTC-Rad wird technisch eher als PDCA-Zyklus (Plan, Design, Check, Adjust) bezeichnet. Das Agile-Team implementiert den PDCA-Zyklus für jede Iteration separat auf folgende Weise:

P (Plan) - Iterationsplanung

In diesem Fall arbeitet das Team zusammen, um die Ziele für die nächste Iteration zu besprechen. Außerdem wird die geleistete Arbeit zusammengefasst und der für die nächste Iteration erforderliche Team-Rückstand ermittelt.

D (Design) - Iterationsausführung

Dies ist der "Do" -Schritt, in dem die Entwicklung der Software, ihr Design und ihre Codierung stattfinden. Wenn es sich um eine zweite oder dritte Iteration handelt, werden auch Funktionstests durchgeführt. Das Team sammelt User Stories und bereitet sich auf den nächsten Schritt vor, nämlich die Iterationsüberprüfung.

C (Prüfung) - Iterationsüberprüfung

Die Iterationsüberprüfung wird auch als Product Check-Schritt bezeichnet und mit dem Product Owner durchgeführt. Das Team zeigt das getestete Ergebnis dem Product Owner, der dann die abgeschlossenen Arbeiten überprüft und feststellt, ob alle Kriterien erfüllt wurden.

A (Anpassen) - Iterationsrückblick

In diesem Fall bewertet das Team den gesamten Prozess der Iteration vom ersten Schritt an. Es funktioniert im Wesentlichen bei allen Verbesserungen, die in früheren Iterationen gesammelt wurden. Neue Probleme werden zusammen mit ihren Ursachen identifiziert. Bevor das Team den nächsten Zyklus erneut startet, wird der Team-Rückstand zur späteren Bezugnahme verfeinert.

Die Iterationen werden für Optimierungen und Improvisationen wiederholt, und die Lehren aus früheren Zyklen werden im nächsten Zyklus angewendet. Bis eine voll funktionsfähige Software marktreif ist.

Weitere Informationen zu Iterationen in Agile finden Sie in meinem Blog auf nTask unter Was ist der agile iterative Ansatz und wo wird er verwendet?


Antwort 2:

Inkrementell bedeutet, dass Sie die Gesamtlösungen in kleinere Teile (Inkremente) aufteilen und jeweils ein Inkrement ausführen, anstatt zu versuchen, die vollständige Lösung auf einmal zu entwickeln.

Iterativ bedeutet, dass Sie einen ersten Prototyp der Lösung (oder eines Teils der Lösung) erstellen und diesen Aufwand basierend auf Kundenfeedback und Eingaben schrittweise verfeinern, um den Wert der Lösung für den Kunden zu maximieren.

Inkrementelle und iterative Entwicklung werden häufig zusammen verwendet, um eine Lösung in Inkremente zu unterteilen und die Ergebnisse jeder inkrementellen Entwicklung iterativ zu verfeinern.