The Definition of Done is a shared checklist that a product increment must meet before it can be called complete. It prevents 'done' from meaning 'code written' rather than 'value verified, documented, and deployable.'
For every team doing iterative development. Should be defined collaboratively and applied consistently to every story or feature.
- Team collaboratively defines what 'done' means for your specific context
- Typical criteria: Code written, Code reviewed, Unit tests passing, Integration tests passing, Acceptance criteria met by PM, Documentation updated
- Add context-specific criteria: performance tested, security reviewed, analytics instrumented
- Post it visibly and check every item before marking a story done
- Revisit and strengthen in retrospectives as quality standards improve
Spotify's DoD for a new feature typically includes: Code reviewed and merged, Unit and integration tests passing, Analytics event instrumented (can measure adoption), Feature flag configured, PM accepted in staging, Rollback plan documented. The analytics instrumentation requirement is critical — you cannot learn from a feature you cannot measure.
Please contact the author for more information on these examples at linkedin.com/in/kshitijrege
- Having different DoDs for different stories — the whole point is consistency
- Making it so strict that nothing is ever 'done' — calibrate to what genuinely protects quality
- Not including PM acceptance — done must mean customer value verified, not just code merged
- The Scrum Guide (free)
- Continuous Delivery — Humble & Farley