Von der Kunst agiler Entwicklung

10. November 2016

In diesem Artikel beschäftigt sich Gregor Ilg, Head of Product bei etventure, genauer mit dem Trendwort „Agil“ und erklärt, was im geschäftlichen Kontext dahinter steckt.

Der Begriff der agilen Entwicklung existiert seit den 90er Jahren und wurde kurz nach der Jahrtausendwende beliebt, als das Manifest für agile Software-Entwicklung von Kent Beck und 16 weiteren Software-Entwicklern verfasst und unterzeichnet wurde.

Wir bei etventure lieben agile Produktentwicklung – aber wir sind uns auch dessen bewusst, dass diese Herangehensweise für Stress und Verwirrung sorgen kann. Bei falscher Anwendung entsteht schnell Chaos.

Was ist agile Produktentwicklung?

Wie der Name bereits impliziert, dient Agilität dazu, Software-Entwicklung flexibler zu gestalten und Produktentscheidungen durch den Einsatz von cross-funktionalen Teams in allen Entwicklungsphasen deutlich zu verbessern.

Vor der agilen Produktentwicklung

Vor der Entstehung der agilen Produktentwicklung basierten Software-Entwicklungsansätze vor allem auf Vorhersehbarkeit:

  • Definieren einer detaillierten Liste von Geschäftsanforderungen sowie funktionalen Anforderungen
  • Verfassen eines ausführlichen funktionalen Anforderungskatalogs (Lastenheft)
  • Freigabe aller Funktionalitäten durch Stakeholder vor Projektbeginn
  • Start der Entwicklungsphase, die einige Monate dauern kann

Dieser traditionelle Ansatz bewährt sich zum Teil bis heute. Doch seine Hauptstärke – Vorhersehbarkeit – ist gleichzeitig auch seine größte Schwäche. Er beruht auf der Annahme, dass alle notwendigen Informationen (über den Kunden, die Technologieplattform, die API, die Frontend-Geräte, das Geschäftsmodell etc.) bei der Planung eines Software-Entwicklungsprojekts vollständig bekannt sind. Im heutigen Umfeld, das rasante Veränderungen durchläuft, ist dies nur selten der Fall. Daher wird ein weniger starrer Ansatz benötigt, insbesondere für langfristige Projekte.

Der „Agilitätsethos“

Agile Produktentwicklung basiert auf zwei wichtigen Annahmen:

  • Das Erfüllen der Benutzeranforderungen ist das wichtigste Entwicklungsergebnis, um einen Produkt-Markt-Fit zu erzielen.
  • Der Produkt-Markt-Fit entspricht möglicherweise nicht den anfänglichen Spezifikationen und kann nur durch eine iterative Vorgehensweise erreicht werden.

Entsprechend ist die agile Produktentwicklung extrem gut geeignet, um besonders nutzerfreundliche und kontinuierlich verbesserte Software zu entwickeln. Ein weiterer Vorteil ist, dass selbst in einer frühen Phase des Produktionszyklus ein bewertbares und grundsätzlich bereits versandfertiges Produkt zur Verfügung steht Das heißt, man muss nicht bis zur finalen, perfekten Produktversion warten, um herauszufinden, was beim Nutzer ankommt und was nicht – oder um Mehrwert und Umsatz zu generieren. Letztendlich bietet die agile Produktentwicklung auch großen Spielraum für Kreativität und Innovation während der Entwicklungsphase.

Die Kunst der agilen Produktentwicklung verstehen

Stellen Sie sich vor, Francesco del Giocondo wendet sich 1503 mit folgendem Auftrag an Leonardo da Vinci:

