Disziplinierte agile Lieferung - Disciplined agile delivery

Disciplined Agile Delivery ( DAD ) ist der Softwareentwicklungsteil des Disciplined Agile Toolkit. DAD ermöglicht es Teams, vereinfachte Prozessentscheidungen rund um die inkrementelle und iterative Lösungsbereitstellung zu treffen. DAD baut auf den vielen Praktiken auf, die von Befürwortern der agilen Softwareentwicklung vertreten werden , darunter Scrum , agile Modellierung , schlanke Softwareentwicklung und andere.

Die wichtigste Referenz für eine disziplinierte agile Umsetzung ist das Buch Choose Your WoW! , geschrieben von Scott Ambler und Mark Lines.

Insbesondere wurde DAD als ein Mittel identifiziert, um über Scrum hinauszugehen. Laut Cutter Senior Consultant Bhuvan Unhelkar "bietet DAD einen sorgfältig konstruierten Mechanismus, der nicht nur die IT-Arbeit rationalisiert, sondern vor allem auch die Skalierung ermöglicht." Paul Gorans und Philippe Kruchten fordern mehr Disziplin bei der Umsetzung agiler Ansätze und weisen darauf hin, dass DAD als beispielhaftes Framework "ein hybrider agiler Ansatz für die Bereitstellung von IT-Unternehmenslösungen ist, der eine solide Grundlage für die Skalierung bietet".

Geschichte

Scott Ambler und Mark Lines leiteten zunächst die Entwicklung von DAD. Ambler und Lines führen weiterhin die Entwicklung von DAD an. DAD wurde entwickelt, um einen kohärenteren Ansatz für die agile Softwareentwicklung bereitzustellen. eine, die versucht, die Prozesslücken zu füllen, die von Scrum (absichtlich) ignoriert werden, und eine, die in der Lage ist, auf Unternehmensebene zu skalieren. Laut Ambler konzentrieren sich viele agile Methoden – darunter Scrum, XP, AM, Agile Data, Kanban und mehr – auf eine Teilmenge der Aktivitäten, die erforderlich sind, um eine Lösung von der Projektinitiierung bis zur Auslieferung bereitzustellen. Bevor DAD entwickelt wurde, mussten Sie schnüren Sie Ihre eigene agile Methodik zusammen, um die Arbeit zu erledigen."

DAD wurde als Ergebnis der Beobachtung allgemeiner Muster entwickelt, bei denen Agilität erfolgreich angewendet wurde.

Im Jahr 2015 wurde das Disciplined Agile (DA) Framework entwickelt, das später zum Disciplined Agile Toolkit wurde. Dies wurde Disciplined Agile 2.x genannt. DAD bildete den Grundstein für DA. Eine zweite Schicht, diszipliniertes DevOps, wurde hinzugefügt, ebenso wie eine dritte Schicht namens Disciplined Agile IT (DAIT). Diese Schichten befassten sich jeweils mit dem Umgang mit DevOps und IT-Prozessen in einer Umgebung der Enterprise-Klasse.

Disciplined Agile 3.x wurde im August 2017 veröffentlicht, um eine vierte Schicht, Disciplined Agile Enterprise (DAE), einzuführen, die den gesamten Prozessbereich abdeckt, der für geschäftliche Agilität erforderlich ist.

Im Dezember 2018 wurde Disciplined Agile 4 veröffentlicht, das jetzt als Disciplined Agile Toolkit bezeichnet wird. Es konzentrierte sich auf eine komplett überarbeitete Beschreibung von DAD und eine teambasierte Verbesserungsstrategie namens Guided Continuous Improvement (GCI).

Im August 2019 wurde Disciplined Agile vom Project Management Institute übernommen .

Schlüsselaspekte

Viele der Herausforderungen, mit denen Teams konfrontiert sind, sind für Scrum nicht möglich und die Teams müssen nach anderen Methoden mit überlappenden Teilen und widersprüchlicher Terminologie suchen. DAD versucht, diese Herausforderungen mit einem lernorientierten, hybriden Ansatz für die Bereitstellung von IT-Lösungen zu bewältigen.

Menschen zuerst

Disziplinierte agile Bereitstellung (DAD) identifiziert, dass "Menschen und die Art und Weise, wie sie miteinander interagieren, der wichtigste Erfolgsfaktor für ein Lösungsbereitstellungsteam sind." DAD unterstützt einen robusten Satz von Rollen (siehe Abschnitt unten), Rechten und Verantwortlichkeiten, die Sie an die Bedürfnisse Ihrer Situation anpassen können. DAD fördert die Ideen, dass Teammitglieder eng zusammenarbeiten und voneinander lernen sollten, dass das Team sich bemühen sollte, aus seinen Erfahrungen zu lernen und seinen Ansatz weiterzuentwickeln, und dass dies auch der Einzelne tun sollte.

