Stellen sie sich vor, dass am Ende jeder Iteration in SCRUM oder anderer Agile Softwareentwicklung Methode, der Entwickler kommt zu ihnen und sagt: „Ich bin mit dieser Funktionalität fertig oder Done“. Man kann natürlich fragen: „Was meinst du damit? Bist du Done oder komplete Done?“
Was will ich hier sagen: Software-Entwickler denken, dass Software-Entwicklung beginnt und endet mit ihnen. Es ist eigentlich nicht wirklich falsch, aber …
Die Software-Entwicklung ist viel größer als nur das Schreiben des Codes. Code selbst ist nicht so nützlich. Wenn das Team beginnt Definition von Done (DoD) definieren, wird es am Ende viel mehr als „nur Codierung“ sein.
Beispiel Definition of Done
Entwicklung / Coding
- Code wird mit Unit-Tests geschrieben
- Code ist in Main zusammengelegt
- Code ist von jemand anderem als dem Autor bewertet
Testing / Deployment
- Geschriebene QA Tests
- Geprüft durch QC
- Getestet von QA
- Geschriebene und getestete UI Tests
- Von Product Owner akzeptiert
Wie Sie sehen können, reale Done Funktionalität enthält viel mehr Schritte, als nur Code. Und wie kann man diese Definition of Done (DoD) bestimmen?
Definieren Definition of Done (DoD)
- Holen Sie das Team zusammen, bevor oder am Projektbeginn
- Starten Sie den Diskus in welcher Phase die Funktionalität kann als erledigt genannt werden
- Versuchen Sie die Unklarheiten und Unterschiede in der Definition zu vermeiden
- Schreib es auf!
- Alle Teammitglieder sollten das DoD folgen
So im nächsten Fall, wenn Entwickler kommt und sagt: „Ich bin fertig!“, Alle werden genau wissen, was es bedeutet.