Adaptive Softwareentwicklung: Wie Teams bei der Entwicklung Veränderungen im Blick behalten

By Atlassian

Die wichtigsten Punkte

  • Die adaptive Softwareentwicklung (Adaptive Software Development, kurz "ASD") erleichtert Teams den Umgang mit Unwägbarkeiten, da Pläne als flexibel betrachtet werden und die Arbeit anhand von Rückmeldungen kontinuierlich präzisiert wird.

  • ASD basiert auf drei sich wiederholenden Phasen: Spekulation, Zusammenarbeit und Lernprozess

  • Teams messen den Fortschritt daran, was Benutzer tatsächlich testen, überprüfen und woraus sie lernen können, nicht nur an abgeschlossenen Tickets oder Dokumentation.

  • Die adaptive Entwicklung eignet sich am besten für Projekte mit sich ändernden Anforderungen, sich weiterentwickelnden Kundenbedürfnissen oder hoher technischer Unsicherheit.

Im Verlauf ihrer Umsetzung treten bei Softwareprojekten häufig Faktoren auf, die zuvor nicht absehbar waren. Prioritäten verschieben sich, Kundenfeedback beeinflusst die Produktanforderungen, und manchmal ergeben sich technische Herausforderungen erst, nachdem die Entwicklung bereits begonnen hat. 

Teams, die an starren Plänen festhalten, tun sich oft schwer, wenn sich im Laufe des Projekts Änderungen ergeben.

Die adaptive Softwareentwicklung bietet einen anderen Ansatz. Anstatt Veränderungen als Störung zu betrachten, betrachtet sie Veränderungen als Teil des Entwicklungsprozesses selbst. 

Teams planen, liefern, lernen und passen sich kontinuierlich an, während sie Software entwickeln. In diesem Leitfaden wird erläutert, was die adaptive Softwareentwicklung ist, wie sie funktioniert und wie sie im Vergleich zu anderen Entwicklungsmethoden einzuordnen ist.

Was ist adaptive Softwareentwicklung (ASD)?

Die adaptive Softwareentwicklung (ASD) ist ein Ansatz der Softwareentwicklung, der für Projekte entwickelt wurde, bei denen davon ausgegangen wird, dass sich Anforderungen, Prioritäten und das technische Verständnis im Laufe der Zeit weiterentwickeln.

ASD entstand aus der Arbeit von Jim Highsmith und Sam Bayer während des rasanten Aufschwungs der Methoden zur Anwendungsentwicklung in den 1990er Jahren. Die Methodik wurde für komplexe Softwareprojekte entwickelt, bei denen Teams nicht jede Anforderung von Anfang an vorhersagen konnten.

Im Gegensatz zu starreren Entwicklungsmodellen geht ASD davon aus, dass Unwägbarkeiten während des Softwareentwicklungslebenszyklus unvermeidbar sind, und trägt dieser Annahme im sich wiederholenden Zyklus der Methodik mit drei Phasen Rechnung: 

  1. Spekulation

  2. Zusammenarbeit

  3. Lernprozess 

Diese Struktur ermutigt Teams dazu, fundierte Annahmen zu treffen, bei der Entwicklung schrittweise vorzugehen, Feedback einzuholen und die Ausrichtung des Projekts im Zuge der gewonnenen Erkenntnisse anzupassen. Das erklärt den "adaptiven" Teil der adaptiven Softwareentwicklung. 

Planung ist nach wie vor wichtig, doch Pläne werden eher als flexible Vorgaben und nicht als feste Regeln betrachtet.

Die Teams nutzen Feedback zur Umsetzung, Anregungen der Beteiligten, Erkenntnisse aus Tests und Kundenreaktionen, um den nächsten Arbeitszyklus zu gestalten. Der Fortschritt wird anhand der Benutzerfreundlichkeit der Software, validierter Erkenntnisse und verbesserter Entscheidungsfindung gemessen statt nur anhand des Aufgabenabschlusses.

ASD deckt sich zudem weitgehend mit vielen Konzepten der Agile-Methodik, insbesondere hinsichtlich der Bedeutung von Zusammenarbeit, Reaktionsfähigkeit und schrittweiser Bereitstellung.

