Interview mit Falk Sippach

„Eine perfekte Architektur ist nutzlos, wenn sie niemand versteht“

Hartmut Schlosser

Falk Sippach

Was nützt eine noch so gute Architektur, wenn sie niemand versteht? Nicht viel, denn Software-Projekte sind in ständigem Fluss, genauso wie die Entwickler-Teams, die über die Jahre an den Architekturen arbeiten. Essentiell ist deshalb eine aussagekräftige Architektur-Dokumentation – wie man diese erstellt, und was das ganze mit agiler Software-Entwicklung zu tun hat, haben wir mit JAX-Speaker Falk Sippach (OIO) besprochen.

JAXenter: Du beschäftigst dich auf der JAX mit kontinuierlicher Architekturdokumentation. Was gehört eigentlich in eine aussagekräftige Architekturdokumentation – und was nicht?

Falk Sippach: Gute Architekten können nicht nur Systeme entwerfen, sie müssen auch ihre Entscheidungen gegenüber den anderen Stakeholdern des Projektes kommunizieren. Eine perfekte Architektur ist schließlich nutzlos, wenn sie niemand versteht. Die Dokumentation kann dazu beitragen und sollte daher sinnvoll und angemessen sein, also eine gesunde Mischung aus nicht zu viel und nicht zu wenig.

Darum gehören für mich hauptsächlich die groben Strukturen (Bausteine und Schnittstellen, Zusammenarbeit der Bausteine zur Laufzeit, Integration in die Infrastruktur und die technischen Konzepte) dokumentiert. Für die spätere Nachvollziehbarkeit ist zudem das Festhalten der wichtigen Entscheidungen mitsamt den Begründungen sinnvoll.

Informationen, die zu sehr ins Detail gehen, haben definitiv nichts in einer Architekturdokumentation zu suchen. Schließlich führen sie zu einer wartungsintensiven Pflege oder noch viel gefährlicher zu falschen/veralteten Aussagen. Darum gehört für mich noch ein regelmäßiger Review-Prozess dazu, genauso wie man es bei Code Reviews hoffentlich auch schon tut.

JAXenter: Du bringst Architekturdokumentation nun mit Agile in Verbindung – wo siehst du hier den Zusammenhang?

Falk Sippach: In der Software-Entwicklung haben wir mittlerweile den Anspruch, agil vorzugehen. Also zum Beispiel in kleinen Iterationen zu arbeiten, regelmäßig ausliefern zu können, um wiederum Feedback einzuholen und einfließen zu lassen. Warum sollten wir diese Prinzipien nur auf unseren Quellcode anwenden? Andere Bereiche wie die Infrastruktur und die Dokumentation verdienen die gleiche Aufmerksamkeit, haben sie doch einen nicht zu unterschätzenden Anteil am Erfolg eines Projektes. Genau deshalb macht es Sinn, diese bisherigen „Randthemen“ in den Fokus zu rücken und in die agilen Prozesse zu integrieren.

Das Ziel ist es also trotz und auch wegen der Agilität, angemessen zu dokumentieren. Eine schlanke, automatisierbare und leicht zu bedienende Werkzeugkette sollte zudem bei der Integration in die agilen Entwicklungsprozesse unterstützen.

JAX 2016 LogoTreffen Sie Falk Sippach auf der JAX 2016:

Kontinuierliche Architekturdokumentation im agilen Umfeld

Man kann zwar an vielen Stellen nachlesen, wie man Architekturdokumentation strukturiert. Aber auf der Suche nach einer praktikablen Handhabung zur Erstellung und Pflege enden die meisten Versuche in der WYSIWYG-Hölle einer Textverarbeitung oder im tiefen Schlund eines Wikis. In diesem Vortrag wollen wir uns anschauen, wie aufbauend auf bestehenden Tools und Textformaten eine möglichst redundanzfreie Dokumentation erstellt und für verschiedene Zielgruppen in ansprechenden Formaten ausgeliefert werden kann. Es wird dabei um Begriffe wie Continuous Documentation und Documentation as Code gehen.

Donnerstag, April 21, 2016 – 10:45 bis 11:45

JAXenter: Wer sollte Architekturen dokumentieren? Braucht es dazu einen dezidierten Software-Architekten?

Falk Sippach: Dokumentation ist meist ein ungeliebter Teil in unserer Arbeit. Von daher ist es nur fair, wenn alle etwas dazu beitragen. Außerdem gibt es in den agilen Teams den dezidierten Software-Architekten typischerweise nicht mehr. Alle Team-Mitglieder sind für die Architektur und damit auch für deren Dokumentation verantwortlich. Trotzdem macht es definitiv Sinn, einen Verantwortlichen festzulegen, der sowohl Mentor für unerfahrenere Kollegen ist, als auch den Gesamtüberblick bewahrt, ggf. die Qualität anmahnt und Verbesserungen anstößt.

JAXenter: Was kann man tun, damit Architekturdokumentation wirklich nützlich ist und nicht im Schlund eines Wikis verschwindet?

Falk Sippach: Wikis sind nicht per se schlecht. Gerade für den Start eines Projekts kann man schnell mit anderen gemeinsam erste Informationen sammeln. Auf Dauer ist es aber schwierig, eine Struktur hineinzubringen und für die unterschiedlichen Lesergruppen entsprechende Formate mit angepassten Inhalten zu erzeugen. Darum empfehle ich, sich alternative Werkzeuge zur Erstellung der Architektur-Dokumentation anzuschauen.

Diese Tools sollten nicht nur leicht bedienbar sein, sondern sich auch gut mit unseren sonstigen Entwicklerwerkzeugen integrieren. Ein ständiger Wechsel zwischen verschiedenen Programmen wird damit vermieden, sodass wir fokussierter an unseren Hauptaufgaben arbeiten können.

JAXenter: Was ist die Kern-Botschaft deiner JAX-Session, die die Teilnehmer unbedingt mitnehmen sollten?

Falk Sippach: Einerseits muss das Ziel sein, als Teil der täglichen Arbeit regelmäßig und möglichst an einer zentralen Stelle zu dokumentieren. Unnötige Redundanzen innerhalb der Dokumentation als auch in Zusammenhang mit anderen Informationsquellen (Spezifikation, Sourcecode) sollten minimiert werden. Je nach Zielgruppe werden höchstwahrscheinlich sowohl inhaltlich als auch formattechnisch angepasste Dokumente benötigt, die zudem jederzeit auslieferbar sein müssen.

Eine intensive Wartung gilt es zwar zu vermeiden, aber die Dokumentation benötigt trotzdem regelmäßige Reviews und eine daraus resultierende Pflege in Form von Verbesserungen bzw. Aktualisierungen. Diese Änderungen müssen aber versioniert werden, damit man sie jederzeit auf einfache Art und Weise nachvollziehen, vergleichen und ggf. auch wieder rückgängig machen kann.

JAXenter: Vielen Dank für dieses Interview!

sippachFalk Sippach ist Architektur- und Technologieberater bei der OIO. Einer seiner fachlichen Schwerpunkte liegt in der Rollendefinition des Architekten und der Architekturdokumentation.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: