Architekturentscheidungen einfach dokumentieren
17.01.2022, 00:00 Uhr
Entscheidung kurz und gut
Umfangreiche Dokumentationen sind pflegeintensiv und unbeliebt? Architecture Decision Records (ADRs) und Bewertungsmatrizen sind genau das Gegenteil.
Es gibt diesen wiederkehrenden Moment in einem Softwareprojekt, bei dem sich zeigt, wie nachhaltig das Team gearbeitet hat: die Erweiterung jenes Teams um ein neues Mitglied. Erst wenn jemand Neues ohne Vorkenntnisse der Software hinzukommt, zeigt sich, wie gut verständlich das Vorhandene umgesetzt und beschrieben ist. Mit dem „Vorhandenen“ ist dabei nicht nur der Quellcode, sondern auch die Dokumentation an sich gemeint. Denn leider ergibt sich nicht selten der folgende kurze Dialog: „Wo finde ich die Dokumentation?“ „Im Code!“
Dies ist nicht nur unzufriedenstellend, sondern auch schädlich auf mehreren Ebenen. So gibt es dem neuen Teammitglied gleich einen nachhaltigen Eindruck davon, was zählt: Der Code und nichts als der Code. Zusätzlich und wesentlich offensichtlicher erschwert es neben der Einarbeitung aber auch die Lösungsfindung, ist man doch dazu verdammt, Fehler gegebenenfalls immer wieder zu machen, wenn Zusammenhänge nicht beschrieben sind, die bei ihrer Lösung helfen. Bei einzelnen Methoden oder Klassen mag dieser Umstand noch nicht so schwer wiegen, kann man sie doch leicht verändern oder gar ersetzen. Betrifft es jedoch wichtige Strukturentscheidungen der Software, legt man sich ohne deren Dokumentation nicht selten selbst Steine in den Weg, über welche alle Kolleginnen und Kollegen irgendwann stolpern. In diesem Artikel werden wir uns daher zwei Methoden ansehen, mit denen sich Architekturentscheidungen leicht nachvollziehbar und ohne größeren Pflegeaufwand dokumentieren lassen: Architecture Decision Records (kurz ADR) [1] und Bewertungsmatrizen.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar