Skip to main content
Dat 2. semester
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Definition of Done

Definition of Done (DoD)

Definition of Done (DoD) er et sæt fælles kvalitetskriterier, som teamet aftaler, at arbejdet skal opfylde, før noget må betragtes som færdigt.

DoD hjælper teamet med at have en fælles forståelse af, hvad det betyder, når en user story har status Done.

Et team kunne fx have følgende Definition of Done:

En user story er Done, når:

  • funktionaliteten er implementeret
  • koden kan compile, og programmet kan køre
  • relevante tests er gennemført
  • koden er reviewet af et andet teammedlem
  • ændringerne er committed og pushet til GitHub
  • user storyens acceptkriterier er opfyldt
  • der ikke er kendte alvorlige fejl

Det væsentlige er, at DoD gælder generelt for teamets arbejde. Den beskriver altså ikke den konkrete funktionalitet i en bestemt user story.


DoD vs. acceptkriterier

Definition of Done og acceptkriterier kan umiddelbart ligne hinanden, men de har forskellige formål.

AcceptkriterierDefinition of Done
Handler omHvad funktionen skal kunneHvornår arbejdet har tilstrækkelig kvalitet til at være færdigt
Gælder forDen enkelte user storyAlle user stories/teamets arbejde
Eksempel“Brugeren kan registrere en træning med dato og varighed”“Koden er testet og reviewet”
Kan variereJa, fra user story til user storyEr normalt fælles for teamet

En enkel huskeregel er derfor:

Acceptkriterier: Har vi bygget det rigtige?

Definition of Done: Er vi ordentligt færdige med det?


Eksempel

Teamet arbejder med følgende user story:

Som fitnessbruger vil jeg kunne registrere en træning, så jeg kan følge min træningshistorik.

Acceptkriterier

  • Der kan angives dato.
  • Der kan angives træningstype.
  • Der kan angives varighed.
  • Træningen gemmes i databasen.

Acceptkriterierne beskriver altså den konkrete funktionalitet, som skal være på plads.

Definition of Done

Selvom alle fire acceptkriterier er opfyldt, er user storyen ikke nødvendigvis Done.

Teamets Definition of Done kan fx også kræve, at:

  • koden er testet
  • koden er reviewet
  • ændringerne er committed og pushet til GitHub
  • der ikke er kendte alvorlige fejl

Først når både acceptkriterierne og teamets Definition of Done er opfyldt, kan user storyen flyttes til Done på teamets Kanban-board.


Hvorfor bruge en Definition of Done?

En fælles Definition of Done hjælper teamet med at:

  • sikre en fælles forståelse af, hvad færdig betyder
  • sikre en ensartet kvalitet
  • undgå at næsten færdigt arbejde bliver markeret som Done
  • gøre status på Kanban-boardet mere troværdig
  • huske aktiviteter som test, code review og dokumentation

DoD fungerer dermed som teamets fælles kvalitetsaftale for, hvornår arbejdet kan betragtes som færdigt.