Wichtige Attribute von ASD

Die adaptive Softwareentwicklung zeichnet sich durch mehrere Kernmerkmale aus, mit deren Hilfe Teams in sich wandelnden Umgebungen effektiv arbeiten können.

  • Zielorientierte Planung: Teams beginnen mit einem klaren Produktziel oder Geschäftsziel, auch wenn nicht jede Anforderung bis ins Detail definiert ist. Dadurch wird die allgemeine Richtung festgelegt, ohne Teams in übermäßig starre Pläne zu zwingen.

  • Schrittweise Bereitstellung: Die Teams liefern in kürzeren Zyklen nutzbare Produkte, um früher Feedback einzuholen und Prioritäten leichter anpassen zu können.

  • Zusammenarbeit: Entwickler, Produktmanager, Designer, Qualitätssicherungstester und Interessengruppen arbeiten während des gesamten Prozesses eng zusammen, anstatt in voneinander getrennten Phasen zu agieren.

  • Lernprozess: Die Teams überprüfen kontinuierlich Annahmen, technische Entscheidungen und die Ergebnisse der Umsetzung. Feedback-Schleifen werden als aktiver Bestandteil der Entwicklung betrachtet, nicht als abschließender Überprüfungsschritt.

  • Flexibilität: Die Teams überprüfen im Verlauf der Projekte regelmäßig den Umfang, die Prioritäten, die Risiken und die Abhängigkeiten, ohne dabei die Verantwortlichkeiten aus den Augen zu verlieren.

Viele Unternehmen verwenden auch Agile-Metriken, um die Leistung ihrer adaptiven Teams im Zeitverlauf zu bewerten. Metriken wie Durchlaufzeit, Vorlaufzeit, Durchsatz und Fehlentwicklungen ermöglichen es den Teams, Muster bei der Bereitstellung zu erkennen und Verbesserungsmöglichkeiten aufzudecken.

So funktioniert die adaptive Softwareentwicklung

Im Folgenden findest du einen Überblick darüber, was in jeder der drei sich wiederholenden Phasen bei ASD geschieht, gefolgt von ausführlichen Erläuterungen:

Phase

Ablauf

Gewünschtes Endprodukt der Teams

Spekulation

Festlegung der Mission, Annahmen, Einschränkungen und Prioritäten

Flexibler Plan, Backlog, Aufstellung von Zielen und Risiken

Zusammenarbeit

Aufgabenübergreifende Arbeit, um Probleme zu lösen und die Bereitstellung von Weiterentwicklungen möglich zu machen

Funktionierende Software, Lösungen für Blocker und Feedback

Lernen

Auswertung der Ergebnisse, Überprüfung der Annahmen und Anpassung des nächsten Zyklus

Notizen zur Retrospektive, aktualisierte Prioritäten und Verbesserungen

Spekulation: Vorbereitung auf Unwägbarkeiten

Die Spekulationsphase konzentriert sich auf eine realistische Planung, wenn nicht alle Anforderungen von Anfang an bekannt sind.

Die Teams legen die Mission für den aktuellen Zyklus fest, ermitteln bekannte Einschränkungen, erörtern Annahmen und skizzieren die Release-Ziele. Anstatt feste langfristige Pläne zu erstellen, setzen Teams unmittelbare Ziele, die sich parallel zum Projekt weiterentwickeln können.

Bild eines Jira-Backlogs

Diese Phase umfasst häufig die Erstellung oder Überarbeitung von Produkt-Backlogs, die Ermittlung technischer Risiken, die Priorisierung von Funktionen sowie die Einschätzung des kurzfristigen Arbeitsaufwands.

Beispielsweise kennt ein Produktteam, das eine Plattform für die Kunden-Onboarding-Prozesse entwickelt, vermutlich das zentrale Geschäftsziel, das es erreichen möchte. Möglicherweise muss es jedoch erst noch herausfinden, wie Kunden mit dem Workflow interagieren. 

