Digitale Kultur

Softwarearchitektur im agilen Kontext

Während meiner beruflichen Laufbahn, habe ich mich vom Betriebsystem über Datenbank- und Softwareentwicklung bis hin zu Systemarchitekturen mit vielen Dingen beschäftigt. Neben dem Was ich da getan habe, hat mich schon immer das Warum und Wie stark gereizt. Dadurch habe ich sicherlich viele Kunden und Projektleiter genervt, aber auch häufig Herausforderungen auf organisatorischer Ebene lösen können. Mittlerweile fokussiere ich mich stärker auf das Warum und Wie. Kürzlich bin ich dann über folgenden Tweet gestolpert:

Diese Aussage fiel wohl im Zuge einer Präsentation des Management zum „Reset der IT Architektur“. Sowohl als Softwarearchitekt als auch als begeistertet Nutzer agiler Methoden, konnte ich ein reflexartiges Kopfschütteln nicht unterdrücken. Warum?

Carsten, der Softwarearchitekt

Als Softwarearchitekt bin ich Kommunikator und Koordinator. Natürlich entwickle ich Teile der Software- oder Systemarchitektur, allerdings sehe ich mich nicht als den allwissenden Architekten im Elfenbeinturm. Ich akzeptiere, dass ich meine Spezialgebiete habe und innerhalb des Dev-Teams gute Lösungen entwickeln kann. Genauso gibt es aber andere Bereiche, in denen die Kollegen weitaus mehr Erfahrung besitzen und bessere Lösungsvorschläge haben. Was bleibt mir dann noch als Architekt an Aufgaben? In erster Linie eine grundlegende Struktur für die Architekturdokumentation festlegen (z.B. arc42 als Template) und die Entwicklung benötigter Lösungsansätze durch das gesamte Dev-Team zu koordinieren. Als zweite große Aufgabe sehe ich die saubere Kommunikation der Architektur sowie deren Verteidigung innerhalb und außerhalb des Teams.

Wichtig ist an dieser Stelle die Befähigung des gesamten Teams Entscheidungen hinsichtlich ihrer Architektur treffen zu können. Nur so stehen sie auch hinter den Konzepten. Diktierte Vorgaben durch Elfenbeinturmarchitekten oder das Management können im Dev-Team schnell zu einer blockierenden Haltung und damit zum Scheitern eines gesamten Projektes führen. Im Normalfall ist es dann eher die Projektleitung, die gehen muss und nicht die Entwickler.

Carsten, der agile Coach

In meiner Rolle als Agile Coach sehe ich mich beim Lesen dieser Aussage wieder einmal mit dem Irrtum „bei agil plant und dokumentiert man gar nicht“ konfrontiert. Das agile Manifest beschreibt vier Werte und 12 Prinzipien. Es wird klar beschrieben, dass die Werte auf der linken Seite wichtiger sind, die Punkte auf der rechten Seite dadurch allerdings nicht irrelevant sind.

Prozesse, Dokumentation, Absprachen und Pläne sind nach wie vor, auch im agilen Umfeld, relevant. Sie sollten nur nicht über vertrauensvolle Zusammenarbeit, offene Kommunikation und gesunden Menschenverstand gestellt werden.

So ist für mich im agilem Projektumfeld auch klar, dass es eine stabile Softwarearchitektur geben soll und auch muss. Nur so sind Qualitätsziele auch nachhaltig zu verfolgen und erreichen. Im Sinne der Befähigung des Teams muss die Architektur aus dem Team heraus entstehen. Jeder kann in seinem Spezialgebiet Teile der Architektur einbringen. Gegebenenfalls kann es einen Architekten im Team geben der, wie oben beschrieben, in erster Linie Kommunikator und Koordinator ist. Eine solche Rolle sollte sich jedoch von alleine innerhalb des Teams etablieren. Am Ende muss jedem Teammitglied klar sein, dass eine Architektur benötigt wird und diese im Verantwortungsbereich des gesamten Teams liegt.

Softwarearchitektur im agilen Kontext

Generell möchte ich sagen das, wie auch bei der agilen Projektplanung, im Bereich der agilen Softwarearchitektur ein Umdenken stattfinden muss. Eine Softwarearchitektur ist kein statisches Dokument oder ein Plan der vor Beginn eines Projektes festgelegt wird. Sie entwickelt sich stetig und dynamisch weiter und passt sich an neue Informationen und Rahmenbedingungen an. Zwischendurch ist immer wieder mehr Bewegung im Spiel, es gibt aber auch immer ruhige Phasen. Wichtig ist das die Architektur aus dem Team heraus entsteht und klar kommuniziert wird.

Mehr zum Thema

Der Tweet zum Thema

Das agile Manifest

arc42 Architektur Template

Herkules im Elfenbeinturm: Über die Vereinbarkeit von Agilität und EAM