„Herr da Vinci, wir haben uns ein schönes Haus gekauft und möchten es gerne etwas wohnlicher gestalten. Könnten Sie bitte ein 77 x 53 cm großes Gemälde von meiner Frau Lisa zur Verschönerung unseres Flurs malen? Bitte verwenden Sie dabei nur die Farben Rot, Grün, Orange, Blau und Schwarz. Sie sollten in den nächsten 52 Wochen acht Stunden pro Tag malen. Bitte beginnen Sie mit dem Hintergrund im oberen Teil des Gemäldes. Fahren Sie dann mit dem Gesicht und dem Körper fort. Die Haare sollten als Letztes gemalt werden. Bitte übermitteln Sie mir außerdem ausführliche Informationen zu Ihrem Ansatz im Voraus schriftlich, einschließlich einer klaren Beschreibung des Endergebnisses und eines Plans für die folgenden Zwischenetappen: Kopf, Gesicht, Körper, Haare.“

Dieses leicht überspitzte Beispiel zeigt, wie traditionelle Software-Entwicklung die Kreativität von Entwicklern einschränkt. Könnten wir heute ein Meisterwerk wie die „Mona Lisa“ bewundern, wenn da Vinci damals eine solche Arbeitsanweisung erhalten hätte? Wohl kaum.

Natürlich möchte jeder ein Software-Meisterwerk schaffen, doch das Gerede über Kunst und Freiheit wird Ihnen vermutlich großen Ärger mit Ihrer Finanz- und Einkaufsabteilung einhandeln!

Mit Erwartungen von Unternehmen richtig umgehen

Jeder hat schon einmal den Begriff Projektmanagement-Dreieck gehört: „Schnell, gut oder billig. Suchen Sie sich zwei davon aus!“ Dies bezieht sich auf die folgenden Fragen, die sich jedes Unternehmen stellen muss:

  • Wie viel wird es kosten?
  • Wie lange wird es dauern?
  • Was ist der „Scope“, also der Leistungsumfang?

Der klassische Ansatz geht davon aus, dass immer nur jeweils zwei dieser Variablen zu Lasten der dritten optimiert werden können. Da es mehr oder weniger unmöglich ist, all diese Fragen vor Projektbeginn genau zu beantworten, entpuppen sich die meisten traditionellen Software-Entwicklungsprojekte als Enttäuschung. Und so wird häufig noch nicht mal eines der drei ursprünglichen Ziele erreicht.

Das Hauptproblem ist, dass „Scope“ als Kombination von Feature-Set und Qualität definiert wird. Mit einer agilen Produktentwicklung muss dies nicht so sein, da hohe Qualität nicht automatisch einer Reihe an zuvor definierten Funktionen entspricht. Wenn man die Variable „Feature-Set“ aus der Gleichung nimmt, dann entwickelt man zuerst die wertvollsten Features und erreicht somit auch die anderen Ziele in puncto Qualität, Zeit und Budget.

Scope

Bei agiler Entwicklung wird statt der Erstellung einer langen Liste an Funktionen in einer Spezifikation ein priorisiertes Product Backlog mit User Stories vorbereitet, die den Schwerpunkt auf die individuellen Bedürfnisse Ihrer Nutzer legen. Um Ihr Budget zu verwalten, ist es wichtig, das Backlog regelmäßig zu aktualisieren, indem diese User Stories von „unbedingt notwendig“ bis „optional“ priorisiert werden. Die anschließende Entwicklung erfolgt in „Sprints“, also kurzen Aktionsphasen, bei denen funktionsfähige Software auf Grundlage der Backlog-Prioritäten in klar definierten Freigabezyklen von 1-3 Wochen produziert wird.

Beispiel für eine User Story: „Als Benutzer möchte ich einen ausgewählten Artikel in einen virtuellen Warenkorb legen können, um später alle Artikel gleichzeitig kaufen zu können.“

Wie diese User Story umgesetzt wird – von der Farbe der Buttons über die beste Beschriftung bis hin zu Position und Animationen etc. – wird währenddessen auf Basis des User-Feedbacks, der UX-Design-Entscheidungen und der technischen Vorschläge definiert.

Die Idee, dass das genaue Feature-Set zum Zeitpunkt des Einkaufs noch nicht vollständig feststeht, kann für Ihre Einkaufsabteilung etwas irritierend sein. Denken Sie jedoch daran, dass die agile Produktentwicklung bei jedem Sprint zu einem funktionsfähigen Produkt führt. Der Scope kann während des Entwicklungsprozesses auf Grundlage der Erkenntnisse aus vorherigen Sprints angepasst werden. Weitere Funktionen werden in den darauf folgenden Sprints eingeführt, bis Sie zufrieden sind und das Produkt Ihre Anforderungen erfüllt oder Ihr Budget ausgeschöpft ist. Sie sind an jedem Schritt beteiligt, und wenn Sie Änderungen vornehmen müssen, werden diese in jeden nachfolgenden Sprint integriert.

Budget

Jedes Unternehmen hat ein Budget – und auch die agile Entwicklung muss innerhalb bestimmter finanzieller Grenzen vonstatten gehen.

Ein ausgezeichneter Ansatz ist es hierbei, ein Maximal-Budget und ein Ziel festzulegen, das vorgibt, was innerhalb welches Zeitrahmens erreicht werden soll. Ziel und Maximalbudget sollten in der Angebotsphase deutlich kommuniziert und vereinbart werden, sodass Ihre Lieferanten klare Zielvorgaben haben und Ihnen sagen können, was innerhalb des Budgetrahmens machbar ist.

Risiken

Mit agiler Entwicklung können Sie Ihre Risiken effektiv senken, da Sie bereits in einer frühen Phase des Projekts über eine funktionstüchtige Software mit regelmäßigen Updates verfügen, anstatt diese erst nach einem langwierigen Entwicklungszyklus zu erhalten. Selbst wenn Sie sich nach einem oder zwei Sprints von Ihrem Lieferanten trennen, haben Sie immer noch eine funktionierende Software-Version.

Durch den iterativen und transparenten Ansatz haben Sie zu jeder Zeit Einblick, was entwickelt wird, können Praxistests vornehmen und Feedback geben. Kommunikation ist hierbei entscheidend. Das Sprint-Team besteht aus Teammitgliedern verschiedenster Bereiche, die kontinuierlich ihre Erfahrung miteinander teilen und nicht für sich allein arbeiten – das Gegenteil klassischen Silodenkens. Dadurch wird ein weiteres großes Risiko der traditionellen Software-Entwicklung reduziert – Anforderungslücken, die erst in einer späten Entwicklungsphase entdeckt werden, was zu Last-Minute-Reparaturarbeiten und nachträglich hinzugefügten Funktionen führt.

Fazit

Agile Produktentwicklung liefert außergewöhnliche Ergebnisse für Ihr Unternehmen. Wenn sie richtig angewandt wird, erzielt diese Herangehensweise einen deutlichen Mehrwert und reduziert bestehende Risiken. Da Sie die funktionstüchtige Software zur Prüfung erhalten, können Sie auch Korrekturen vornehmen und ungeahnte Chancen nutzen, ohne dabei Ihr Budgetlimit zu strapazieren.

Zu guter Letzt haben auch Ihre Finanz- und Einkaufsteams die notwendigen Hebel bzw. Mechanismen zur Hand, um Lieferanten kontrollieren zu können, während Ihre Entwickler ausreichend Spielraum haben, um innovative Lösungen für Ihr Unternehmen zu entwickeln.

Um das zu erreichen, ist es absolut notwendig, dass Sie Ihren Produktentwicklungsexperten volles Vertrauen schenken. Vertrauen Sie darauf, dass diese während der Entwicklung optimale Entscheidungen auf Basis klarer Zielvorgaben treffen – anstatt jede einzelne Funktion noch vor dem Projektstart zu kalkulieren und absegnen zu lassen.

Wenn Sie Einsteiger in Sachen agile Produktentwicklung sind, sollten Sie sich an einen erfahrenen Partner wenden, der Sie bei Ihrem Projekt begleitet. Die Ergebnisse werden Sie begeistern.

Kommentare

Empfohlene Beiträge

zurück zur Übersicht