Anstatt jede Anforderung sofort festzulegen, erstellt das Team eine flexible Produkt-Roadmap, die angepasst werden kann, sobald das Kundenverhalten deutlicher wird. ASD wird oft mit dem Waterfall-Entwicklungsansatz verglichen, da beide sehr unterschiedliche Planungsmodelle darstellen. 

Während ASD sich für Projekte eignet, bei denen Teams Raum benötigen, um während der Entwicklung zu lernen, empfiehlt sich das Wasserfallmodell, wenn Teams alle Anforderungen vor Beginn der Entwicklung zuverlässig definieren und genehmigen können. 

Dies ist eher typisch für stark regulierte oder vertragsgebundene Projekte, bei denen die Anforderungen stabil sind, die Genehmigungswege feststehen und die Teams einem klaren, schrittweisen Plan folgen können. 

Zusammenarbeit: aufgabenübergreifende Problemlösung

Eine adaptive Entwicklung setzt eine enge Zusammenarbeit zwischen technischen und nichttechnischen Beteiligten voraus. Entwickler, Produktmanager, Designer, Qualitätssicherungstester, Kunden und Führungskräfte leisten während des gesamten Entwicklungsprozesses ihren Beitrag. 

Anstatt Vorgänge hinter den Kulissen zwischen den Abteilungen hin- und herzuschieben, lösen die Teams Probleme gemeinsam, offen und kontinuierlich. Durch diese Zusammenarbeit können Teams schnell reagieren, wenn sich Anforderungen ändern oder technische Hindernisse auftreten. 

Probleme werden früher erkannt, Entscheidungen werden schneller getroffen und die Teams behalten einen besseren Überblick über Vor- und Nachteile. Durch die Zusammenarbeit wird zudem die Abstimmung zwischen der tatsächlichen Umsetzung und den Kundenerwartungen verbessert. 

Teams können Annahmen bereits während der laufenden Arbeit überprüfen, anstatt Probleme erst kurz vor dem Veröffentlichungstermin zu entdecken. 

Ein Bild eines Jira-Boards im Dunkelmodus

Unternehmen, die Frameworks wie Scrum oder Kanban verwenden, wenden häufig ähnliche Prinzipien der Zusammenarbeit an. Allerdings legt ASD einen stärkeren Schwerpunkt auf den Lernprozess in unsicheren Situationen als auf die Einhaltung bestimmter Rituale oder Regeln für bestimmte Workflows.

Jira-Boards helfen Teams dabei, den Arbeitsfortschritt während der verschiedenen Entwicklungsphasen zu visualisieren. Durch den gemeinsamen Einblick können funktionsübergreifende Teams den Fortschritt leichter verfolgen, Blocker erkennen und Prioritäten unter Einbeziehung verschiedener Interessengruppen koordinieren.

Lernprozess: bessere Arbeit durch Feedback

In der Lernphase analysieren die Teams die Ergebnisse und legen fest, wie der nächste Zyklus verbessert werden kann.

Die Teams werten die Vorgänge während der Umsetzung aus, vergleichen die Ergebnisse mit den Annahmen und legen Anpassungen für zukünftige Vorgänge fest. Die gewonnenen Erkenntnisse stammen aus verschiedenen Quellen, darunter Rückmeldungen von Benutzern, Testergebnisse, Betriebsstörungen, Überprüfungen durch Interessengruppen und Bereitstellungsdaten.

Ein Bild eines Sprints

Diese Phase umfasst oft Agile-Retrospektiven, Sprint-Reviews und Release-Analysen, weil eines der Ziele darin besteht, zu verbessern, wie Teammitglieder zusammenarbeiten. Teams können zudem die Kommunikation optimieren, Prioritäten neu festlegen oder Entwicklungsabläufe verbessern.

Die Teams können das Produkt auch verbessern, indem sie die Akzeptanz bei Kunden und die technische Leistung überprüfen.

ASD betrachtet den Lernprozess als Teil der fortlaufenden kontinuierlichen Verbesserung. Kleine Anpassungen, die über Bereitstellungszyklen hinweg konsequent vorgenommen werden, können die Produktqualität, die Liefergeschwindigkeit und die Zusammenarbeit im Team im Lauf der Zeit deutlich verbessern.

