Definition of Done | Shared Quality Standards
Create a shared understanding of what complete means for your team. GitScrum's Definition of Done ensures consistency, prevents rework, and aligns expectations.
6 min read
Definition of Done (DoD) is the shared understanding of what "complete" means. Without it, "done" means different things to different peopleβleading to incomplete work, quality issues, and confusion. A good DoD creates clarity and consistency.
DoD vs Acceptance Criteria
| Aspect | Definition of Done | Acceptance Criteria |
|---|---|---|
| Scope | All work | One story |
| Who defines | Team | Product Owner + Team |
| Content | Quality standards | Feature requirements |
| When reviewed | Every story | Per story |
Creating DoD
Building Your Definition
CREATING DEFINITION OF DONE
βββββββββββββββββββββββββββ
START WITH BASICS:
βββββββββββββββββββββββββββββββββββββ
Minimum viable DoD:
βββ Code is written
βββ Code is reviewed
βββ Tests pass
βββ Merged to main
βββ Deployable
βββ Baseline quality
ADD QUALITY ITEMS:
βββββββββββββββββββββββββββββββββββββ
βββ Unit tests written
βββ Integration tests (if applicable)
βββ Code coverage maintained
βββ No new warnings
βββ Documentation updated
βββ Security scan passed
βββ Quality gates
ADD PROCESS ITEMS:
βββββββββββββββββββββββββββββββββββββ
βββ PR reviewed by 2 developers
βββ Acceptance criteria verified
βββ Product Owner approved
βββ Deployed to staging
βββ Smoke tested
βββ Process compliance
TEAM DISCUSSION:
βββββββββββββββββββββββββββββββββββββ
Questions to ask:
βββ "What does done mean to us?"
βββ "What have we shipped that wasn't ready?"
βββ "What quality issues do we see?"
βββ "What would catch problems earlier?"
βββ Collaborative definition
βββ Team ownership
Example DoD
Complete Definition
EXAMPLE DEFINITION OF DONE
ββββββββββββββββββββββββββ
CODE COMPLETE:
βββββββββββββββββββββββββββββββββββββ
β Feature implemented as specified
β Code follows team standards
β No commented-out code
β No console.log/print debugging
β Self-documenting code (clear names)
TESTED:
βββββββββββββββββββββββββββββββββββββ
β Unit tests written and passing
β Integration tests (if applicable)
β Manual testing completed
β Edge cases considered
β No known bugs
REVIEWED:
βββββββββββββββββββββββββββββββββββββ
β Code review by 2 team members
β Review feedback addressed
β No unresolved comments
MERGED:
βββββββββββββββββββββββββββββββββββββ
β PR merged to main branch
β CI pipeline passing
β No merge conflicts
DOCUMENTED:
βββββββββββββββββββββββββββββββββββββ
β API documentation updated
β README updated if needed
β Significant decisions documented
DEPLOYED:
βββββββββββββββββββββββββββββββββββββ
β Deployed to staging environment
β Smoke tested in staging
β Ready for production deploy
ACCEPTANCE:
βββββββββββββββββββββββββββββββββββββ
β Acceptance criteria verified
β Product Owner reviewed
β Demo-ready
DoD Levels
Multiple Definitions
DOD LEVELS
ββββββββββ
STORY LEVEL:
βββββββββββββββββββββββββββββββββββββ
For each user story:
βββ Code complete
βββ Tests pass
βββ Code reviewed
βββ Merged
βββ Documentation updated
βββ Acceptance criteria met
βββ Story complete
SPRINT LEVEL:
βββββββββββββββββββββββββββββββββββββ
For sprint to be complete:
βββ All stories meet story DoD
βββ Sprint goal achieved
βββ Increment is releasable
βββ No critical bugs
βββ Demo completed
βββ Retrospective held
βββ Sprint complete
RELEASE LEVEL:
βββββββββββββββββββββββββββββββββββββ
For release to be complete:
βββ All sprint DoDs met
βββ Release testing passed
βββ Performance validated
βββ Security reviewed
βββ Documentation complete
βββ Release notes written
βββ Stakeholder sign-off
βββ Ready to ship
Evolving DoD
Improving Over Time
EVOLVING DEFINITION OF DONE
βββββββββββββββββββββββββββ
REGULAR REVIEW:
βββββββββββββββββββββββββββββββββββββ
In retrospectives:
βββ "Are we meeting our DoD?"
βββ "What slips through?"
βββ "What should we add?"
βββ "What's unnecessary?"
βββ Continuous improvement
βββ Living document
ADDING ITEMS:
βββββββββββββββββββββββββββββββββββββ
Add when:
βββ Quality issues repeat
βββ Same problem multiple times
βββ Team capacity increases
βββ New requirements emerge
βββ Gradual improvement
βββ Don't overload initially
REMOVING ITEMS:
βββββββββββββββββββββββββββββββββββββ
Remove when:
βββ Automated elsewhere
βββ No longer relevant
βββ Causing unnecessary delay
βββ Team has internalized it
βββ Keep lean
βββ Value-focused
MATURITY PROGRESSION:
βββββββββββββββββββββββββββββββββββββ
New team:
βββ Basic DoD
βββ Code works and tested
βββ Reviewed and merged
βββ Simple start
Mature team:
βββ Comprehensive DoD
βββ Automated checks
βββ High quality standards
βββ Security included
βββ Performance verified
βββ Built over time
Enforcement
Making It Stick
ENFORCING DOD
βββββββββββββ
AUTOMATION:
βββββββββββββββββββββββββββββββββββββ
Automate where possible:
βββ CI checks tests pass
βββ Linter checks code style
βββ Coverage threshold
βββ Security scans
βββ PR template with checklist
βββ Automated enforcement
PR TEMPLATE:
βββββββββββββββββββββββββββββββββββββ
## Definition of Done Checklist
- [ ] Code follows team standards
- [ ] Unit tests written and passing
- [ ] Code reviewed by 2 developers
- [ ] Documentation updated
- [ ] No known bugs
- [ ] Acceptance criteria verified
CULTURE:
βββββββββββββββββββββββββββββββββββββ
βββ Team holds each other accountable
βββ Review DoD in sprint review
βββ Celebrate quality
βββ Don't accept "almost done"
βββ Done means DONE
βββ Team agreement
TRANSPARENCY:
βββββββββββββββββββββββββββββββββββββ
βββ DoD visible to all
βββ Posted in team space
βββ Referenced in meetings
βββ Known by everyone
βββ Shared understanding
GitScrum Integration
DoD in GitScrum
GITSCRUM FOR DOD
ββββββββββββββββ
TASK CHECKLIST:
βββββββββββββββββββββββββββββββββββββ
βββ DoD items as checklist
βββ Check off as completed
βββ Visual progress
βββ Nothing forgotten
βββ Consistent verification
TASK TEMPLATES:
βββββββββββββββββββββββββββββββββββββ
βββ Create task type with DoD built in
βββ Automatic checklist
βββ Every task has DoD
βββ Enforced by structure
DOCUMENTATION:
βββββββββββββββββββββββββββββββββββββ
NoteVault:
βββ Team DoD documented
βββ Version history
βββ Easily referenced
βββ Central location
βββ Living document
WORKFLOW:
βββββββββββββββββββββββββββββββββββββ
βββ Can't move to Done without checklist
βββ Workflow enforcement
βββ Quality gate
βββ Automated compliance
Best Practices
For Definition of Done
Anti-Patterns
DOD MISTAKES:
β No DoD at all
β Imposed by management
β Too long/complex
β Never updated
β Ignored in practice
β Different per person
β Not visible
β No enforcement