Was ist der agile iterative Ansatz und wo wird er eingesetzt?

Veröffentlicht: 2018-06-22

Um mit der Marktnachfrage Schritt zu halten, haben die sich schnell entwickelnden Szenarien des digitalen Geschäfts einen wachsenden Druck auf CIOs ausgeübt, eine ebenso schnelle Softwareentwicklung zu liefern.

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

Der 12. jährliche State of Agile-Bericht stellte fest, dass einer der fünf wichtigsten Gründe für die Einführung agiler Methoden die beschleunigte Softwarebereitstellung war, die 2018 auf 75 % anstieg. Während die iterative Planung mit einem Anstieg von 88 % die am zweithäufigsten verwendete Agile war Technik im Jahr 2018.

Was ist agile iterative Entwicklung?

Agile Methoden der Softwareentwicklung werden am häufigsten als iterative und inkrementelle Entwicklung bezeichnet. Die iterative Strategie ist der Eckpfeiler agiler Praktiken, von denen die bekanntesten SCRUM, DSDM und FDD sind. Die Grundidee besteht darin, die Entwicklung der Software in Abfolgen sich wiederholender Zyklen (Iterationen) aufzuteilen. Jede Iteration erhält eine feste Zeitspanne, die als Timebox bezeichnet wird. Eine einzelne Timebox dauert in der Regel 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). Das bedeutet, dass jeder Iterationszyklus die Analyse des Plans, des Designs, seines Codes und gleichzeitig den Test beinhaltet. Das ADTC-Rad wird technisch eher als PDCA-Zyklus (Plan, Design, Check, Adjust) bezeichnet. Das Agile-Team implementiert den PDCA-Zyklus bei jeder 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. Es fasst auch die geleistete Arbeit zusammen und bestimmt den Team-Rückstand, der für die nächste Iteration erforderlich ist.

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, wird auch ein Funktionstest durchgeführt. Das Team sammelt User Stories und bereitet den nächsten Schritt vor, das Iteration Review.

C (Check) – Iterationsüberprüfung

Iteration Review, auch als „Check“-Schritt bekannt, wird mit dem Product Owner durchgeführt. Das Team zeigt das getestete Ergebnis dem Product Owner, der dann die abgeschlossene Arbeit ü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 arbeitet im Wesentlichen an 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 beginnt, wird das Team-Backlog für zukünftige Referenzen verfeinert.

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

Vorteile der agilen iterativen Entwicklung

Agiles Projektmanagement wurde als flexiblere Alternative zum ansonsten traditionell starren Wasserfall-Ansatz geschaffen.

Die Wasserfallmethode ist ein linearer Ansatz, der sequentiell von einer Phase zur nächsten fortschreitet, ohne dass die Entwicklung zum vorherigen Schritt zurückkehrt. Es versteht sich von selbst, dass die Wasserfallmethode unmittelbare Auswirkungen hat, die unter anderem erhöhte Entwicklungskosten, verlängerte Softwarebereitstellung und zusätzlichen Ressourceneinsatz umfassen.

Sudhakar Gorti, CIO für Environmental Data Resources, stimmt zu: Einer der Hauptvorteile von Agile gegenüber Waterfall ist, dass Sie ein Ergebnis auf iterativer Basis sehen und der Product Owner entscheiden kann, Änderungen am Product Backlog vorzunehmen.“

Kundenbeteiligung – Die agile iterative Entwicklung ermutigt den Beitrag der Benutzer. Nach jedem iterativen Zyklus wird Kundenfeedback eingeholt, und das Produkt wird dann auf der Grundlage dieses Feedbacks den erforderlichen Änderungen unterzogen. Dieser Aspekt bringt Anpassungsfähigkeit in den Rahmen des Projekts.

Begünstigt die Evolution – Die Planung im agilen iterativen Entwicklungsprozess ist eine kontinuierliche Leistung, die Raum für sich entwickelnde Ideen bietet, anstatt einer umfangreichen Planung, die nur der Ausführung und dem Testen in Waterfall vorausgeht.

Risikobewertung – Agile Iteration ermöglicht die frühzeitige Identifizierung und Minderung von Risiken in der Entwicklung, um spätere Bremsschwellen zu vermeiden.

Schnelle Lieferung – Die Arbeit ist in kleine Zyklen unterteilt, sodass die Teammitglieder sich konzentrieren und pünktlich liefern können. Darüber hinaus wird das Testen in jeder Iteration gleichzeitig in Codierung und Design durchgeführt, wodurch die Zeit, die zum Erreichen der Fertigstellung benötigt wird, erheblich verkürzt wird.

Wo wird der agile iterative Ansatz eingesetzt?

Der agile iterative Ansatz eignet sich am besten für Projekte oder Unternehmen, die Teil eines sich ständig weiterentwickelnden Umfangs sind. Projekte, die keinen definierten Satz von Anforderungen haben, die für einen definierten Zeitraum vorgesehen sind. In solchen Fällen hilft der agile iterative Ansatz, die Kosten und Ressourcen zu minimieren, die jedes Mal benötigt werden, wenn eine unvorhergesehene Änderung eintritt.

nTask wurde mit der Scrum-Methodik erstellt. Scrum ermöglicht eine eigenständige Teamarbeit mit dem ADCT-Rad, für das verschiedene nTask-Teams in zweiwöchigen Sprints (Iterationen) kollaborativ gearbeitet haben.

Da sich der Umfang von nTask kontinuierlich weiterentwickelt und wöchentlich neue hinzugefügt werden, ermöglicht der iterative Ansatz dem nTask-Entwicklungsteam, für Optimierungen hin und her zu wechseln.

Brad Murphy, CEO des Agile-Beratungsunternehmens Gear Stream, glaubt, dass der agile iterative Ansatz jetzt auch in anderen Bereichen als der Softwareentwicklung umfassend einsetzbar ist.

Er erklärt, wie das digitale Marketing von dem iterativen Ansatz profitieren kann, indem es das Element der häufigen Lieferung nutzt, um Kundenfeedback zu sammeln. Schnell erbetenes Feedback kann direkt dazu beitragen, nachfolgende Iterationen zu verbessern, um mehr Traffic anzuziehen.

Laut Untersuchungen des Deloitte Center for Government Insights bezeichneten sich 80 % der großen föderalen IT-Projekte im Jahr 2017 als „Agile Iterative“. Ein Grund für diesen Anstieg war leicht durch die Verringerung der Zeit zu erklären, die benötigt wird, um ein Projekt harmonisch abzuschließen mit den Gesamtkosten des Projekts.

Ein weiterer Bericht von Deloitte aus dem Jahr 2015 zeigt, dass Banken wie Barclays ebenfalls damit begonnen haben, iterative Ansätze wie Scrum bei mehr als 20 % ihrer internen Audits einzusetzen. Barclays räumte ein, von SCRUM in Bereichen wie Risikomanagement und Planung zu profitieren.

Der agile iterative Ansatz ist nicht nur auf IT-Organisationen und Finanzunternehmen beschränkt. Walmart verwendet den agilen iterativen Ansatz für interne Audits. Einer ihrer vielen Erfolge nach der Agile-Einführung war die Zeitersparnis im Vergleich zum traditionellen Audit-Ansatz.

Ricky Barr, Managing Director of Internal Audit, United Airlines, fasst seine Erfahrungen mit Deloittes Agile Internal Audit als „eine schnellere Audit-Zykluszeit durch zeitgesteuerte Iterationen“ zusammen.

Bis vor 8 Jahren verwendeten viele Unternehmen wie die überwiegende Mehrheit der Kunden von Gartner noch traditionelle Wasserfallmethoden für die Anwendungsentwicklung.

Aber mit den nachweisbaren Vorteilen von Agile im Laufe der Jahre, die von erhöhtem Geschäftswert bis hin zu starken organisatorischen Auswirkungen reichten, hat sich die Agile-Community von Start-ups zu globalen Marken wie IBM und Cisco entwickelt.