2. Helping you to help yourself
Spezifikation Dokumentation
System
• Vorher
• Vorgabe/ Plan
• unterliegt
Änderungen
• Nachher
• Beschreibt das „Ist“
• unterliegt
Änderungen
Implementierung
Spezifikation und Dokumentation
3. Helping you to help yourself
Dokumentation
Projekt-/
Prozess-
Dokumentation
Produkt-/
System-
Dokumentation
• Projektplan
• Statusbericht
• Meetingprotokolle
• …
Vorgaben aus dem Entwicklungsprozess
(z.B. RUP, V-Modell, …)
• Konzepte
• Anforderungsspezifikation
• …
• Fachliche Doku
• Technische Doku
• Code
Warum Anforderungsspezifikation?
Arten von Dokumentation
4. Helping you to help yourself
• Basis für einen (Festpreis-) Vertrag
• Gemeinsames Verständnis
• Abnahme
• Auswirkungsanalyse für Änderungen
• Stets aktuelle Spezifikation des zu
entwickelnden Systems
• Wiederverwendung (z.B. Varianten,
Baukasten)
Warum gibt es Anforderungsspezifikationen? Einige Ziele:
?
?
?
Verstehen - Vereinbaren - Sicherstellen
5. Helping you to help yourself
• Basis für einen (Festpreis-) Vertrag
• Gemeinsames Verständnis
• Abnahme
• Auswirkungsanalyse für Änderungen
• Stets aktuelle Spezfikation des zu
entwickelnden Systems
• Wiederverwendung (z.B. Varianten,
Baukasten)
Können wir die Ziele auch mit anderen Artefakten erreichen, z.B.
mit Dokumentation oder
Testfällen?
?
?
?
Verstehen - Vereinbaren - Sicherstellen
6. Helping you to help yourself
Wann wird Spezifikation zur Dokumentation?
Sprint
Spezifikation
Planungs-
Meeting
I und II
Dokumentation
Verstehen - Vereinbaren - Sicherstellen
7. Helping you to help yourself
Wann wird Dokumentation zur „Spezifikation“ ?
Sprint
Dokumentation
Verstehen - Vereinbaren - Sicherstellen
Planungs-
Meeting
I und II
8. Helping you to help yourself
Sprint
-8-
Implementierung Code
Designanforderungen Designdoku
Systemanforderungen Systemdoku
Kundenanforderungen fachliche DokuWarum
Was
Wie
Abstraktionsebenen von Anforderungen und Dokumentation
Stakeholder/ Leser/
Autor
Planungs-
Meeting
I und II
Verstehen - Vereinbaren -
Sicherstellen
User
Story
9. Helping you to help yourself
Was meine ich mit nachhaltigen Artefakten?
Entwicklungs-
phase
Betriebs-, Wartungs- und
Weiterentwicklungsphase
Softwarenutzung
Softwareentwicklung
Quelle: Andreas Rüping,
Dokumentation in agilen Projekten,
dpunkt.verlag
Langfristig relevantes
Wissen
10. Helping you to help yourself
Beispiele für nachhaltige Artefakte
Auf allen Ebenen:
• Motivation, Beweggründe
• Optionen,
Entscheidungen/
Trade-Offs
• grober Überblick
• Detailinformation
• Benutzerhandbuch
• Fachliche Architektur
• Szenarien/ fachliche
Use Cases
• Q3 Testfälle*, z.B. User
Acceptance Tests
• …
*Agile Testing Quadrant, Lisa Crispin
• Designprinzipien
• Schichtenmodell
• Frameworks
• Coding Guidelines
• Branching-/ Merging
Konzept
• …
• Technische Architektur
• Schnittstellen
• Nicht-funktionale
Anforderungen
• Q2 und Q4 Testfälle*, z.B.
funktionale Tests,
Performance Tests
• …
• Code
• Inline-Doku
• Q1 Testfälle*, z.B. Unit
Tests
• Modelle –> Reverse
Engineering
• …
11. Helping you to help yourself
Im Systemkontext?
Komponente Komponente Komponente Komponente
Gesamtsystem
12. Helping you to help yourself
Worauf kommt es noch an?
Leser/ Adressaten/
Autoren
Was benutzen Sie schon?
• Persönliches Gespräch
• Photos
• Review-Meeting
• Wiki
• Modellierungswerkzeuge
• Anforderungsmanagement
-
werkzeuge
• Test-Tools
• …
Verteilte Teams
13. Helping you to help yourself
• Basis für einen (Festpreis-) Vertrag
• Gemeinsames Verständnis
• Abnahme
• Auswirkungsanalyse für Änderungen
• Stets aktuelle Dokumentation des
entwickelten Systems
• Wiederverwendung (z.B. Varianten,
Baukasten)
Können wir die Ziele auch mit anderen Artefakten erreichen, z.B.
mit Dokumentation oder
Testfällen?
?
?
?
Verstehen - Vereinbaren - Sicherstellen
Spezifikation,
Dokumentation und Test
zusammenbringen:
- Specification by Example
- BDD
- ATDD
14. Helping you to help yourself
Und was sonst noch so interessant sein könnte…
Hier erreicht Ihr mich:
Susanne Mühlbauer
Tel: 0176/16611606
Susanne.muehlbauer@Hood-
Group.com
Quellen und interessante Lektüre:
• Andreas Rüping, Dokumentation in agilen
Projekten
• Uwe Friedrichsen, Was muss, was kann und
was geht gar nicht? Optimale
Systemdokumentation mit agilen Prinzipien,
Objektspektrum
https://www.codecentric.de/kompetenzen/pu
blikationen/optimale-systemdokumentation-
mit-agilen-prinzipien/
• Lisa Crispin, Janet Gregory (2009). Agile
Testing: A Practical Guide for Testers and Agile
Teams
• Adzic, Gojko (2011). Specification by Example:
How Successful Teams Deliver the Right
Software.