Warum lohnt es sich zu dokumentieren? Was spricht dafür?
Begründung | Dokumentationsstufe |
---|---|
Wissen/Erfahrungen sichern (Team-mitglieder nicht mehr verfügbar) | 1 |
Nachvollziehbarkeit von (Design-) Entscheidungen ermöglichen | 1 |
Nicht-funktionale Anforderungen festhalten und berücksichtigen | 1 |
Entwicklung, Verstehen und Festhalten eines Gesamtbildes der Anwendung | 2 |
Dokumentation als Kommunikationsunterstützung, nicht als Ersatz, vor allem in verteilten Umgebungen | 2 |
Wissenssicherung für Übergaben von der Entwicklung zur Wartung | 2 |
Wissenstransfer zwischen Projekten vor allem bei neuen Kompetenzfeldern | 2 |
Verbesserung der Projektergebnisse (hinsichtlich Qualität, Kosten, Laufzeit) | 2/3 |
Einbeziehung von verteilten Stakeholdern in die Kommunikation | 3 |
Wissenstransfer bei Outsourcing/ Offshoring | 3 |
Die konkrete Ausgestaltung einer Dokumentation richtet sich immer nach der jeweiligen Zielgruppe. Dies betrifft bspw. den Detaillierungsgrad, die Inhalte, die gewählte Sprache. So erscheint relativ logisch, dass sich Source-Code-Dokumentation, Nutzerdokumentation und Management-Dokumente stark unterscheiden. Die nachfolgende Tabelle leitete aus den Zielstellungen aus dem Abschnitt Warum dokumentieren? die jeweils angesprochene Zielgruppe ab.
Ziele | Zielgruppe | Stufe |
---|---|---|
Nachvollziehbarkeit von (Design-) Entscheidungen | Kundenvertreter | 1 |
Interne Wissenssicherung, nicht-funktionale Anforderungen, Nachvollziehbarkeit von (Design-) Entscheidungen | Interne Entwickler | 1 |
Kommunikationsunterstützung vor allem in verteilten Umgebungen, Gesamtbild ermöglichen, Übergaben von der Entwicklung zur Wartung | 2 | |
Verbesserung der Projektergebnisse (Qualität, Kosten, Laufzeit) | 2/3 | |
Wissenstransfer bei Outsourcing | Externe Entwickler | 3 |
Einbeziehung von verteilten Stakeholdern in die Kommunikation | Interne und/oder externe Stakeholder | 3 |
Nr. | Gewählte Zielstellung | Hauptsächliche Inhalte | Stufe |
---|---|---|---|
1 | Wissen/Erfahrungen sichern | Projektüberblick mit Zielstellung, zentrale Anforderungen, Gesamtbild als Architektur-/Design-Modell, Besonderheiten/Lessons Learned | 1 |
2 | Nachvollziehbarkeit von (Design-) Entscheidungen ermöglichen | Entscheidungen bzgl. Umsetzungsalternativen, Abnahmen bzw. Change Requests von Funktionalität | 1 |
3 | Nicht-funktionale Anforderungen festhalten und berücksichtigen | Nicht-funktionale Anforderungen | 1 |
4 | Entwicklung, Verstehen und Festhalten eines Gesamtbildes der Anwendung | Software-Architektur/ Design-Modell | 2 |
5 | Dokumentation als Kommunikationsunterstützung vor allem in verteilten Umgebungen | Wie Nr. 1 plus Wissen über die Anwendungsdomäne | 2 |
6 | Wissenssicherung für Übergaben von der Entwicklung zur Wartung | Wie Nr. 4 plus Testinformationen | 2 |
7 | Wissenstransfer zwischen Projekten vor allem bei neuen Kompetenzfeldern | Wie Nr. 1 plus Lösungswege und Anleitungen und konkret umgesetzte Lösungselemente (Code-Fragmente) | 2 |
8 | Verbesserung der Projektergebnisse (Qualität, Kosten, Laufzeit) | Wie Nr. 6 und Nr. 7. | 2/3 |
9 | Einbeziehung von verteilten Stakeholdern in die Kommunikation | Wie Nr. 2 plus Projektüberblick | 3 |
10 | Wissenstransfer bei Outsourcing/ Offshoring | Nr. 5 plus Nr. 6 | 3 |
Inhalt (WAS) | Dokumente (WELCHE) |
---|---|
Projektüberblick mit Zielstellung, zentralen Anforderungen | Projekt-/Produktsteckbrief |
Product Backlog (Requirements) | |
Gesamtbild als Architektur-/Design-Modell | Architektur-Dokument |
Testinformationen | Testpläne und -ergebnisse |
Besonderheiten/Lessons Learned | Lessons-Learned-Dokument |
Entscheidungen bzgl. Umsetzungsalternativen, Abnahmen bzw. Change Requests von Funktionalität o.ä. | Projektverlaufsdokument/ Meeting-Protokolle |
Lessons-Learned-Dokument | |
Nicht-funktionale Anforderungen | Non-functional Product Backlog |
Wissen über die Anwendungsdomäne | Unternehmensarchitekturdokument |
Glossar | |
Lösungswege und Anleitungen | How-To-Dokument |
Verfechter agiler Methoden betonen oft, dass „gerade genug“ dokumentiert werden sollte, wobei leider offen bleibt, wieviel gerade genug bedeutet. Um diese Maß beurteilen zu können, sollen die nachfolgenden Anregungen helfen:
Dokument | Umfangsbegrenzung |
---|---|
Projekt-/Produktsteckbrief (o.ä.) | Produktüberblick 100 Wörter + Zielstellung 100 Wörter |
5-200Sätze (1 DIN A4-Seite) | |
Architektur-Dokument | 1.000 Wörter |
Non-functional Product Backlog (o.ä.) | Qualitätsmerkmale in je kurzen (2–3 Sätze) Beschreibungen |
Unternehmensarchitektur-dokument (o.ä.) | kurze Beschreibung (1-2 Sätze) für jedes Fremdsystem und jeden Benutzertyp sowie Randbedingungen in ein paar kurzen Sätzen. |
Folgende konkrete Dokumentationsempfehlungen (vgl. Rüping 2003, S. 40–81) sind für die Dokumentation hilfreich:
Kriterium | Stufe 1 | Stufe 2 | Stufe 3 |
---|---|---|---|
Dokumentation Komponentenebene | Jeder Entwickler für seinen Bereich | Jeder Entwickler für seinen Bereich | Dokumentar(e) |
Dokumentation Gesamtsystemebene | Gemeinsam alle Entwickler | Dokumentar | Dokumentar(e) |
Grundprinzip | 4-Augen-Prinzip | ||
Abnahme | Projektleiter, Product Owner, Scrum-Master o.ä. |
Dokument | Projektstart | Sprint-Start | Im Sprint | Sprint-Ende | Projektende |
---|---|---|---|---|---|
Projekt-/ Produkt-steckbrief | Anlegen | Überprüfen | |||
Product Backlog | Anlegen | Neue Issues hinzufügen | Issue-Status ändern, kommentieren | Issues schließen | Letzte Issues prüfen/ schließen |
Non-functional Product Backlog | |||||
Architektur-Dokument | Anlegen | Überprüfen | |||
Testpläne und –ergebnisse | Testpläne definieren | Tests nach Feature-Fertigstellung | |||
Lessons-Learned-Dokument | Bei Feststellung anlegen | In Sprint-Retrospektive aktualisieren | Im Projekt-debriefing erstellen | ||
Unternehmensarchitekturdokument | Anlegen | Bei Bedarf aktualisieren | Überprüfen | ||
Glossar | Anlegen | Bei Bedarf aktualisieren | |||
Projektverlaufsdokument/ Meetingprotokolle | Anlegen | Sprint-Planning-Protokoll | Wichtige Ereignisse aktualisieren | Sprint-Review-Protokoll | |
How-To-Dokumente | Bei Bedarf erstellen/aktualisieren |