Warum gute Dokumentation unverzichtbar ist
Lena hatte die Softwarearchitektur auf solide technische und fachliche Grundlagen gestellt. Doch eine Sache war ihr besonders wichtig: das Wissen über all diese Entscheidungen und die dahinterstehenden Gründe musste festgehalten und allen zugänglich gemacht werden. Denn in komplexen Projekten geht Wissen schnell verloren, was zu Missverständnissen, Fehlern und Mehraufwand führen kann. Lena wusste: Gute Dokumentation ist kein Luxus, sondern ein Muss.
Das „Warum“ geht verloren
Oftmals konzentriert sich Projektdokumentation auf das „Was“ und „Wie“ – also welche Funktionen die Software hat und wie sie implementiert ist. Doch das „Warum“ – die Begründung für eine bestimmte Architektur, eine Technologieentscheidung oder einen Kompromiss – geht dabei leicht verloren. Wenn neue Teammitglieder dazukommen oder alte gehen, müssen diese Entscheidungen mühsam rekonstruiert werden, was Zeit und Geld kostet. Mangelnde Klarheit führt zu Fehlinterpretationen und Fehlern.
Transparenz durch gezielte Dokumentation
Lena verstand Dokumentation nicht als lästige Pflicht, sondern als aktives Kommunikationsmittel. Sie sorgte dafür, dass die wichtigsten architektonischen Informationen zielgruppenorientiert aufbereitet wurden.
Architecture Decision Records (ADR)
Für jede wichtige Entscheidung im Projekt – z.B. die Wahl einer bestimmten Datenbank, eines Kommunikationsmusters oder eines Frameworks – wurde ein „Architektur-Entscheidungs-Protokoll“ (ADR) erstellt
Ein ADR enthielt: Titel der Entscheidung, den Kontext (das Problem), die getroffene Entscheidung, die Begründung (Pro und Contra von Alternativen) und die Konsequenzen
ADRs schufen eine nachvollziehbare Historie wichtiger Entscheidungen. Sie halfen, spätere Diskussionen auf einer soliden Basis zu führen, Fehler aus der Vergangenheit zu vermeiden und neue Teammitglieder schnell zu orientieren. Es war eine Investition in das Langzeitgedächtnis des Projekts.
Views und Templates
So wie ein Architekt für ein Gebäude verschiedene Pläne (Grundriss, Elektroplan, 3D-Modell) für verschiedene Zielgruppen (Bauherren, Elektriker, Käufer) erstellt, erstellten Lena und ihr Team spezifische „Sichten“ auf die Softwarearchitektur. Jede Sicht konzentrierte sich auf bestimmte Aspekte und blendete irrelevante Details aus
Zu den wichtigsten Sichten gehörten:
Kontextsicht
Zeigte das System als Blackbox in seiner Umgebung – wer interagiert damit, welche Nachbarsysteme gibt es, und über welche Schnittstellen. Dies war besonders wichtig für Manager und Stakeholder, um das große Ganze zu verstehen und Abhängigkeiten zu externen Systemen klar zu sehen.
Bausteinsicht
Zeigte die internen Strukturen und Verantwortlichkeiten der Software, zerlegt in logische Bausteine (Module, Komponenten). Essentiell für Entwickler und Projektleiter zur Aufgabenverteilung.
Laufzeitsicht
Illustrierte das Zusammenspiel der Bausteine bei wichtigen Geschäftsabläufen (z.B. „Bestellung aufgeben“). Nützlich für Entwickler, Tester und den Betrieb, um das dynamische Verhalten zu verstehen.
Verteilungssicht (Infrastruktursicht)
Beschrieb die technische Umgebung, in der die Software lief – Server, Datenbanken, Netzwerke. Wichtig für den Betrieb und Infrastruktur-Architekten.
Das Team nutzte standardisierte Templates für die Dokumentation. Dies gewährleistete eine einheitliche Struktur und damit eine bessere Lesbarkeit, Wartbarkeit und Auffindbarkeit von Informationen.
Fazit
Durch Lenas Fokus auf eine durchdachte Dokumentationsstrategie profitierte das Projekt auf vielfältige Weise:
- Reduzierung von Risiken: Fehlentscheidungen aufgrund fehlenden Wissens wurden minimiert
- Effiziente Wartung: Die Software konnte über ihren Lebenszyklus hinweg besser gewartet und angepasst werden
- Verbesserte Zusammenarbeit: Alle Stakeholder – vom Management über die Entwicklung bis zum Betrieb – hatten ein klares und aktuelles Verständnis der Software
- Schnellere Einarbeitung: Neue Teammitglieder waren dank klarer ADRs und Sichten schneller produktiv.
Lenas Projekt zeigte, dass Dokumentation weit über das bloße Festhalten von Fakten hinausgeht. Sie ist ein aktiver Bestandteil der Softwareentwicklung, der Wissen bewahrt, Entscheidungen transparent macht und das gesamte Projektteam in die Lage versetzt, effizient und fehlerarm zu arbeiten. Eine gut dokumentierte Architektur ist eine strategische Ressource, die den langfristigen Erfolg und die Zukunftsfähigkeit eines Unternehmens maßgeblich mitbestimmt.
Referenzen
- Gernot Starke: Effektive Softwarearchitekturen ein praktischer Leitfaden