|
Agile
Dokumentation
Wann rentiert sich die Dokumentation
von Softwarearchitekturen?
Die Dokumentation von Softwarearchitekturen erfordert zusätzliche
Aufwände. Für jedes Projekt ist jeweils neu zu entscheiden, ob
und in welchem Umfang es sich lohnt, die Architektur zu dokumentieren.
In einem Projekt mit fünf Mitarbeitern, die eine unkritische Applikation
in kurzer Zeit erstellen, ist die Antwort einfach: Entweder ist keine oder
nur eine sehr schlanke Dokumentation erforderlich, da alle Mitarbeiter
alles direkt besprechen können und die Architektur aus dem Code abgelesen
werden kann.
In einem Projekt mit über 50 Mitarbeitern, die eine kritische Software
über einen längeren Zeitraum erstellen, ist die Antwort ebenso
einfach: Dokumentation ist zwingend erforderlich.
-
Die Dokumentation verringert die Kommunikation. Alle Entscheidungen und
Sachverhalte, die dokumentiert sind, müssen nicht mehr in vollem Umfang
kommuniziert werden.
-
Die Dokumentation erleichtert neuen Mitarbeitern den Einstieg in das Projekt.
Insbesondere in großen Projekten wird das Team häufiger vergrößert
und verkleinert (vgl. z.B. Entwicklerhandbuch)
-
Die Dokumentation macht große Systeme verstehbar, da sie übergeordnete
Strukturen und Regeln aufzeigt, diese sind häufig im Code nicht mehr
erkennbar (vgl. z.B. Design Rationale)
-
Dokumentation und Modelle machen einen Entwurf der Qualitätssicherung
und der Analyse zugänglich, insbesondere beim Bau kritischer Systeme
ist dies wichtig. Nicht aufgeschriebene Gedanken eines Architekten können
nicht gereviewed werden. (vgl. z.B. Bewertung der Software-Architektur)
-
Die Dokumentation macht ein großes Projekt erst steuerbar. Für
eine langfristige Planung und Kontrolle eines Entwicklungsprojekts kann
der Projektfortschritt mit Hilfe der Architektur festgestellt werden (vgl
z.B. Architekturdokumentation für das Management).
-
Die Dokumentation konserviert Wissen, dies ist für langlebige Systeme
wichtig.
Einen guten Eindruck davon, wann man wieviel (Architektur-)Dokumentation
benötigt, bieten die Agilen Methoden. Ihre Grundidee ist, nur soviel
Dokumentation zu erstellen, wie unbedingt notwendig.
Achtung:
Agile Methoden empfehlen nicht, die Dokumentation ganz wegzulassen,
auch in XP-Projekten entsteht in der Praxis Dokumentation!
Für ein konkretes Projekt kann man sich an den Empfehlungen der
Crystal Methodenfamilie orientieren. Sie definiert für kleine und
unkritische Projekte andere Dokumentationsumfänge als für kritische
Großprojekte.
Ralf Kalmar
Fraunhofer-Gesellschaft
München
|