Im Detail-Architektur-Workshop werden alle Aspekte, welche die Realisierung oder Änderung einer Softwarearchitektur betreffen, definiert und detailliert ausgearbeitet. Allen Teilnehmenden des Workshops wird so ein klares und präzises Bild der geplanten Architektur und der zu verwendenden Technologien vermittelt.
Im Workshop wird ein erster klarer Feinschnitt erstellt, um konkrete Änderungen an einer Softwarearchitektur durchzuführen. Dieser basiert auf einem vorhergehenden Grobschnitt dieser neu geplanten Architektur. Nach Abschluss des Detail-Architektur-Workshops können dann erstmalig ein MVP sowie eine Projekt Roadmap erstellt und ausgearbeitet werden.
Vorausgehende Architektur-Workshops
Vor der Durchführung des Detail-Architektur-Workshops müssen bestimmte Fakten und Entscheidungen bekannt und geklärt sein. So sollte man sich bereits grob im klaren darüber sein, welche Zielarchitektur gewünscht ist. Beispielsweise können hier schon Überlegung angestellt worden sein, welche die Überführung und Einführung einer Microservice- oder Macroservice- Architektur als Wunscharchitektur festgelegt haben.
In unserem Beispiel werden Services, bestehend aus neuen, kleinen Symfony- oder ZF3-Monolithen, als Teilprojekte realisiert. Daher gehen dem Detail- Architektur-Workshop zwei weitere Architektur-Workshops voraus: Der Business Driver Workshop und der ATAM-Workshop.
Business Driver Workshop
Im Business Driver Workshop wird zusammengetragen und erörtert, was in einem Softwareprojekt benötigt wird und welche Business-Entscheidungen für das Projekt relevant sind. Stehen beispielsweise überwiegend PHP-Entwickler in einem Kundenprojekt zur Verfügung, so wäre dies ein Fakt, der die Entscheidung hinsichtlich der verwendeten Technologien stark beeinflusst. Nach Durchführung des Business Driver Workshops konnten nun idealerweise bereits wichtige Business-Fragen und deren Antworten und Entscheidungen festgelegt werden.
Dem Business Driver Workshop geht in der Regel ein umfangreiches Business-Komponenten- und ein Ressourcen Event-Storming voraus. Bei diesem werden alle vom Projekt betroffenen Business-Ressourcen und -Komponenten sowie Domänen-Objekte des Projekts identifiziert und gesammelt. Alle relevanten und involvierten Ressourcen, Entitäten und auch Businessentscheidungen müssen daher vor der Durchführung des Business Driver Workshops identifiziert und geklärt werden.
ATAM-Workshop
Im zweiten Schritt folgt nun der ATAM-Workshop, in dem eine Bewertung der einzelnen Architektur- und ATAM-Szenarien durchgeführt wird. Nach dem Workshop steht die Entscheidung für eine bestimmte Zielarchitektur im Projekt.
Detail-Architektur-Workshop
Wenn fest steht, welche Architektur im Projekt eingesetzt werden soll, geht es in die Überlegung der genauen Ausgestaltung dieser neuen Zielarchitektur.
… und seine Durchführung
Zur Durchführung des Workshops wird das Team in mehrere Gruppen aufgeteilt. Jede Gruppe erstellt dabei eine konkrete Ausarbeitung für die Umsetzung der neuen geplanten Zielarchitektur, welche als Ergebnis des ATAM-Workshops in dem geplanten ATAM-Szenario grob skizziert vorliegt.
Erstellen der Zielarchitektur
Die Teams erstellen in Form von Team-Katas einen jeweils eigenen Entwurf einer Architektur, bei der die betroffenen Services, Ressourcen und deren Zusammenspiel im Detail illustriert und beschrieben werden. Es findet hier auch eine genaue Beschreibung der eingesetzten Technologien und Services statt.
Vorstellen und Mergen der Ergebnisse
Nach der Gruppenphase des Detail-Architektur-Workshops werden die ausgearbeiteten Ergebnisse vorgestellt, verglichen und besprochen. Anschließend findet ein Merge der Ergebnisse statt. Es ist sinnvoll, das Beste erarbeitete Wissen aus allen Welten zusammenzutragen und für die neue Projektarchitektur zu verwenden. Bestimmte Entscheidungen können dabei auch in Team-Votings beschlossen werden.
Ausarbeiten der Details
Nach dem Mergen der Ergebnisse werden alle Detailfragen behandelt und geklärt, welche die Umsetzung der neuen Zielarchitektur betreffen. Darunter könnten sein:
- Welche Services, Ressourcen und Entitäten benötige ich überhaupt für meine Architektur?
- Wie sind die einzelnen Komponenten, Services und Ressourcen abgegrenzt?
- Wer kommuniziert mit wem? Wie genau sollen etwa Cloud-Ressourcen miteinander kommunizieren?
Das Ergebnis ist ein ausgearbeiteter Feinschnitt an Architekturkomponenten. Hier kann bereits festgelegt werden, welche Architekturform eingesetzt wird. Die Umsetzung und Einführung der einzelnen Schritte zur Erreichung dieses Ziels kann danach auch im Projekt in Form von Teilprojekten zerlegt und projektiert werden.
Ziele und Outcome
Alle Teilnehmenden des Detail-Architektur-Workshops bekommen ein genaues Bild über die verwendeten Techniken, Services und Ressourcen im Projekt und alle hinsichtlich der Softwarearchitektur getroffenen Entscheidungen wurden detailliert und nachhaltig dokumentiert. Die getroffenen Entscheidungen und Maßnahmen können sich auf das Bilden der Teams auswirken oder auch Ressourcen-Engpässe identifizieren.
Anhand dieser Ergebnisse kann jetzt auch ein erstes MVP definiert und konkrete Arbeiten daran geplant und begonnen werden. Das legt auch den Grundstein für eine Projekt Roadmap.
Was kommt nach dem Detail-Architektur-Workshop?
Nach Abschluss des Detail-Architektur-Workshops kann die Konzeptionierung und Ausarbeitung der einzelnen Architekturkomponenten im Projekt beginnen. Auch auf der agilen Ebene können im Projekt nun weitere Workshops folgen:
- Ein Story-Mapping-Workshop, bei dem alle anfallenden Aufgaben zur Implementierung der geplanten Änderungen an dem Softwareprojekt grob skizziert und in Stories zur Realisierung eines ersten MVPs gegossen werden.
- Im Migration-Workshop können alle Details des Migrationsprojekts ausführlicher umrissen werden.
- Der Opportunistic Roadmap Workshop, in dem eine erste Roadmap für das Projekt erstellt wird, welche unter ausschließlich optimistischen Gesichtspunkten betrachtet skizziert und festgehalten wird.
Schreibe einen Kommentar