๐ Definition of Done (DoD)
๐ Introductie
Binnen softwareontwikkeling is het essentieel om een eenduidige definitie te hebben van wanneer werk daadwerkelijk โafโ is.
Zonder duidelijke afspraken ontstaan:
- discussies over oplevering
- inconsistente kwaliteit
- incomplete functionaliteit
- problemen tijdens test en release
๐ De Definition of Done (DoD) biedt een gezamenlijke afspraak over wanneer werk als afgerond wordt beschouwd.
๐ De DoD is een set van minimale kwaliteitscriteria waaraan elke oplevering moet voldoen voordat deze als โdoneโ wordt beschouwd.
Wat is Definition of Done?
De Definition of Done is een gedeelde checklist die bepaalt wanneer een work item:
- volledig is geรฏmplementeerd
- voldoet aan kwaliteitsnormen
- gereed is voor release
๐ Het is een teamafspraak over wat โafโ betekent binnen de delivery lifecycle.
๐น Belangrijk principe
๐ Werk is niet done zolang het niet voldoet aan de Definition of Done.
๐ Werk dat niet voldoet aan de DoD:
- mag niet worden gereleased
- mag niet als afgerond worden beschouwd
- kan niet als โcomplete incrementโ worden gepresenteerd
Doel van Definition of Done
De DoD zorgt voor:
- consistente kwaliteit
- transparantie binnen het team
- voorspelbare oplevering
- minder rework
- eenduidige verwachtingen over โafโ
๐ Zonder DoD verschilt de interpretatie van โdoneโ per teamlid.
Scope van Definition of Done
๐น Geldt voor alle work items
De DoD geldt voor:
- user stories
- features
- bugs
- technische taken (indien relevant)
๐ De DoD is generiek en herbruikbaar over alle backlog items heen.
๐น Verschil met Acceptance Criteria
| Onderdeel |
Definition of Done |
Acceptance Criteria |
| Scope |
Alle work items |
Per work item |
| Focus |
Kwaliteit & afronding |
Functionaliteit |
| Vraag |
โIs dit werk klaar?โ |
โDoet het wat bedoeld is?โ |
๐ Beide zijn nodig om werk correct op te leveren.
Typische inhoud van een DoD
Een DoD bevat minimale, toetsbare kwaliteitscriteria.
๐น Code & Development
- code voldoet aan coding standards
- code is gereviewd (peer review)
- geen kritieke code smells of warnings
๐น Testing
- unit tests zijn geschreven en geslaagd
- integratie testen zijn uitgevoerd
- geen open critical bugs
๐น Functionaliteit
- alle acceptance criteria zijn behaald
- functionaliteit werkt zoals ontworpen
๐น Documentatie
- technische documentatie is bijgewerkt
- relevante wijzigingen zijn vastgelegd
- indien nodig: gebruikersdocumentatie aangepast
๐น Release readiness
- work item is succesvol getest in testomgeving
- geen regressies geรฏntroduceerd
- klaar voor release naar volgende omgeving
๐ Het resultaat is een increment dat kwaliteit en stabiliteit borgt binnen de ALM-cyclus.
Gebruik binnen ALM
๐ Plan & Track
- ondersteunt backlog refinement
- definieert kwaliteitsverwachtingen vooraf
๐ป Develop
- stuurt implementatie en coding standards
๐งช Test
- vormt basis voor testvalidatie
๐ Release
- bepaalt of werk release-ready is
๐ De DoD is een quality gate door de volledige delivery lifecycle.
Lifecycle en beheer
๐น Gezamenlijk opgesteld
De DoD wordt bepaald door:
- developers
- testers
- product owner
- architect (indien nodig)
๐น Evolueert over tijd
- wordt aangescherpt op basis van ervaring
- groeit mee met teamvolwassenheid
๐ De DoD is een levend kwaliteitskader.
๐น Toepassing in ceremonies
- Sprint Planning โ check op haalbaarheid
- Daily โ voortgang richting DoD
- Review โ alleen โdoneโ werk wordt getoond
- Retro โ verbeteren van DoD
Best practices
- maak criteria concreet en meetbaar
- houd DoD klein maar streng
- gebruik รฉรฉn gezamenlijke DoD per team
- pas DoD regelmatig aan
- integreer DoD in DevOps proces
Veelgemaakte fouten
- vage criteria (โgetestโ)
- DoD verwarren met acceptance criteria
- DoD niet actief gebruiken
- te uitgebreide of bureaucratische DoD
- DoD niet onderhouden