De definition of done in scrum (DoD): wat betekent het eigenlijk?

Wat is de Definition of done

De Definition of Done kom je tegen binnen scrum en agile werken. In dit artikel leg ik je uit wat de Definition of Done (DoD) is, hoe je het gebruikt en hoe de DoD anders is dan bijvoorbeeld acceptance criteria of de “definition of Ready”.

Laten we beginnen!

Wat betekent de Definition of Done in scrum en agile?

De Definition of Done (DoD) is een lijst van vereisten waaraan een user story moet voldoen zodat het team de user story echt als afgerond kan beschouwen.

Deze checklist zijn voor alle items gelijk. Het zijn dus algemene kwaliteitschecks die je altijd doet.

De Scrum Guide, het officiële handboek voor scrum methode, zegt (vrij vertaald) het volgende:

“De Definition of Done creëert transparantie door iedereen een gedeeld begrip te geven van welk werk voltooid is als een onderdeel van het Increment. Als een Product Backlog item niet voldoet aan de Definition of Done, kan het niet worden vrijgegeven of zelfs gepresenteerd bij de Sprint Review. In plaats daarvan gaat het terug naar de Product Backlog voor toekomstige overweging.”

Het grotere idee achter de DoD is ervoor te zorgen dat items die klaar zijn voor levering een uniforme kwaliteit hebben. In een groot project is het heel verleidelijk om sommige zaken zo nu en dan te laten zitten. Dat wil je voorkomen.

Daarmee komt de DoD je totale resultaat ten goede. Je kan er immers van op aan dat alles wat wordt vrijgegeven een bepaalde kwaliteitsstandaard heeft.

Een aantal voorbeelden van veelvoorkomende vragen bij softwareontwikkeling op een DoD:

  • Zijn unit tests geslaagd?
  • Zijn functionele tests geslaagd?
  • Is de code peer reviewed?
  • Is de bijbehorende documentatie uitwerkt?
  • Is de acceptatietest geslaagd?
  • Is het beoordeeld door de Product Owner?

In veel gevallen zal je organisatie een DoD hebben die je als uitgangspunt kan gebruiken met je agile of scrum team.

Is die er echter niet of is deze niet geschikt voor jouw project?

Dan moet je met het team gezamenlijk de Definition of Done opstellen.

Overigens zijn zulke checklists niet uniek van scrum of agile. De meeste projecten hebben kwaliteitschecks voor eindoplevering.

Definition of done in Agile

Agile erkent formeel de Definition of Done niet als onderdeel van agile.

Zo wordt er in het Scaled Agile Framework (SAFe) principe wel gesproken over de Definition of Done, en promoot men het gebruik.

Dit is op zich niet verrassend omdat agile werken breder is dan scrum ondanks dat er veel elementen gebruikt worden.

Wil je meer weten over het verschil tussen agile en scrum? Lees dan dit artikel.

Wanneer stel je de Definition of Done op?

Is er bij aanvang van het project geen Definition of done waar het team zich in kan vinden? Dan is het zaak om zo tijdig mogelijk een Definition of Done op te stellen.

Zonder een duidelijk gedeeld beeld van wanneer iets “af” is, is het lastig een goed project neer te zetten.

Stel je de Definition of Done te laat of “on the fly” op?

Dan ga je waarschijnlijk minder consistent kwaliteit leveren en dat zal waarschijnlijk op een gegeven moment gaan schuren bij de opdrachtgevers en stakeholders.

Wie stelt de Definition of Done op in scrum?

In principe doe je dit met het gehele scrumteam. Het is een gedeelde verantwoordelijk van het hele team. De Scrum Master kan een DoD-sessie voorzitten of faciliteren

De Scrum Master zorgt er dan voor dat iedereen voldoende gehoord wordt. Dit hoeft echter niet.

Wanneer je een DoD moet opstellen, stel jezelf dan (ten minste) de volgende twee vragen:

  • Hoe zorgen we ervoor dat we voldoen aan de business requirements?
  • Hoe zorgen we ervoor dat we een consistente kwaliteit hebben?

Wanneer verander je de Definition of Done?

Binnen je project ontkom je er niet aan doorlopend onderhoud te plegen en allerlei zaken op te ruimen.

Voor product backlog items zelf heb je hiervoor een vast onderdeel “Product Backlog Refinement”.

Voor de Definition of Done, en de Definition of Ready heb je dit niet. Je moet er echter ook onderhoud op plegen en ze up-to-date houden.

Retrospectives kunnen hier een goed moment voor zijn.

Projectmanagement software help je met de DoD

De Definition of Done, maar ook je gehele agile of scrum project wil je goed kunnen bijhouden. Ik raad je aan om dit via project management software te doen in plaats van losse excel bestanden, mails en powerpoint slides.

Er zijn meerdere tools die je prima kunt gebruiken. Elke situatie heeft zijn eigen ideale “fit”.

Je hebt echter ook echte “all round project management tools”. Monday is er zo’n tool.

Je kan hier gemakkelijk de product backlog en sprint bijhouden in een Kanban overzicht.

Ook kan je gemakkelijk de acceptance criteria, maar ook de Definition of Done en bijvoorbeeld de Definition of Ready in checklist vorm aan toevoegen.

Dit kan bij elk item.

Monday werkt op basis van een “freemium-model”. Het biedt daarmee veel gratis functionaliteiten. Naar mijn idee meer dan de meeste projectmanagement tools.

Sterker nog. De gratis versie doet niet onder voor sommige betaalde tools. Probeer het dus gratis en kijk daarna of het je een paar euro per maand waard is.

Definition of Done en Acceptance criteria

Nu denk je wellicht: de Definion of Done klinkt erg als “acceptance criteria” die je op stelt bij user story mapping. Wat is het verschil? 

Er zijn verschillen. Het zijn geen alternatieven, maar je gebruikt ze naast elkaar.

Acceptance criteria zijn specifiek voor het item of de user story. Daarnaast heb je dus nog een reeks aan algemene checks waar simpelweg elke release aan moet voldoen (de DoD).

Ook de doelen van de DoD en de acceptance criteria zijn net wat anders. Acceptance criteria dragen bij aan het verduidelijken van wat het team moet bouwen en wanneer er iets klaar is.

Hier kan de DoD je in principe niet mee helpen, maar zijn meer van algemene aard.

Verder stel je de acceptance criteria op tijdens een sessie waarin de user stories gemapt worden.

De DoD stel je – idealiter – zo vroeg mogelijk in het traject top. Dat zal eerder zijn dan de acceptance criteria.

Grootste overeenkomst: beide lijsten moet aan voldaan zijn naar tevredenheid voordat een story echt kan worden afgerond.

De Definition of Done en de “Definition of Ready”

Ok, nu komen we in de uitdagende begripsverwarringen terecht.

Je komt binnen scrum de Definition of Done tegen (officieel erkend) en de “Definition of Ready” (niet officieel opgenomen in het scrum framework).

In principe is de “Definition of Ready” een check die je doet om te toetsen of items van de product backlog voldoende zijn uitgewerkt om in de sprint opgenomen te gaan worden.

Wanneer een item “Ready” is, kan deze opgepakt worden om aan te werken door het team. Wanneer een item “Done” is, kan het item gedeeld worden.

Het idee is daarmee erg vergelijkbaar: het zijn beide kwaliteitstoetsen.

Echter, op verschillende momenten.

Binnen scrum wordt de Definition of Ready vaak getoetst door de “INVEST” checklist langs te lopen per item.

INVEST staat voor:

  • I – Independent. Is het item onafhankelijk of zijn er afhankelijkheden?
  • N – Negotiable. Zit er nog voldoende ruimte voor gesprek over de uiteindelijke uitvoering van de story? (tussen de Product Owner en de teamleden).
  • V – Valuable. Gaat de story van toegevoegde waarde zijn? Is dit niet zo, dan is de story misschien dubbel of overbodig.
  • E – Estimable. Het item moet voldoende uitgewerkt zijn zodat voor het team goed in te schatten is hoeveel tijd en moeite het gaat kosten om het te realiseren.
  • S – Small. Het item moet zo klein en duidelijk genoeg zijn zodat het goed te plannen en te prioriteren is. Is het item dus ver genoeg opgeknipt? (“E” en “S” in INVEST liggen wat dat betreft dicht bij elkaar).
  • T – Testable. Kan je testen of de uitkomsten van een item voldoen aan de voorwaarden? Hier gaat het met name over de vraag of er goede acceptance criteria die beschreven zijn.

Samengevat: DoD zorgt voor consistente kwaliteit in je projecten

De Definition of Done is dus een algemene checklist waar alle items die je wil opleveren aan moeten voldoen.

Deze checks wil je doen omdat je zo consistentie, volledigheid en kwaliteit van alle opgeleverde items waarborgt.

Net als bij de meeste elementen van scrum en agile is Definition of Done geen hogere wiskunde. Het is juist vrij eenvoudig en overzichtelijk. Je moet het echter wel doen.

Projectmanagement is net als afvallen of meer sporten voor veel mensen. Men begint vol enthousiasme, maar het verval naarmate de tijd vordert groot.

Heeft jouw team veel discipline? Dan is de kans op succes groter.

Scrum geeft je uitermate goed framework waarin je wordt uitgenodigd om ook de nare, vervelende dingen van projectmanagement structureel en goed op te pakken.

Dit doen ze onder andere eigen naamgevingen en een heldere doctrine.

Slim dus! De Definition of Done is daar een goed voorbeeld van.

Heb je een vraag over scrum of de Definition of Done, laat hieronder een berichtje achter, dan probeer ik je verder te helpen!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *