Die Software Dokumentation

Eine gute Software-Dokumentation entscheidet nicht selten über den Erfolg oder Misserfolg einer Software. Egal ob es sich um eine Code-Dokumentation für Entwickler, um ein Handbuch für Administratoren oder um ein Benutzerhandbuch für Anwender handelt: Nur wenn die Software-Dokumentation präzise und einfach verständlich ist,.wird die Software auch gerne verwendet.

Wann eine Software-Dokumentation entsteht

Software-Dokumentation vor der Entwicklung

Die Dokumentation einer Software fängt bereits vor der Entwicklung der Software an. Denn bevor es an die Entwicklung geht, werden Ziele definiert, Ideen festgehalten, Konzepte geschrieben, UML-Diagramme erstellt oder sogar eine Infrastruktur konzipiert.

Ebenfalls vor der Entwicklung steht die Anforderungsbeschreibung. Dazu werden so gut wie immer Tickets erstellt, in denen einzelne Aufgaben oder Features beschrieben und Informationen gesammelt werden. Im agilen Umfeld werden beispielsweise Epics und Userstories genutzt, um die Ziele und Anforderungen an eine Software zu formulieren. All das ist bereits nutzbar für jede Arte von Dokumentation.

Software-Dokumentation während der Entwicklung

Während der Entwicklung wird der Quellcode für die Software oder das Feature geschrieben. Der Quellcode wird üblicherweise mit Kommentaren versehen, die einem bestimmten Muster folgen. Mit Hilfe dieser Kommentare können später automatisch oder auch halbautomatisch Code-Dokumentationen erzeugt werden.

Kommentare im Quellcode folgen meist einem bestimmten Muster und bleiben inhaltlich rudimentär. Üblich ist die Kommentierung von Klassen, Funktionen und Methoden in Form von DocBlocks. Nicht selten findet man jedoch auch Inline-Kommentare zu einzelnen Code-Abschnitten. In der Regel bestehen die DocBlocks aus einem kurzen Satz, den erlaubten Paramentern und dem Rückgabewert. Weiterführende und übergreifende Informationen, zum Beispiel wie eine Erweiterung für eine Software geschrieben werden kann oder welche Schnittstellen einer Software genutzt werden können, werden dagegen redaktionell in einer Entwickler-Dokumentation festgehalten. Für solche Entwickler-Dokumentationen werden häufig Wikis oder einfache Markdown-Dateien genutzt, aus denen dann HTML-Dokumentationen erzeugt werden.

Software-Dokumentation nach der Entwicklung

Nach der Entwicklung ist eine gute Anforderungsbeschreibung und eine gute Code-Dokumentation unerlässlich, denn aus diesen Dokumenten können dann Test-Szenarien abgeleitet werden, um die Software oder das Feature vor der Auslieferung zu überprüfen und die Qualität sicherzustellen.

Software-Dokumentation bei der Auslieferung

Von besonderer Bedeutung ist die Dokumentation bei der Auslieferung der Software, eines Releases oder eines Features, denn spätestens jetzt werden Informationen mit der Außenwelt geteilt. Wer im Vorfeld der Auslieferung bereits gute Dokumentations-Arbeit geleistet hat, ist natürlich im Vorteil. In dieser Phase geht es vor allem darum, die vorhandenen Informationen für die relevanten Zieltruppen aufzubereiten und in den verschiedenen Medien und Formaten zu veröffentlichen. Allen voran natürlich das Benutzerhandbuch, die öffentliche Entwickler-Dokumentation, ein Administrationshandbuch, genauso aber auch eine Pressemitteilung, ein Newsletter, ein Blog-Eintrag, Tutorials, Materialien für das Marketing, ein öffentliches Changelog oder auch die beliebten FAQs.

Software-Dokumentation während des Betriebs

In den seltensten Fällen denkt man bereits bei der Veröffentlichung einer Software an alle Informationen, die für die verschiedenen Zielgruppen relevant sind. Daher sollte die Dokumentation während des Beitriebs permanent nachgearbeitet werden. Hilfreich sind hier alle Rückkanäle für den Anwender. Das können Issues auf GitHub genauso sein wie Support-Anfragen, häufig wiederkehrende Anwenderfehler oder auch allgemeine Hinweise von Nutzern.

Arten der Software-Dokumentation

An einer Software-Dokumentation sind viele Menschen beteiligt. Die Entwickler, die Produkt Owner, die Tester, Redakteure und Mitarbeiter aus Marketing und Kommunikation. Es gibt jedoch nicht nur die eine Dokumentation, sondern verschiedene Dokumentationen für verschiedene Zielgruppen, die mit der Software interagieren.

Neben diesen klassischen Dokumentationen kann es noch weitere Informations-Materialien im Umfeld einer Software geben:

Formate und Medien

Bei der Software-Dokumentation kommen unterschiedliche Eingangsformate, Ausgabeformate und Medien-Formate zum Einsatz. Als Eingangsformat für Software-Dokumenationen spielt heutzutage vor allem Markdown eine große Rolle, da Markdown das übliche Eingangsformat der beliebten Static Site Generatoren ist. Außerdem ist Markdown auf vielen Online-Plattformen wie beispielsweise GitHub verbreitet. Markdown ist eine universelle Auszeichnungssprache, die in viele andere Formate transferiert werden kann, insbesondere in HTML. Andere Auszeichnungssprachen, die generell für Dokumentationen genutzt werden, sind ReStructuredText und LaTeX. In der technischen Dokumentation wird häufig mit XML-Formaten gearbeitet, insbesondere mit DITA und DocBook. Viele kleine Unternehmen nutzen für Software-Dokumentationen immer noch Microsoft Word oder Google Docs.

Bei den Ausgabeformaten von Software-Dokumentationen kommt es auf den Bereich an: Während Entwickler-Dokumentationen für Web-Software fast ausschließlich als HTML-Seiten angeboten werden, sind bei Anwenderdokumentationen PDF- und auch Print-Formate üblich, insbesondere wenn es um Software im Maschinen-Bereich, um Hardware oder um andere physische Produkte geht.

Die Verwendung von Medien in einer Software-Dokumentation variiert je nach Software-Typ und Zielgruppe. Neben Texten und Bildern sind Bewegtbilder animated Gifs, Screencasts und Video-Anleitungen gebräuchlich. Bei den Bildern kommen neben Screenshots auch die unterschiedlichsten Skizzen und Diagramme (z.B. UML) zum Einsatz. Im Zeitalter der KI ist absehbar, dass Chatbots und dialog-orientierte Formate auch im Bereich der Software-Dokumentation zunehmend an Bedeutung gewinnen werden.

Anforderungen und Normen

Für die Software-Dokumentation ist neben der Standard-Norm für technische Redakteure (82079) vor allem die Normenreihe 2651x relevant, insbesondere die Normen 26514 und 26515.

Weitere Normen zur Produktion von Anleitungs-Videos (26516) und zur Entwicklung von Benutzerunterstützung in mobilen Anwendungen (26517) sind in Vorbereitung.

Organisationen und Ansprechpartner