Dokumentation in agilen Projekten – so geht's

Agiles Vorgehen in der Softwareentwicklung boomt, durch häufiges Feedback und kurze Auslieferungszyklen sollen schließlich bessere Produkte entstehen. Ein wichtiges Thema wird dabei allerdings oft vernachlässigt: die Dokumentation der zu Beginn erhobenen Anforderungen. So reicht z.B. in Scrum die Dokumentation der User Stories für die spätere Wartung und Weiterentwicklung der Software alleine nicht aus. Marta Bednarczyk und Dr. Stefan Queins zeigen, warum eine Dokumentation der Anforderungen wichtig ist, wie Sie den richtigen Zeitpunkt für diese Tätigkeit finden und auf welche Weise Sie diese in den Scrum-Prozess integrieren können.

Agile Vorgehen, allen voran Scrum, gelten als Gegenentwurf zur klassischen Projektabwicklung nach dem Wasserfallmodell. Durch kürzere Auslieferungszyklen und häufigeres Feedback sollen bessere Produkte und Systeme entstehen. Vernachlässigt wird dabei allerdings oft das Thema "Dokumentation". Immer häufiger hört man Aussagen wie "Wir schreiben keine Dokumentation mehr, wir machen jetzt Scrum!" oder "Warum Anforderungen erheben? Wir brauchen doch nur noch User Stories". Begründet wird das damit, dass funktionierende Software laut agilem Manifest (www.agilemanifesto.org) schließlich höher zu bewerten sei als umfassende Dokumentation.

Die Einführung eines agilen Vorgehens bedeutet jedoch keineswegs die Abschaffung jeglicher Dokumentation. Im Gegenteil: Wird in Scrum-Projekten auf die Dokumentation der zu Beginn einer System-Entwicklung erhobenen Anforderungen verzichtet, fehlt später jegliche Basis für die Wartung und Weiterentwicklung des Produkts. Denn in Scrum (scrum.org) werden Anforderungen in Form von User Stories dokumentiert, die in der Theorie auf Kärtchen geschrieben und entsorgt werden, sobald die Funktionalität implementiert ist. Wenn Sie entsprechend mit puristisch auf Karten geschriebenen User Stories arbeiten und diese nach erfolgter Abnahme wegwerfen, stehen Sie am Ende des Projekts ohne Dokumentation da (mehr zum Thema "Scrum" siehe: "Agile Softwareentwicklung mit Scrum und User Stories", Projektmagazin Ausgabe 2/2010).

Es mag akzeptabel sein, auf eine Dokumentation zu verzichten, wenn Sie für interne Kunden ein kleines Projekt durchführen, dessen Komplexität niedrig und dessen Laufzeit kurz ist. In den meisten Fällen jedoch wird eine fehlende Dokumentation Sie vor verschiedene Probleme stellen, auch wenn Sie ein lauffähiges System entwickelt haben, das bereit zur Auslieferung ist.

Die häufigsten Probleme sind:

  • Fehlt eine Dokumentation von Funktionalitäten und Schnittstellen des Systems, wird früher oder später ein Reverse-Engineering erforderlich werden, falls das System weiterentwickelt werden soll. Da der Produktlebenszyklus im Allgemeinen nicht mit dem Abschluss des Entwicklungsprojekts endet, können je nach Lebensdauer des Systems noch Jahre oder sogar Jahrzehnte lang Bugfixing sowie Wartung und Pflege notwendig sein.
  • Es ist schwierig, neue Mitarbeiter einzuarbeiten, da diese ohne Dokumentation keinen fachlich fundierten Überblick erhalten, was das System eigentlich tut.

Dieser Beitrag zeigt, warum es wichtig ist, auch bei agil durchgeführten Projekten Anforderungen zu dokumentieren, wie umfangreich diese sein sollten, wann der richtige Zeitpunkt für die Dokumentation ist und wie Sie die Aufgabe der Dokumentation in den Scrum-Prozess integrieren.

Was bringt eine Anforderungsdokumentation?

Auch wenn eine Anforderungsdokumentation mit zusätzlichem (mehr oder weniger großem) Aufwand verbunden ist, bringt sie wesentliche Vorteile, die diesen Aufwand rechtfertigen (Bild 1).

Bild 1: Vorteile einer Anforderungsdokumentation.

Effizientere Realisierung

Während der Entwicklung hilft eine Anforderungsdokumentation beim Aufbau von

Anzeige
Der vollständige Artikel ist für Abonnenten frei zugänglich.
Artikel kaufen (4,50 €)
  • 7 Seiten Praxiswissen
  • PDF-Download
Kostenlos weiterlesen!
  • Diesen Beitrag kostenlos lesen
  • 4 Wochen Online-Zugriff auf alle Artikel, Methoden und das Glossar
Tech Link