Architekturdokumentation mit dem arc42-Template – Ein Bootstrap Approach
Januar 26, 2025 | Techartikel | Autor: Christian Hummel
1. EINFÜHRUNG UND ZIELE
Wenn es zum Thema Dokumentation kommt, wird gerne argumentiert:
„Wir sind agil, da wird keine Dokumentation benötigt.“
oder
„Wir arbeiten nach dem ‚Clean Code‘ Prinzip, unser Code ist lesbar und letztlich die einzige Wahrheit.“
Solche Einwände greifen aber zu kurz. Denn Code allein kann weder übergeordnete Architekturentscheidungen noch deren Begründungen transparent machen. Auch modulübergreifende Aspekte wie Security, Performance oder Integrationsszenarien bleiben darin unsichtbar.
Das Manifest für Agile Softwareentwicklung wird dabei gerne missverstanden. Es stellt nicht in Frage, dass Dokumentation notwendig ist, sondern betont lediglich, dass „funktionierende Software wichtiger ist als umfassende Dokumentation“. Damit wird bereits eine wichtige Qualitätsanforderung an Architekturdokumentation deutlich: Sie muss angemessen sein – leichtgewichtig, praxisnah und nutzbar.
Architekturdokumentation ist kein Widerspruch zu agilen Arbeitsweisen, sondern eine notwendige Ergänzung. Sie unterstützt die mündliche Kommunikation, hält deren Ergebnisse fest und schafft eine gemeinsame, weiterentwickelbare Wissensbasis. Im Agilen Manifest ist dies unter dem Punkt ‚Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlungen‘ zu finden. Für die Architekturdokumentation wird dadurch das Qualitätsmerkmal ‚Verständlichkeit‘ bedient.
Hinter dem Clean-Code-Gedanke steht auch, dass veraltete und dadurch falsche Dokumentation schlechter ist als keine Dokumentation. Aus diesem Grund muss die Architekturdokumentation korrekt und wartbar sein.
Vor diesem Hintergrund stellt sich die Frage: Wie gelingt gute Architekturdokumentation in der Praxis?
In diesem Beitrag wird das arc42-Template zur Dokumentation der Softwarearchitektur vorgestellt. Der Einstieg scheint zunächst abrupt, die Bedeutung der einzelnen Abschnitte wird genauer in der 5. Bausteinsicht erklärt.
AUFGABENSTELLUNG
QUALITÄTSZIELE
nach iSAQB-Lehrplan [1] werden folgende Qualitätsziele an eine Architekturdokumentation gestellt.
- Verständlichkeit – Verständlichkeit kann nur von den Lesern des Dokuments beurteilt werden.
- Angemessenheit – Weniger ist mehr. Zu viel Dokumentation verschlechtert z.B. die Wartbarkeit.
- Korrektheit – Eine falsche Dokumentation ist schlechter als keine Dokumentation.
- Effizienz – Schnelle Erstellung und Wartbarkeit verringern den Ressourcenverbrauch.
- Wartbarkeit – Ist Voraussetzung für Korrektheit und Effizienz.
STAKEHOLDER
| Rolle | Kontakt | Erwartungshaltung |
| Projekt Manager | Mike Money | Einhaltung des Zeitplans und des Budgets |
| Entwickler | Kai Board | Abgrenzung der Aufgaben, Definierte Schnittstellen |
| Fachbereich | Bea S. Ness | Umsetzbarkeit der Anordnungen |
| Infrastruktur | Susi Server | Verteilung der Komponenten, Notwendige Hardware |
2. RANDBEDINGUNGEN
3. KONTEXT & ABGRENZUNG
Der Softwarearchitekt ist für die Erstellung und Wartung der Architekturdokumentation verantwortlich.
4. LÖSUNGSSTRATEGIE
Verwendung des arc42-Templates, einer Mustervorgabe zur Architekturdokumentation. Ein Template bietet eine einheitliche Struktur und vereinfacht den Einstieg in die erste Iteration der Dokumentation. Es werden feste Abschnitte vorgegeben, die nicht alle ausgefüllt werden müssen. Leere Abschnitte verbleiben im Dokument und können später bei Bedarf ergänzt werden.
5. BAUSTEINSICHT
Das arc42-Template verwendet folgende Bausteine, die Erklärung zu den Bausteinen wurde direkt oder sinngemäß aus [2] übernommen.
WHITEBOX GESAMTSYSTEM
ARCHITEKTUR-DOKUMENTATION
BLACKBOX 1. EINFÜHRUNG UND ZIELE
BLACKBOX 2. RANDBEDINGUNGEN
BLACKBOX 3. KONTEXT & ABGRENZUNG
BLACKBOX 4. LÖSUNGSSTRATEGIE
BLACKBOX 5. BAUSTEINSICHT
BLACKBOX 6. LAUFZEITSICHT
BLACKBOX 7. VERTEILUNGSSICHT
BLACKBOX 8. QUERSCHNITTLICHE KONZEPTE
BLACKBOX 9. ARCHITEKTURENTSCHEIDUNGEN
BLACKBOX 10. QUALITÄTSANFORDERUNGEN
BLACKBOX 11. RISIKEN & TECHNISCHE SCHULDEN
BLACKBOX 12. GLOSSAR
EBENE 2
WHITEBOX 1. EINFÜHRUNG UND ZIELE
BLACKBOX AUFGABENSTELLUNG
BLACKBOX QUALITÄTSZIELE
Architekturrelevante Themen wie Performance, Sicherheit, Änderbarkeit, Bedienbarkeit und Ähnliches werden hier angesprochen.
Hierzu gehören auch die Benennung und Quantifizierung der wichtigen Größen des Systems, etwa Datenaufkommen und Datenmengen, Dateigrößen, Anzahl User, Transaktionen, Geschäftsprozesse, Transfervolumen und andere.
Beschränkung auf die wichtigsten fünf bis zehn solcher Anforderungen ist empfohlen.
STAKEHOLDER
WHITEBOX 10. QUALITÄTSANFORDERUNGEN
BLACKBOX QUALITÄTSBAUM
BLACKBOX QUALITÄTSSZENARIEN
Ihr Partner für erfolgreiche Webapplikationen
Sie planen eine Webapplikation und suchen einen erfahrenen Partner für die Umsetzung? Wir stehen Ihnen mit unserem Know-how zur Seite – von der ersten Idee bis zur finalen Implementierung. Lassen Sie uns gemeinsam Ihre Vision verwirklichen! KONTAKTIEREN SIE UNS6. LAUFZEITSICHT
7. VERTEILUNGSSICHT
8. QUERSCHNITTLICHE KONZEPTE
9. ARCHITEKTURENTSCHEIDUNGEN
ADR-SA-1: arc42 als SA-Dokumentation
Kontext: Architekturdokumentation mit Hilfe einer Vorlage
Entscheidung: Das arc42-Template wird als Dokumentationsmuster verwendet, da es die Anforderung nach Verständlichkeit und Effizienz erfüllt und in Formaten für Word, Markup und Confluence zur Verfügung steht.
Konsequenzen: Die Dokumentation wird durch Verwendung des Templates einheitlicher und der Einstieg in die Dokumentation wird dadurch vereinfacht.
10. QUALITÄTSANFORDERUNGEN
QUALITÄTSBAUM
QUALITÄTSSZENARIEN
|
1 |
Backlogerstellung durch PO – Qualitätsanforderungen müssen schnell ersichtlich sein. |
|
2 |
Onboarding – Verständnis über das Gesamtsystem und die einzelnen Module. |
|
3 |
Provider Wechsel- Betroffenen Module müssen erkannt werden und Dokumentation angepasst werden. |
|
4 |
Neues Modul – Die neuen Anforderungen und der Kontext müssen geändert/erweitert werden. |
11. RISIKEN UND TECHNISCHE SCHULDEN
Die Risiken einer Dokumentation liegen in Inkorrektheit und schlechter Wartbarkeit, beides wird durch eine zu umfangreiche Dokumentation begünstigt.
Technische Schulden sind fehlende oder fehlerhafte Dokumentation.
12. FAZIT
Eine Dokumentation der Architektur eines Software-Systems ist notwendig. Das arc42-Template bietet eine Struktur und Beschreibungen, die den Einstieg in die Dokumentation erleichtert und es erlaubt, sich auf die Inhalte zu fokussieren. Das Template ist offen für Iteration, Refinement und Refactoring, also ein guter Begleiter im agilen Umfeld. Das Template war für mich ein guter Einstieg in die Erstellung dieses Blogbeitrags. Ich hoffe ich konnte euch das Template näherbringen und wünsche frohes Dokumentieren.
13. GLOSSAR
|
Begriff |
Definition |
|
arc42 |
Template und Anleitung zur Software-Architekturdokumentation, https://arc42.org/ |
|
bootstrap |
Analogie für ein selbststartendes oder selbstbeschreibendes System. https://de.wikipedia.org/wiki/Bootstrapping_(Informatik) |
|
Word |
Textverarbeitungssoftware |
|
Confluence |
Wiki-Like Dokumentationssystem von Atlassian. |
|
ADR |
Architecture Decision Record Template zur Beschreibung von Architektur Entscheidungen. https://adr.github.io/ |
|
iSAQB |
Internationales Software Architecture Qualifikation Board, https://www.isaqb.org/ |
|
reg42 |
Templates für Requirements Management, https://req42.de/ |
|
UML |
Unified Modeling Language, https://www.omg.org/uml/ |
|
PlantUml |
Tool zum Erstellen von Diagrammen in text form von https://plantuml.com/de/ |
QUELLEN
- iSAQB-Lehrplan zum „Certified Professional for Software Architecture – Foundation Level:
https://isaqb-org.github.io/curriculum-foundation/ - Gernot Starke: Effektive Softwarearchitekturen – Ein praktischer Leitfaden 10., überarbeitete Auflage, Carl Hanser Verlag 2024.