Die Berichtsfunktionen von Jira helfen Teams, Bereitstellungstrends zu analysieren, Sprint-Ergebnisse zu überwachen und Arbeitsmuster zu überprüfen. Berichte können Teams dabei unterstützen, wiederkehrende Blocker, ungleichmäßige Arbeitsauslastung oder planerische Mängel zu erkennen, die sich auf zukünftige Bereitstellungszyklen auswirken.

Vor- und Nachteile der adaptiven Softwareentwicklung

Die adaptive Softwareentwicklung leistet gute Dienste in unsicheren oder sich schnell verändernden Umgebungen, doch die Teams müssen den Prozess dennoch sorgfältig steuern. Im Folgenden wird erläutert, warum jeder Vorteil bestimmte Regeln erfordert. 

Vorteil

Warum dies hilfreich ist

Herausforderung bei der Umsetzung

Mehr Flexibilität

Teams können anhand neuer Erkenntnisse ihre Prioritäten anpassen

Zu viel Flexibilität kann ohne ein klares Ziel zu Scope Creep führen

Schnellere Feedback-Schleifen

Teams können Annahmen früher validieren

Das Feedback muss strukturiert werden und in klare nächste Schritte umgesetzt werden

Stärkere Zusammenarbeit

Funktionsübergreifende Teams können komplexe Probleme gemeinsam lösen

Die Zusammenarbeit kann ins Stocken geraten, wenn Rollen und Entscheidungswege unklar sind

Besseres Risikomanagement

Teams können Unwägbarkeiten aufdecken, bevor diese zu erheblichen Blockern werden

Teams brauchen Transparenz in Bezug auf Risiken, Abhängigkeiten und Kompromisse

Kontinuierliche Verbesserung

Jeder Zyklus hilft dem Team, das Produkt und den Prozess zu verbessern

Teams brauchen Zeit für Reflexion, nicht nur für die Bereitstellung

Kurz gesagt: Adaptive Entwicklung erfordert Disziplin. Die Teams benötigen nach wie vor einen Überblick über gemeinsame Ziele, Priorisierungsprozesse und klare Kommunikationsstrukturen, um Verwirrung oder Unregelmäßigkeiten bei der Umsetzung zu vermeiden.

Adaptive Softwareentwicklung im Vergleich zu anderen Methoden

Die adaptive Softwareentwicklung ist Teil eines Ökosystems aus verschiedenen modernen Entwicklungsansätzen, von denen jeder seine eigenen Stärken und Anwendungsfälle hat. Diese Methoden unterscheiden sich darin, wie Teams Vorgänge strukturieren und auf Veränderungen reagieren.

Methode

Die richtige Lösung für

Wie die Methode sich im Vergleich zur adaptiven Softwareentwicklung verhält

Adaptive Softwareentwicklung

Komplexe Projekte mit sich ändernden Anforderungen

Konzentriert sich auf flexible Planung, Zusammenarbeit und Lernzyklen

Agile

Teams mit einem Weitblick für iterative Vorgänge

ASD ist eine agile Methodik innerhalb der größeren Agile-Familie

Scrum

Teams, die in strukturierten Sprints arbeiten

Scrum ist stärker rollen- und zeremoniegesteuert, während ASD auf Anpassungen infolge neuer Erkenntnisse ausgerichtet ist.

Kanban

Einen kontinuierlichen Flow und visuelles Arbeitsmanagement

Der Fokus von Kanban liegt auf dem Flow und Work-in-Progress-Grenzen, während der Fokus von ASD auf flexiblen Reaktionen auf Unsicherheiten liegt.

Wasserfall

Beständige Projekte mit festen Anforderungen

Das Wasserfall-Modell ist linear, während bei ASD erwartet wird, dass sich Pläne und Anforderungen ändern können.

Wann wird adaptive Softwareentwicklung verwendet?