Hybrid

DAD ist ein hybrides Toolkit, das bewährte Strategien aus bestehenden Methoden wie Scrum , Extreme Programming (XP), SAFe , Agile Modeling (AM), Unified Process (UP), Kanban , Outside-In Software Development , Agile Data (AD . ) übernimmt und anpasst ) und das Entwicklungsmodell von Spotify . Anstatt sich die Zeit zu nehmen, eines dieser bestehenden Frameworks anzupassen, wurden mit DAD alle Anstrengungen zum Kombinieren relevanter Teile jeder Technik bereits erledigt.

Vollständiger Lieferlebenszyklus

Im Gegensatz zu agilen Methoden der ersten Generation, die sich normalerweise auf die Konstruktionsaspekte des Lebenszyklus konzentrieren, adressiert DAD den gesamten Bereitstellungslebenszyklus, von der Teameinleitung bis hin zur Bereitstellung einer Lösung für Ihre Endbenutzer.

Unterstützung für mehrere Lebenszyklen

DAD unterstützt sechs Lebenszyklen zur Auswahl: agile, schlanke, kontinuierliche Bereitstellung, explorative und große Teamversionen des Lebenszyklus. DAD schreibt keinen einzigen Lebenszyklus vor, weil es erkennt, dass ein Ansatz nicht für alle passt.

Vollständig

DAD zeigt, wie Entwicklung, Modellierung, Architektur, Management, Anforderungen/Ergebnisse, Dokumentation, Governance und andere Strategien zu einem schlanken Ganzen zusammenpassen. DAD erledigt das "schwere Heben", das andere Methoden dir überlassen. 

Kontextsensitiv

Der Ansatz ist eher ziel- oder ergebnisorientiert als vorschreibend. Dabei bietet DAD kontextbezogene Ratschläge zu praktikablen Alternativen – was funktioniert, was nicht und vor allem warum – und deren Kompromisse in stromlinienförmiger Weise.

Verbrauchsmaterialien über funktionierende Software

DAD reift den Fokus von der einfachen Softwareproduktion bis hin zur Bereitstellung von Verbrauchsmaterialien, die den Stakeholdern einen echten Geschäftswert bieten. Während Software eindeutig ein wichtiger Bestandteil der Leistung ist, bedeutet Lösungsorientierung eine ganzheitliche Betrachtung des Gesamtproblems. Dies kann zu Vorschlägen für Aktualisierungen der Hardware, der Geschäfts- und Organisationsprozesse sowie der gesamten Organisationsstrukturen führen.

Selbstorganisation mit entsprechender Governance

Agile und schlanke Teams sind selbstorganisierend, was bedeutet, dass die Menschen, die die Arbeit erledigen, diejenigen sind, die sie planen und abschätzen. Sie müssen nach wie vor unternehmensbewusst arbeiten, die die Prioritäten ihrer Organisation widerspiegeln, und dazu müssen sie von der Geschäftsleitung angemessen gesteuert werden.

Lebenszyklen

Disciplined unterstützte ursprünglich einen agilen (Scrum-basierten) Projektlebenszyklus und einen schlanken (Kanban-basierten) Projektlebenszyklus. Es wurde seitdem erweitert, um sechs Lebenszyklen zu unterstützen:

  1. Agil . Ein dreiphasiger Projektlebenszyklus basierend auf Scrum. Die Phasen sind Inception (was manchmal als "Sprint 0" bezeichnet wird), Aufbau und Transition (was manchmal als Release-Sprint bezeichnet wird).
  2. Schlank . Ein dreiphasiger Projektlebenszyklus basierend auf Kanban.
  3. Kontinuierliche Bereitstellung: Agil . Ein agiler Produktlebenszyklus, der einen kontinuierlichen Arbeitsfluss unterstützt, der zu inkrementellen Releases führt (normalerweise einmal pro Woche).
  4. Kontinuierliche Lieferung: Schlank . Ein schlanker Produktlebenszyklus, der einen kontinuierlichen Arbeitsfluss unterstützt.
  5. Explorativ . Ein auf Experimenten basierender Lebenszyklus basierend auf Lean Startup , der erweitert wurde, um die parallele Entwicklung von Minimum Viable Products gemäß den Ratschlägen von cynefin zu adressieren .
  6. Programm . Ein Lebenszyklus für die Koordination eines Teams von Teams.

Prozessziele

