Wat is de Definition of Done?
De Definition of Done, of kortweg DoD, is een bijzonder soort werkafspraak. Het legt het gedeelde begrip van een team vast over wat "klaar" voor hen betekent. Het concept van de Definition of Done is populair geworden door het Scrum-framework.
In de Scrum Guide staat:
„De Definition of Done creëert transparantie door iedereen een gedeeld begrip te geven van welk werk als onderdeel van het Increment is afgerond. Als een Product Backlog Item niet voldoet aan de Definition of Done, mag het niet worden vrijgegeven of zelfs maar gepresenteerd worden tijdens de Sprint Review. In plaats daarvan gaat het terug naar de Product Backlog, zodat het in de toekomst opgepakt kan worden."
Veel teams beschouwen hun Definition of Done als een soort checklist om er zeker van te zijn dat ze aan alle noodzakelijke eisen hebben voldaan voordat ze een item als klaar bestempelen. Dit betekent ook dat de DoD uiteindelijk een kwaliteitscontrole is, door het team voor het team.
Wat is de Definition of Done in SAFe of andere schalingsframeworks?
Het Scaled Agile Framework, of kortweg SAFe, heeft geen specifieke beschrijving van een Definition of Done, behalve dat ze het bestaan ervan erkennen en aanmoedigen. SAFe bestaat uiteindelijk uit een groter aantal Scrum/Agile-teams en stimuleert daarom ook de basisprincipes van Scrum.
Voor elke geschaalde aanpak in productontwikkeling, oftewel meerdere teams die samen aan hetzelfde product werken, wordt aanbevolen dat deze teams gesynchroniseerd werken en de essentiële onderdelen van een Definition of Done met elkaar delen. Elk team kan extra elementen toevoegen aan zijn Definition of Done, maar geen enkel team zou items moeten opleveren die andere teams niet als klaar beschouwen.
Waarom is een Definition of Done belangrijk, welk doel dient ze?
Zodra je begint samen te werken in een team, is het belangrijk om een gedeeld begrip te creëren over verschillende zaken: elk team zou afgestemd moeten zijn op de visie/missie van dat team. Elk team zou gezamenlijk opgestelde werkafspraken moeten hebben. En als onderdeel van die werkafspraken zou elk team het eens moeten zijn over wat "done" voor hen betekent.
Dit gedeelde begrip van "done" maakt het mogelijk dat verschillende personen aan uiteenlopende onderwerpen werken en toch een consistente kwaliteit en gebruikerservaring leveren. Het vereenvoudigt ook het inwerkproces van nieuwe teamleden. Bovendien vergemakkelijkt het de samenwerking tussen teams in een geschaalde omgeving aanzienlijk. En tot slot zorgt het ervoor dat het werk van elk team en zijn leden voldoet aan de eisen van de organisatie.
Wanneer wordt de Definition of Done opgesteld?
Het wordt aanbevolen dat teams hun Definition of Done zo vroeg mogelijk opstellen, en uiterlijk vóór de eerste Sprintplanning. Zonder een gedeeld begrip van wat "done" betekent, is het in principe onmogelijk om af te stemmen hoeveel werk een team in een Sprint kan opnemen.
Als een team niet bereid is om vóór de planning van de eerste Sprint een Definition of Done op te stellen, zal het tijdens de Sprint of uiterlijk bij de Sprint Review merken dat de geleverde kwaliteit niet consistent is en hoogstwaarschijnlijk niet voldoet aan de verwachtingen van de Stakeholders.
Wie maakt de Definition of Done in Scrum?
Bij het opstellen van de Definition of Done zijn meerdere partijen betrokken. Uiteindelijk is het de verantwoordelijkheid van het Scrum Team om dit gedeelde begrip te creëren. Ze moeten rekening houden met de input van verschillende belanghebbenden om aan hun verwachtingen te voldoen.
Wat staat er doorgaans in de Definition of Done?
Een typische Definition of Done bevat antwoorden op de volgende vragen:
- Hoe zorgen we ervoor dat we aan de zakelijke vereisten voldoen?
- Hoe zorgen we ervoor dat we een consistente kwaliteit leveren?
Een voorbeeld van een Definition of Done kan er als volgt uitzien:
- Alle acceptatiecriteria zijn vervuld
- Alle noodzakelijke tests zijn succesvol afgerond
- We hebben het werk meerdere keren laten reviewen
- Alle benodigde documentatie is opgesteld
- De Product Owner heeft het werk beoordeeld en is tevreden
Afhankelijk van het werkgebied kunnen teams een langere (gedetailleerdere) of soms kortere (high level) Definition of Done hebben. In de meeste gevallen ontwikkelt een Definition of Done zich in de loop van een project en wordt deze steeds gedetailleerder.
Wat is het verschil tussen de Definition of Done en de Definition of Ready?
De Definition of Done verwijst naar een item dat volledig ontwikkeld, oftewel afgerond is. De Definition of Ready beschrijft daarentegen de basisvereisten waaraan een item moet voldoen voordat een team eraan kan beginnen.
De Definition of Done wordt bovendien in de Scrum Guide genoemd, terwijl de Definition of Ready niet wordt vermeld. Dit is een artefact dat teams zelf kunnen toevoegen. Er zijn – zoals gebruikelijk – voor- en nadelen aan verbonden.
Wat is de Definition of Ready in Scrum?
De Definition of Ready legt het gedeelde begrip vast van de stappen die een team moet nemen om ervoor te zorgen dat een vereiste goed gedefinieerd is en het team deze mee kan nemen in de volgende Sprint.
Veel teams gebruiken het acroniem INVEST als Definition of Ready:
- I = Independent / onafhankelijk… is het item onafhankelijk of hebben we in ons prioriteringsproces alle afhankelijkheden meegenomen
- N = Negotiable / bespreekbaar… hebben we over het item gesproken en zijn we het eens
- V = Valuable / waardevol… hebben we een gevoel voor de waarde die we voor onze gebruikers creëren
- E = Estimable / inschatbaar… kunnen we de inspanning voor het opleveren van dit item inschatten
- S = Sized / passende omvang… past het in onze Sprint of zien we mogelijkheden om het kleiner te maken?
- T = Testable / testbaar… weten we wat er van ons verwacht wordt, oftewel hebben we de acceptatiecriteria vastgelegd/gedocumenteerd?
Dit is een van de vele manieren om een Definition of Ready op te stellen. Het belangrijkste is dat er niet aan een item wordt begonnen zonder dat het team erover heeft gesproken.
Waarom is de Definition of Ready mogelijk belangrijk?
Net als de Definition of Done ("Klaar") helpt de Definition of Ready ("Gereed") een team om beter samen te werken. Voor een Product Owner is het belangrijk om te weten wat het team verwacht wanneer er een vereiste wordt opgesteld. Voor het team is het belangrijk om te weten op welk punt in het proces ze de Product Owner kunnen ondersteunen bij het leveren van betere vereisten.
Wanneer pas je de Definition of Done aan?
Zowel de Definition of Done als de Definition of Ready moeten regelmatig worden geëvalueerd en aangepast. Betekent dat dat we ze elke Sprint verfijnen? Nee! Maar na verloop van tijd zullen teams inzien dat ze hun Definition of Done moeten bijwerken.
Om je een concreet voorbeeld uit een van onze eigen projecten te geven: een aantal jaar geleden begonnen we met het bouwen van een jobportaal. Oorspronkelijk was het alleen een desktopportaal. We merkten dat 70% van ons verkeer via mobiele apparaten binnenkwam. Dus besteedden we een volledige Sprint aan het updaten van alle bestaande pagina's om ze responsive te maken. Deze vereiste werd vervolgens opgenomen in onze Definition of Ready, zodat we in de toekomst elke keer wanneer we een nieuwe website bouwden, deze direct responsive maakten – totdat het voor ons vanzelfsprekend was.
Wat zegt de Scrum Guide 2020 over de Definition of Done?
Tot slot raden we je aan om de Scrum Guide te lezen, en dan met name de nieuwe Scrum Guide 2020. Deze werd op 18 november publiekelijk gepresenteerd en bevat een aantal kleine maar fijne wijzigingen.
Als je dieper wilt duiken in de Definition of Done of wilt ontdekken welke taken je als Scrum Master nog meer te wachten staan, kun je je verdiepen in de rol van Scrum Master op de bijbehorende Journey-pagina.
Certificeringstrainingen bieden we aan voor de Scrum Master. Deze training is geschikt voor zowel beginners in agile processen als voor ervaren Scrum Masters.
Daarnaast kun je bij onze gratis informatiebijeenkomsten verschillende onderwerpen verkennen en een kijkje nemen bij onze online cursussen.
Scrum Master & Agile Coach Online Cursus
Verbeter je vaardigheden als Scrum Master of Agile Coach met onze online cursus.
Duik in de wereld van Agile en Scrum en leer aan de hand van praktische modellen en voorbeelden uit de praktijk hoe je beter met agile teams kunt werken.
Naar de online cursus