Architektur-Dojos: Training für Software-Architekten

Wie lernt man, eine gute Software-Architektur zu entwerfen? Im Prinzip genauso wie man Programmieren gelernt hat: Indem man es regelmäßig tut und sich dabei kontinuierlich verbessert –man trainiert sozusagen. Dabei hat man allerdings das Problem, dass architektonische Aufgaben, an denen man diese Fähigkeiten üben könnte, nicht tagtäglich auftauchen. Wie also lassen sich dann die nötigen Erfahrungen sammeln?

Ein Weg kann ein Architektur-Dojo sein, bei dem man gemeinsam mit anderen Teilnehmern eine Aufgabe löst und dabei die notwendigen Arbeitsschritte für den Architekturentwurf konkret anwenden kann. Durch das Feedback in der Gruppe lassen sich Wissenslücken und Verbesserungspotentiale erkennen und so Stück für Stück mehr Know How aufbauen.



Was sind Architektur-Dojos?

Das Prinzip der Architektur-Dojos geht auf Ted Neward zurück, der speziell für Software-Architekten ein Veranstaltungsformat konzipierte, in dem diese ihre Fertigkeiten trainieren können. Ähnlich wie bei den weitverbreiteten Coding Dojos geht es darum, gemeinsam an einer Übungsaufgabe das Handwerk zu verbessern. Der wesentliche Unterschied besteht jedoch darin, dass am Ende keine lauffähige Software, sondern eine Architekturvision steht. Der Ablauf dieses Workshops sieht in der Regel wie folgt aus:



Einführung


Der Dojoleiter eröffnet das Dojo und erläutert den Ablauf sowie den zeitlichen Rahmen der Veranstaltung. Anschließend stellen sich die Teilnehmer kurz vor und bilden Teams von 2-3 Personen. Ausgerüstet mit Flipcharts, Stiften und Post-Its wählt jedes Team seinen Arbeitsplatz.



Aufgabenstellung


Die Bestandteile einer Architekturvision, die von jedem Team erarbeitet werden sollen, werden vom Dojoleiter vorgestellt. Dabei gibt er Hilfestellungen in Form von praktischen Tipps zum Beispiel zur Ergebnisdarstellung oder dem methodischen Vorgehen. Abschließend stellt er die Übungsaufgaben (Architektur-Katas) vor, die zur Auswahl stehen.



Katabearbeitung


Nachdem sich jedes Team für ein Kata entschieden hat, beginnt die eigentliche Arbeit. Da die Übungsaufgaben sehr knapp gehalten sind, ergeben sich im Laufe der Architekturentwicklung in der Regel viele Detailfragen. Der Dojoleiter übernimmt daher die Rolle des jeweiligen Auftraggebers und gibt die benötigten Informationen. Wenn die vereinbarte Zeitspanne verstrichen ist, beenden alle Teams Ihre Arbeit und kommen zur Präsentation wieder zusammen.



Review


Reihum stellen die Teams nun ihre Ergebnisse vor. Dabei müssen sie ihre Analysen und Ergebnisse präsentieren und den anderen Teilnehmern Rede und Antwort stehen. Optional kann ein einfaches Voting durch Handzeichen durchgeführt werden, um die Ergebnisse zu bewerten.



Retrospektive


Abschließend geben alle Teilnehmer ihre Feedback zum Dojo und teilen das Gelernte untereinander.



Perfektes Training für Neulinge und Profis


Architektur-Dojos bieten jede Menge Lernpotential und sind das perfekte Training – egal ob für Architekturneulinge oder gestandene Veteranen: Sei es, dass die eigenen Lösungsansätze bei der Architekturpräsentation kritisch hinterfragt werden und man so bisher ungeahnte Blind Spots findet – oder einfach neue, vielleicht auch unkonventionelle Strategien oder Technologien kennenlernt. Gleichzeitig entwickelt sich ein interessanter Austausch, bei dem man über die Grenzen seines bekannten Umfelds hinausschauen kann.

Tweet-Architektur-Dojo.png



Ich hoffe, Ihr habt jetzt Lust bekommen, es selbst einmal auszuprobieren. Gerne unterstützen ich euch auch bei der Durchführung eures ersten Architektur-Dojos und freue mich wie immer auf euer Feedback in den Kommentaren. 

Mehr Infos rund um das Thema agile Softwareentwicklung findet ihr außerdem in unserem Blog.

Erfahrt mehr über agile Softwareentwicklung  in unserem Blog

Über Christian Fischer

Christian Fischer ist Agile Software Craftsman bei der itemis AG und unterstützt als Coach für Agile Methoden und Prozesse Teams und Organisationen auf ihrem Weg zu einer effizienteren Produktentwicklung. Daneben ist er iSQI zertifizierter Trainer für Agile Test Driven Development und regelmäßig Sprecher auf Konferenzen sowie Autor von Fachartikeln.