Architektur-Katas für erfolgreiche Workshops unseres Entwicklungsteams
Alice Plet
4 Minuten
Wiederholte Übung für meisterhafte Softwarelösungen - Erfahre, wie strukturierte Übungen nicht nur die Fähigkeiten deines Teams schärfen, sondern auch Innovation und Zusammenarbeit fördern können.
Was ist eine Architektur-Kata?
Der Begriff „Kata“ stammt ursprünglich aus dem japanischen Kampfsport und beschreibt einen Bestandteil der Ausbildung in Disziplinen wie Karate, Judo oder auch Kendo. Dort bezeichnet er eine feste Abfolge von Bewegungen und Techniken, die wiederholt geübt werden. Dabei dient die Durchführung dazu, Technik, Präzision und Form zu verfeinern. Wörtlich übersetzt bedeutet das Wort „Kata“ in diesem Sinne so viel wie „Form“ oder „Modell“.
Mittlerweile ist der Begriff „Kata“ auch im Bereich der Software-Entwicklung in Gebrauch. Dort können wir das Prinzip der wiederholten, gezielten Übungen für uns nutzen. Durch Übungsaufgaben aus dem Bereich Software-Programmierung oder -Architektur haben wir die Möglichkeit, bestimmte Techniken und Fähigkeiten zu verbessern. Wir vom Development & Architecture Team bei enpit machen uns die Vorteile der Katas zu Nutzen und führen sie in regelmäßigen Abständen durch. Dabei wählen wir Aufgaben mit unterschiedlichen Schwerpunkten aus, die so auch in unserem Arbeitsalltag zu finden sind. Eine dieser Aufgaben gingen wir im Juni wieder gemeinsam an und bearbeiteten sie in Form eines Workshops.
Dafür kamen wir in der Ideenwerkstatt des enpit Büros zusammen und lösten unter Anleitung unseres Team-Mitglied Jens die Übungsaufgabe in mehreren Etappen. Im Folgenden wird beschrieben, welche Ziele wir uns für die Durchführung von Architektur-Katas setzen und wir bei unserem Workshop vorgingen, um sie zu erreichen.
Ziele unseres Workshops
Bei der Planung unseres Workshops fassten wir folgende Ziele ins Auge:
- Verbesserung der architektonischen Fähigkeiten: Entwickler:innen und Architekt:innen sollen ihre Fähigkeiten in der Anwendung von Entwurfsmustern, Skalierbarkeit, Modularität und anderen architektonischen Prinzipien verbessern.
- Teamzusammenarbeit: Durch die gemeinsame Lösung architektonischer Herausforderungen können Teams ihre Zusammenarbeit und Kommunikationsfähigkeiten stärken.
- Innovationsförderung: Durch das Experimentieren mit verschiedenen Lösungsansätzen werden neue und innovative Ideen gefördert.
- Wissensaustausch: Erfahrene Architekt:innen können ihr Wissen an weniger erfahrene Teammitglieder weitergeben und so den kollektiven Wissensstand erhöhen.
Ablauf unseres Workshops
Daraus ergab sich folgender Ablauf für uns:
-
Problemstellung kennenlernen:
Jens führte uns in die Aufgabenstellung ein. Er wählte eine Übung, bei der das Design und die Planung einer Softwarearchitektur im Fokus standen. Die Übungsumgebung wurde aus einer Auflistung von Anforderungen und einer Beschreibung des Kontexts definiert. -
Diskussion und Planung: Wir teilten uns in zwei Gruppen auf, die jeweils die Anforderungen und den Kontext in einer Diskussions- und Planungsphase genauer unter die Lupe nahmen. Unser Teammitglied Sarah übernahm die Rolle der Kundin und beantwortete Fragen zu den Anforderungen. Die Aufgabenstellung wurde bewusst so formuliert, dass sie zur Diskussion innerhalb der Gruppen anregen sollte. Es galt Widersprüche innerhalb der Anforderungen festzustellen und Rücksprache mit der Kundin zu halten. So konnten die Gruppen klären, was für die Stakeholder besonders wichtig war.
-
Entwurfsphase: Mit einem klaren Verständnis der Anforderungen und des Kontexts sind wir durch mehrere Iterationen der Entwurfsphase gegangen. Verschiedene Sichten wurden erstellt, um unterschiedliche Aspekte der Architektur zu definieren. Hier zeichnete sich ab, dass die Gruppen die Anforderungen anders gewichteten und verschiedene Lösungen entwickelten.
-
Präsentation und Feedback: Die Gruppen präsentierten sich gegenseitig die Entwürfe der jeweiligen Iterationen. Jede Gruppe gab ihr Feedback zu den jeweiligen Sichten und konnte bei Unklarheiten auch Fragen stellen. Die angesprochenen Punkte konnten in die nächste Entwurfsphase miteingebracht werden.
-
Reflexion und Verbesserung: Basierend auf dem Feedback und den endgültigen Entwürfen konnten wir unseren Prozess reflektieren. Wir verglichen die unterschiedlichen Herangehensweisen der Teams und besprachen, wie ein optimierter Ansatz für uns aussehen würde. Dabei konnten wir unseren Umgang mit den widersprüchlichen Anforderungen, die wir zu Beginn festgestellt haben, ebenfalls reflektieren. Uns wurde noch einmal klarer, dass die Menge an Anforderungen und Wünschen der Aufgabenstellung auch die Realität widerspiegelt. So konnten wir herausstellen, was wir bei dem Umgang damit verbessern könnten.
Unser Fazit zu Architektur-Katas
Unser Fazit zu Architektur-Katas fällt durchweg positiv aus. Sie sind eine wertvolle Möglichkeit, unsere architektonischen Fähigkeiten zu verbessern, ohne dabei einen übermäßigen Planungsaufwand zu erfordern. Besonders hilfreich ist es, auf bereits erzielte Ergebnisse zurückgreifen zu können, wenn ähnliche Herausforderungen im Arbeitsalltag auftauchen. Zudem tragen sie wesentlich zum Wissensmanagement bei und bieten eine Gelegenheit zur kontinuierlichen Aus- und Weiterbildung.
Für die Zukunft planen wir bereits die nächsten Katas und sind gespannt darauf, weiterhin gemeinsam an spannenden Aufgaben zu arbeiten. Es hat uns nicht nur fachlich bereichert, sondern auch viel Spaß gemacht, unsere Fähigkeiten im Team zu stärken und neue Ideen zu entwickeln.
Diesen Artikel teilen über: