Stefan Zörner
12.12.2020
Türchen #12 im arcvent(s)kalender 2020
Ich erinnere mich gerne zurück an einen Besuch im Louvre in Paris. Mit meinem Sohn, der war da noch klein. Als wir in den Saal mit der Mona Lisa kamen, war da großes Gedränge. Und mein Sohn fragte mich:
“Papa, warum sind hier so viele Leute? Das Bild kennt doch jeder.”
Interessanter Punkt, dachte ich. Gehen Leute in ein Museum, um Dinge “in echt” zu sehen, die sie aus Büchern, Filmen oder dem Internet ohnehin schon kennen? Oder eher um Spannendes, Neues, Unbekanntes zu entdecken?
Neue in Team werden in Eurer Softwarelösung mitunter auch bekannte Muster wiedererkennen. Oder ihnen vertraute Technologien vorfinden, für die Ihr Euch entschieden habt. Vieles in Eurer Software wird für sie aber – zumindest in dieser Form – spannend sein und neu.
Entdecken wir Softwarearchitektur!
Ich beschäftige mich wirklich schon lange mit dem Thema Architekturdokumentation. Mein passendes Buch dazu aus dem Hanser-Verlag geht nächstes Jahr in die dritte Auflage, die Anzahl Teilnehmer in einschlägigen Schulungen und Workshops mit mir ist reichlich dreistellig.
Egal ob in Entwicklungsprojekten, Architekturbewertungen oder eben Workshops: Die Frage, die ich am häufigsten gestellt bekommen habe, und immer noch gestellt bekomme, ist folgende:
“Was gehört mindestens in eine Architekturdokumentation?”
Warum wollen so viele das wissen? Ganz einfach:
Die Frage lässt sich allerdings nicht pauschal beantworten, zumindest nicht seriös. Dazu müssten wir die Zielgruppe(n) für die Architekturdokumentation und deren Zielsetzung(en) erarbeiten, als nächstes … aber ich will Euch nicht langweilen.
Was ich mich tatsächlich traue pauschal zu beantworten, ohne Eure Vorhaben zu kennen:
“Was gehört mindestens in einen Architekturüberblick?”
Feiner Unterschied: Der geringere Anspruch. Denn ein Architekturüberblick soll “lediglich” die zentralen Lösungsansätze Eurer Softwarearchitektur für Außenstehende nachvollziehbar machen.
Außenstehende können dabei neue Teammitglieder sein, die mitentwickeln wollen. Und die sich in Eurer Architektur (noch) nicht zurechtfinden.
Oder Entscheider, Product Owner und andere Stakeholder. Die haben Unsicherheiten oder vielleicht sogar ein geringes Vertrauen in Eure Lösung. Ihr wollt Sicherheit ausstrahlen.
Oder teamfremde Kollegen, die an Euren Lösungsansätzen interessiert sind. Die finden mitunter aber keine oder zu detaillierte Informationen bei Euch.
Was wären die Zielgruppen für Euren Architekturüberblick?
Ich möchte Euch ermuntern, gemeinsam im Team einen prägnanten Architekturüberblick für Eure Software anzufertigen. Und so zunächst für Euch Eure Lösung neu zu entdecken. Mit dem Ergebnis ermöglichst Ihr es dann auch den Außenstehenden.
Dabei schlage ich einen kompakten Ansatz vor:
Kleine Anmerkung, da es häufig als Idee kommt: Das arc42-Template in voller Ausbaustufe taugt meiner Meinung nach nicht als Mindestumfang für einen Architekturüberblick. Zu umfangreich.
Die folgende Abbildung zeigt das Rezept im Überblick – auf einem Bierdeckel sozusagen. In der Mitte auf dem Deckel stehen die Inhalte des Überblicks drauf. Insgesamt erkennt Ihr die klare Zweiteilung: Auf der linken Seite die Problemstellung der Architektur (“WAS sollen wir bauen?"), rechts die Antwort darauf: “WIE sieht die Lösung aus?”.
Die Fragen auf der Seite jeweils sollt Ihr nicht sklavisch beantworten. Sie sollen Euch bei der Erstellung der Inhalte helfen, nicht aber behindern.
Die rechte Seite des Bierdeckels versammelt Inhalte zu architekturrelevanten Anforderungen. Am Beginn steht stets die Aufgabenstellung – das Mission Statement für das zu beschreibende Softwaresystem. Dieses und die Qualitätsziele sind aus meiner Sicht nicht verhandelbar – sie gehören in jedem Fall in einen Architekturüberblick. Von den Rahmenbedingungen nehmt zumindest zentrale, fordernde Vorgaben auf.
Bei den Lösungsansätzen hilft Euch das Werkzeug der Lösungsstrategie, die wesentlichen anhand der Qualitätsziele zu identifizieren. Diese Strategie in tabellarischer Form schlägt die Brücke zwischen Aufgabenstellung und Lösung. Und sie macht Eure Architektur obgleich kompakt dargestellt zu einem gewissen Grad nachvollziehbar.
Tatsächlich ließe sich dazu natürlich noch viel mehr sagen. Und Beispiele wären auch gut. All das findet Ihr tatsächlich in einem Artikel, den ich für das schöne Online-Magazin Informatik aktuell geschrieben habe. Ihr findet ihn hier:
Architektur ohne Firlefanz – Ihre Lösung auf einem Bierdeckel
Dort führe ich die einzelnen Elemente eines minimalen Architekturüberblicks genauer aus, und illustriere sie mit verschiedenen Beispielen. Es ist sogar ein durchgängiges dabei: Ein Architekturüberblick zu Atlassian Confluence. Als kleiner Appetithappen hier das informelle Überblicksbild, abgeleitet aus der Lösungsstrategie:
Ist hübsch geworden, oder?
arc42, eben noch von mir als zu umfangreich für einen minimalen Architekturüberblick abgekanzelt, hat sich zumindest in DACH als Defacto-Standard für Architekturüberblicke etabliert.
Zum Ende daher noch etwas Versöhnliches: Es spricht natürliches nichts dagegen, arc42 als Ordnungsstruktur für die Inhalte der Architekturdokumentation zu nutzen. Tatsächlich lassen sich auch alle Zutaten des gezeigten Ansatzes dort eingliedern.
ich habe daher als kleine Dreingabe heute einen Downloadcode für mein e-book “arc42-Starschnitt Gradle – Ein Architekturüberblick in Lebensgröße." für Euch hinter das Türchen #12 gespackt.
Das Buch ist bei Leanpub erschienen und illustriert zentrale Inhalte einer Architekturdokumentation in der Nomenklatur von arc42. Ihr erhaltet Anregungen zum Dokumentieren Eurer Softwaresysteme und lernt arc42 auf vergnügliche Weise kennen.
Für eigene Lösungsüberblicke könnt Ihr Euch an den Zutaten und Beispielinhalten orientieren. Nebenbei erfahrt Ihr etwas über das Buildsystem Gradle. Denn wie der Titel vermuten lässt ist es das durchgängige Fallbeispiel im Buch. So habt Ihr neben Confluence aus dem Artikel oben gleich noch ein zweites parat.
Mit diesem Coupon-Code erhaltet Ihr das e-Book für 0,00 EUR.
ArcVent2020
Beim “Kauf” des Buches den Coupon-Code “ArcVent2020” eingeben, oder direkt über diesen Link auf die Seite gehen. Der Coupon ist bis 31.12.2020 gültig.