Adaptive Softwareentwicklung eignet sich gut, wenn ein Team ein klares Ziel hat, der Weg dorthin sich jedoch ändern kann. Teams profitieren oft von ASD unter den folgenden Bedingungen:

  • Die Anforderungen werden sich im Verlauf des Projekts wahrscheinlich ändern.

  • Die laufenden Entwicklungsentscheidungen müssen von Kundenfeedback geprägt sein.

  • Teams müssen in kurzen Zyklen veröffentlichen, testen und Verbesserungen vornehmen.

  • Mehrere Stakeholder tragen zu sich verschiebenden Prioritäten bei.

  • Technische Komplexität schafft unbekannte Risiken oder Abhängigkeiten.

  • Teams entwickeln neue Produkte oder erschließen unbekannte Märkte.

  • Der Erfolg der Bereitstellung hängt von schneller Iteration und Erkenntnissen ab.

  • Funktionsübergreifende Zusammenarbeit ist während der gesamten Entwicklung erforderlich.

Adaptive Ansätze können Unternehmen auch dabei helfen, die langfristige Produktausrichtung mit kurzfristiger Flexibilität in Einklang zu bringen. Teams verfolgen weiterhin eine gemeinsame Mission, während sie ihre Taktik anpassen, je mehr sie dazulernen.

Leichtere Anpassung an geänderte Softwareanforderungen

Erkenntnisgewinn und Anpassung sind ein fester Bestandteil der adaptiven Softwareentwicklung und werden nicht als Ausnahmen vom Plan angesehen. Gleichzeitig bietet der Ansatz genug Struktur, um klare Ziele, transparente Workflows, regelmäßige Feedbackschleifen und eine verlässliche Zusammenarbeit zu unterstützen.

Jira unterstützt diesen Ansatz durch die Möglichkeit, Aufgaben in Backlogs zu organisieren, den Fortschritt auf Boards zu visualisieren, sich entwickelnde Aufgaben mit Zeitleisten zu planen und Liefermuster mithilfe von Berichtstools zu analysieren. Diese Funktionen helfen Teams, jeden Erkenntniszyklus mit dem nächsten Bereitstellungszyklus zu verknüpfen.

Probiere Jira jetzt aus, um selbst zu sehen, wie es adaptiven Softwareteams hilft, sich ändernde Anforderungen, sich wandelnde Kundenerwartungen und komplexe Bereitstellungsumgebungen zu verwalten.

FAQ zur adaptiven Softwareentwicklung (ASD)

Von wem stammt die adaptive Softwareentwicklung?

Die adaptive Softwareentwicklung wurde von Jim Highsmith und Sam Bayer entwickelt. Ihre Arbeit baute auf Konzepten der schnellen Anwendungsentwicklung auf und konzentrierte sich darauf, Teams dabei zu helfen, komplexe Softwareprojekte mit sich ändernden Anforderungen zu verwalten.

Erfordert adaptive Softwareentwicklung kurze Release-Zyklen?

Nicht immer. Viele anpassungsfähige Teams arbeiten in kürzeren Zyklen, weil schnelleres Feedback den Erkenntnisgewinn und die Entscheidungsfindung verbessert. ASD legt jedoch mehr Wert auf Reaktionsfähigkeit und Lernen als auf das Einhalten eines festen Release-Zeitplans.

Wie viel Dokumentation ist bei der adaptiven Softwareentwicklung erforderlich?

Auch bei der ASD wird Dokumentation wertgeschätzt, die Teams konzentrieren sich jedoch in der Regel auf Dokumentation, die die Zusammenarbeit, die Entscheidungsfindung und die Bereitstellung unterstützt. Dokumentation wird eher als praktisches Hilfsmittel denn als starre Prozessanforderung betrachtet.

Für dich empfohlen

Jira-Vorlagen für den sofortigen Einsatz

In unserer Bibliothek findest du individuelle Jira-Vorlagen für verschiedene Teams, Abteilungen und Workflows.

Eine umfassende Einführung in Jira

Meistere mit dieser Schritt-für-Schritt-Anleitung die grundlegenden Funktionen und Best Practices zur Steigerung deiner Produktivität.

Git –die Grundlagen

Egal, ob du Anfänger oder Profi bist, dieser Git-Leitfaden bringt dir mit hilfreichen Tutorials und Tipps die Grundlagen bei.