Die Softwareentwicklungsdokumentation ist meist wenig beliebt und dennoch sehr hilfreich. Oft müssen Anwendungen über viele Jahre gepflegt werden und nach einer bestimmten Zeit, weiß keiner mehr warum ein bestimmtes Modul existiert oder was es mit der Schnittstelle einer Klasse auf sich hat. Glücklich ist das Team, welches dann einfach in eine gute Dokumentation schauen kann. Ein Plädoyer für eine ungeliebte Aufgabe.


Neben der Erstellung des Quellcodes, spielt auch die Dokumentation des Quellcodes, der Schnittstellen und technischen Parameter eine wichtige Rolle. Diese Art der Dokumentation wird als Softwareentwicklungsdokumentation bezeichnet und kann in unterschiedlichem Ausmaß und Grad der Detaillierung erfolgen. Die Softwareentwicklungsdokumentation gibt darüber Auskunft, wie die Software intern funktioniert, welche Entscheidungen bezüglich der Architektur des Anwendungssystems getroffen wurden und verdeutlicht den Aufbau und die Umsetzung. Es gibt gute Gründe, welche für das Erstellen einer Dokumentation sprechen:

  • Die Arbeit an IT-Projekten erfolgt i.d.R. in Teamarbeit. Für eine gute Zusammenarbeit im Team ist es notwendig, klare Regeln festzulegen und die Schnittstellen sauber zu definieren und zu dokumentieren.
  • Auch bei möglichen Programmerweiterungen spielt eine sauber erstellte Dokumentation eine wichtige Rolle. Diese ist für die „Orientierung“ im Quellcode entscheidend.
  • Auch die notwendigen Fehlerkorrekturen erfordern eine gute Dokumentation, um sich schnell in den Aufbau und Funktionsweise der Software „einzudenken“.

Die Bedeutung einer Dokumentation steigt in Zusammenhang mit der der Größe und Umfang eines Projektes. Auch die Größe des Entwicklungsteam und im besonderen Maße, die geografische Verteilung von Projektbeteiligten spielen eine große Rolle.

Nach Möglichkeit sollte die Dokumentation während des laufenden Entwicklungsprozesses erstellt werden. Diese Vorgehensweise hat mehrere Vorteile: Zum einem entfällt das zeitraubende Schreiben am Ende des Entwicklungsprozesses, zum anderen führt eine parallel angefertigte Dokumentation dazu, dass man gezwungen wird, bestimmte Entscheidungen zu Entwurf und Design ausreichend zu überdenken. Darüber hinaus kann auch noch „unfertige“ Dokumentation während des laufenden Entwicklungsprozesses bereits Verwendung finden.


Die Dokumentation von IT-Projekten kann in drei Kategorien eingeteilt werden:

  • Programmdokumentation: Die Programmdokumentation bezieht sich auf die Installation, Bedienung und Administration der Software. In dieser Dokumentation wird der Einsatz und die Verwendung der Software beschrieben, nicht dessen innere Funktionsweise. Vor allem bei komplexen Softwaresystemen ergibt sich eine Notwendigkeit für Programmdokumentation und kann als eine essenzielle Voraussetzung für den Verkauf eines Softwareproduktes angesehen werden.
  • Prozessdokumentation: In der Prozessdokumentation sind Informationen enthalten, die den Entwicklungsprozess der Software betreffen. Es geht vor allem um die Beschreibung der Organisation des Entwicklungsprozesses, z.B. Welche Vorgehensweise bei der Entwicklung angewendet wird, Verteilung der Zuständigkeiten, Benennung der Ansprechpartner, etc.
  • Entwicklerdokumentation: Entwicklerdokumentation dient als Unterstützung für den Softwareentwicklungsprozess. Es sind vor allem technischen Fragestellungen zu dem System und dessen Implementierung.

Je nach dem, auf welche Zielgruppe die Dokumentation ausrichtet wird und welchen Nutzungskontext sie adressiert, wird zwischen Architekturdokumentation, Developer- und API Guides und einer Schnittstellendokumentation unterschieden. Die Architekturdokumentation beschreibt den Aufbau des Systems. Developer- und API-Guides beschreiben die typischen Anwendungsfälle, die Nutzung von Modulen und Funktionen. Die Schnittstellendokumentation liefert wichtige Inhalte bezüglich der Schnittstellen. Ebensoghört eine Beschreibung der Klassen, Methoden und Testfälle zur Dokumentation.

Bestandteile einer Entwicklungsdokumentation je nach Entwicklungsphase
Bild 1: Bestandteile einer Entwicklungsdokumentation je nach Entwicklungsphase [1].

Auf dem Markt finden sich verschiedene Softwaretools, welche für die Erstellung und Pflege der Softwaredokumentation verwendet werden können. Grundsätzlich gilt: Beim Erstellen einer muss man schrittweise und planvoll vorgehen soll. Üblich ist auch eine Unterteilung in einzelne Phasen, ähnlich dem eigentlichen Entwicklungsprozess in

  • Planung
  • Analyse und Konzeption
  • Erstellung und Korrektur
  • Produktion und Distribution und
  • Evaluierung und Update.

Das Thema Softwaredokumentation ist vielfältig, umfang- und variantenreich ist. Eine aktuelle und aussagekräftige Entwicklungsdokumentation ist für Projekte ab einer bestimmten Größe unerlässlich. Voraussetzung sind eine geplante und strukturierte Vorgehensweise.

Literatur und Links

[1] https://www.fiverr.com/wajheabidi512/do-software-documentation-with-all-digrams-for-your-project