A Stockphoto - stock.adobe.com

Wie plant man eine Iteration in der agilen Softwareentwicklung?

Die iterative Planung in Agile unterstützt Teams bei Planung, Zusammenarbeit, Feedback und Kundenbetreuung. Hier sind Tipps, um die Entwicklung auf Kurs zu halten.

Ein wesentliches Merkmal des klassischen Projektmanagements ist sein sequenzieller und linearer Ansatz bei der Projektplanung und -durchführung. Er umfasst eine detaillierte Vorausplanung, wie zum Beispiel die Erstellung eines umfassenden Dokuments mit den Geschäftsanforderungen und eines Durchführungsplans, bevor die Entwicklung beginnt.

Im Gegensatz dazu verfolgt agiles Projektmanagement einen iterativen und inkrementellen Ansatz. Er konzentriert sich auf die Bereitstellung kleinerer, funktionaler Produktinkremente in kurzen Zeiträumen (Iterationen) und die Fähigkeit, flexibel zu sein und sich an sich ändernde Anforderungen anzupassen.

Produkt- und Softwareentwicklungsteams, die die Vorteile der agilen Iteration verstehen, können ihre Erfolgschancen verbessern. Hier erfahren Sie, wie Teams eine agile Iteration effektiv planen können.

Beispiel für eine agile iterative Planung

Stellen Sie sich vor, Ihr Team bereitet die Einführung einer E-Commerce-Website vor. Unabhängig davon, ob Ihre Organisation Bücher, Kleidung oder andere Produkte verkauft, kann die agile Iterationsplanung Sie zum Erfolg führen.

Informationen sammeln

Agile priorisiert Feedback und Iteration, begrüßt Veränderungen und verbessert Ihr Produkt kontinuierlich. Bevor Sie sich kopfüber in die Entwicklung stürzen, nehmen Sie sich die Zeit, Feedback und Erkenntnisse zu sammeln. Nach einigen Erkundungen und Kundeninterviews wird Ihr Team mehr über das Produkt und seinen Markt erfahren und Daten und Erkenntnisse sammeln, um Vertrauen zu gewinnen.

Sie sollten sich jedoch bewusst sein, dass es immer noch viele Unwägbarkeiten gibt. Sie sind sich nicht sicher, ob das Produkt auf dem Markt tatsächlich erfolgreich sein wird oder ob die Organisation an der richtigen Stelle investiert.

Nach der ersten Erkundung sollte das Team zu einer Iterationsplanungssitzung zusammenkommen. Hier entfaltet Agile seine Magie.

agiler Softwareentwicklungszyklus
Abbildung 1: Der agile Softwareentwicklungszyklus.

Halten Sie alles einfach

Das Team ist vielleicht zuversichtlich, dass es über alle erforderlichen Fähigkeiten verfügt und alle gewünschten Merkmale und Funktionen in einer Iteration erreichen kann. In der Tat fördert Agile funktionsübergreifende Teams und die Zusammenarbeit zwischen den Teammitgliedern, was eine größere Flexibilität und gemeinsame Verantwortung eröffnet.

Dennoch wird ein vollständig ausgereiftes Produkt komplex und teuer sein. Stattdessen sollte sich das Team darauf konzentrieren, eine erste Iteration mit gerade genug Funktionen zu erstellen, um die wichtigsten Prämissen zu testen. Agile ermutigt Teams, riskante Annahmen im Voraus zu identifizieren; Teams, die Herausforderungen früher angehen, reduzieren die Auswirkungen von Risiken.

Überlegen Sie bei Ihrem E-Commerce-Vorhaben, welche minimalen brauchbaren Funktionen für eine erste Iteration erforderlich sind. Ihr Team kann beschließen, mit einem einfachen Produktkatalog, einem Warenkorb, einem grundlegenden Einkaufsmechanismus und einem Abrechnungssystem zu beginnen. Es ist unrealistisch, in einer einzigen Iteration (die etwa zwei Wochen dauert) alle Funktionen bereitzustellen, insbesondere mit einem kleinen Team von nur wenigen Entwicklern.

Um die Angelegenheit weiter zu vereinfachen, sollten Sie die Rule of One in Betracht ziehen. Beginnen Sie beispielsweise damit, nur ein Produkt anzubieten, zum Beispiel eine einzige Art von Kleidung oder ein bestimmtes Buch. Dieser Ansatz minimiert die Komplexität und reduziert die Notwendigkeit eines Warenkorbs in der ersten Iteration.

Ein weiterer Bereich, der in einer ersten Iteration vereinfacht werden sollte, sind die Versand- und Zahlungsmechanismen. Anstatt verschiedene Optionen für Kunden zu entwickeln, sollten Sie mit einer einfachen Versandmethode für den Inlandsversand und einem grundlegenden Abrechnungsmechanismus wie der sicheren Kreditkartenabwicklung oder PayPal beginnen. Sie können später weitere Zahlungsmechanismen wie Google Pay oder Apple Pay hinzufügen, aber diese können ablenken oder in einer ersten Iteration gar nicht möglich sein.

Schnelle Bereitstellung einer Iteration für Kunden

Bei der agilen Planung verlagert sich der Schwerpunkt von der Entwicklung robuster Fähigkeiten ohne Validierung von Annahmen auf die schnelle Erreichung des Kunden. Das bedeutet, dass für eine erste Iteration möglicherweise keine ausgefeilte Datenbank erforderlich ist, viele Prozesse manuell durchgeführt werden können oder das Team Daten lokal in einer Datei speichern kann. Die Organisation kann sogar planen, Produkte aus nahe gelegenen Geschäften zu beziehen, basierend auf der frühen Marktnachfrage, anstatt einen Lagerbestand zu führen.

Sammeln Sie Daten und Feedback

Beginnen Sie nach der ersten Produkteinführung mit der Datenerfassung. Die Planung und Priorisierung des Teams sollte datengesteuert und kundenorientiert sein.

Hier sollten Teams das Konzept des Last Responsible Moment anwenden. Das bedeutet, Entscheidungen so lange aufzuschieben, bis die Kosten, die entstehen, wenn man sie nicht trifft, die Kosten überwiegen, die entstehen, wenn man sie trifft. An welchem Punkt sollte das Team beispielsweise in eine neue Datenbank investieren oder dem Einkaufswagen robustere Funktionen hinzufügen? Agile unterstützt dabei, diese Entscheidungen auf der Grundlage von Feedback aus der realen Welt zu identifizieren und zu rechtfertigen.

Bei Agile hat funktionierende Software Vorrang vor umfassender Dokumentation. Dokumentation ist natürlich nach wie vor wichtig, aber die oberste Priorität von Agile-Teams besteht darin, den Benutzern Funktionalität und Mehrwert zu bieten. Dieser Ansatz stellt sicher, dass sich das Produkt kontinuierlich weiterentwickelt und den Kundenbedürfnissen entspricht.

Die Iterationsplanung ist ein Beispiel dafür, wie sich Agile in Bezug auf Planung, Anpassungsfähigkeit, Umgang mit Unsicherheiten und Kundenorientierung von Wasserfallansätzen unterscheidet. Die iterative und flexible Natur der Agilität, zusammen mit der Betonung von Feedback und Zusammenarbeit, erweist sich als besser geeignet für die dynamischen Herausforderungen des sich schnell verändernden Marktes.

Erfahren Sie mehr über Softwareentwicklung