DAD wird als eine Sammlung von einundzwanzig Prozesszielen oder Prozessergebnissen beschrieben. Diese Ziele führen Teams durch einen schlankeren Prozess zu Entscheidungen, die den Kontext der jeweiligen Situation berücksichtigen. Es ermöglicht Teams, sich auf Ergebnisse zu konzentrieren und nicht auf die Einhaltung von Prozessen und auf Vermutungen über die Erweiterung agiler Methoden. Es ermöglicht die Skalierung durch die Bereitstellung ausgereifter Strategien, um die Komplexität zu bewältigen, mit der Sie konfrontiert sind.

Anfangsphase Konstruktionsphase Übergangsphase
Bringen Sie das Team in die richtige Richtung. Bauen Sie inkrementell eine Verbrauchsmateriallösung auf. Geben Sie die Lösung in die Produktion frei.
  • Formular Team
  • Ausrichten mit der Unternehmensrichtung
  • Gemeinsame Projektvision entwickeln
  • Umfang erkunden
  • Architekturstrategie identifizieren
  • Planen Sie die Veröffentlichung
  • Teststrategie entwickeln
  • Gemeinsame Vision entwickeln
  • Sichere Finanzierung
  • Architektur frühzeitig beweisen
  • Gehen Sie auf sich ändernde Bedürfnisse von Stakeholdern ein
  • Potenziell verbrauchbare Lösung herstellen
  • Qualität verbessern
  • Beschleunigen Sie die Wertlieferung
  • Produktionsbereitschaft sicherstellen
  • Stellen Sie die Lösung bereit
Laufende Ziele

Verbessern und arbeiten Sie unternehmensbewusst.

  • Teammitglieder wachsen lassen
  • Aktivitäten koordinieren
  • Adressrisiko
  • WoW entwickeln
  • Bestehende Infrastruktur nutzen und verbessern
  • Govern Delivery Team

Rollen

Hauptrollen

Diese fünf Hauptrollen in der disziplinierten agilen Bereitstellung finden sich normalerweise unabhängig vom Umfang.

  • Interessenvertreter . Jemand, der vom Ergebnis der Lösung wesentlich betroffen ist. Dies ist nicht nur ein Endbenutzer oder Kunde, sondern jeder, der potenziell von der Entwicklung und Bereitstellung eines Softwareprojekts betroffen ist.
  • Produktbesitzer . Die Person im Team, die als "eine Stimme des Kunden" spricht und die Bedürfnisse der Stakeholder-Community gegenüber dem agilen Delivery-Team vertritt.
  • Teammitglied . Das Teammitglied konzentriert sich auf die Erstellung der tatsächlichen Lösung für die Beteiligten, einschließlich, aber nicht beschränkt auf: Testen, Analyse, Architektur, Design, Programmierung, Planung und Schätzung. Sie verfügen über eine Teilmenge der insgesamt benötigten Fähigkeiten und streben danach, mehr zu gewinnen, um generalisierende Spezialisten zu werden.
  • Teamleitung . Der Teamleiter ist ein Gastgeber-Leiter und gleichzeitig der agile Coach, der dafür verantwortlich ist, die Kommunikation zu erleichtern, sie in der Wahl ihrer Arbeitsweise zu befähigen und sicherzustellen, dass das Team über die erforderlichen Ressourcen verfügt und frei von Hindernissen ist.
  • Inhaber der Architektur . Besitzt die Architekturentscheidungen für das Team und erleichtert die Erstellung und Weiterentwicklung des Gesamtlösungsdesigns.

Mögliche Nebenrollen

Diese unterstützenden Rollen werden (manchmal vorübergehend) eingeführt, um Skalierungsprobleme zu beheben.

  • Spezialist . Obwohl die meisten agilen Teammitglieder generalisierende Spezialisten sind, werden manchmal je nach Bedarf des Projekts andere Spezialisten benötigt.
  • Domain-Experte . Während der Product Owner ein breites Spektrum von Stakeholdern vertritt, wird manchmal ein Domänenexperte für komplexe Domänen benötigt, in denen ein differenzierteres Verständnis erforderlich ist.
  • Technischer Experte . Bei besonders schwierigen Problemstellungen kann bei Bedarf ein technischer Sachverständiger hinzugezogen werden. Dies können Build-Master, agile Datenbankadministratoren, User Experience (UX)-Designer oder Sicherheitsexperten sein.
  • Unabhängiger Tester . Obwohl der Großteil der Tests von den Mitgliedern des DAD-Teams durchgeführt wird, kann in Fällen mit komplexen Domänen oder Technologien parallel ein unabhängiges Testteam zur Validierung der Arbeit hinzugezogen werden.
  • Integrator . Für komplexe technische Lösungen in großem Maßstab kann ein Integrator (oder mehrere Integratoren) verwendet werden, um das gesamte System aus seinen verschiedenen Subsystemen aufzubauen.

Verweise

Weiterlesen