Definition of Done | Team Quality Checklist
Create a Definition of Done so tasks are truly complete, preventing rework and unclear expectations. GitScrum ensures shared understanding of completeness.
7 min read
When "done" means different things to different people, you get incomplete work, surprised stakeholders, and technical debt. A clear Definition of Done (DoD) creates shared understanding of what completeness looks like, ensuring consistent quality and predictable delivery.
Why DoD Matters
| Without Clear DoD | With Clear DoD |
|---|---|
| "I thought it was done" | Shared understanding |
| Works on my machine | Works everywhere |
| Missing tests | Quality built in |
| No documentation | Knowledge captured |
| Bugs found in production | Bugs caught early |
DoD Components
Categories to Cover
DEFINITION OF DONE CATEGORIES
βββββββββββββββββββββββββββββ
CODE QUALITY:
βββ Code compiles without errors
βββ No linting warnings
βββ Follows coding standards
βββ No obvious code smells
βββ Self-documenting code
TESTING:
βββ Unit tests written and passing
βββ Integration tests passing
βββ No decrease in coverage
βββ Edge cases tested
βββ Manual testing complete
CODE REVIEW:
βββ PR created with description
βββ Review requested
βββ Feedback addressed
βββ At least 1 approval
βββ No unresolved comments
DOCUMENTATION:
βββ Code comments where needed
βββ README updated if needed
βββ API docs updated
βββ User docs updated (if UI)
βββ Changelog entry added
DEPLOYMENT:
βββ Merged to main branch
βββ Deployed to staging
βββ Smoke test passed
βββ No errors in monitoring
βββ Ready for production
Sample Definitions
Basic DoD (Small Team)
DEFINITION OF DONE (Basic)
ββββββββββββββββββββββββββ
Before marking a task "Done":
CODE:
- [ ] Code compiles without errors
- [ ] No linting errors
- [ ] Follows team style guide
TESTING:
- [ ] Tests written for new code
- [ ] All tests passing
- [ ] Manual testing complete
REVIEW:
- [ ] PR approved by 1 reviewer
- [ ] Feedback addressed
DEPLOY:
- [ ] Merged to main
- [ ] Deployed to staging
- [ ] Verified working
Comprehensive DoD (Enterprise)
DEFINITION OF DONE (Enterprise)
ββββββββββββββββββββββββββββββββ
DEVELOPMENT COMPLETE:
- [ ] Feature complete per acceptance criteria
- [ ] Code compiles in CI pipeline
- [ ] No static analysis warnings
- [ ] Tech debt documented (if any)
- [ ] Feature flag configured (if applicable)
TESTING COMPLETE:
- [ ] Unit tests: >80% coverage on new code
- [ ] Integration tests written and passing
- [ ] E2E tests for user flows (if UI)
- [ ] Performance tested (if applicable)
- [ ] Security scan passed
- [ ] Accessibility tested (WCAG 2.1 AA)
REVIEW COMPLETE:
- [ ] PR description complete
- [ ] 2+ code reviews approved
- [ ] All review comments resolved
- [ ] Architecture approval (if major change)
- [ ] Security review (if data handling)
DOCUMENTATION COMPLETE:
- [ ] Inline code documentation
- [ ] API documentation (if API change)
- [ ] User documentation (if UI change)
- [ ] Runbook updated (if ops impact)
- [ ] ADR created (if architectural decision)
DEPLOYMENT COMPLETE:
- [ ] Merged to main branch
- [ ] CI/CD pipeline green
- [ ] Deployed to staging
- [ ] QA sign-off on staging
- [ ] Monitoring alerts configured
- [ ] Ready for production deployment
HANDOFF COMPLETE:
- [ ] Product owner verified
- [ ] Demo recorded (if major feature)
- [ ] Support team informed (if customer-facing)
- [ ] Release notes drafted
DoD by Task Type
DoD BY TASK TYPE
ββββββββββββββββ
BUG FIX:
βββ Root cause identified
βββ Fix implemented
βββ Regression test added
βββ No related issues
βββ Deployed and verified
FEATURE:
βββ All acceptance criteria met
βββ Comprehensive tests
βββ Documentation updated
βββ Reviewed and approved
βββ Product sign-off
TECHNICAL DEBT:
βββ Problem addressed
βββ No functionality change
βββ Tests still passing
βββ Performance maintained
βββ Documented learnings
DOCUMENTATION:
βββ Content accurate
βββ Spell-checked
βββ Links verified
βββ Reviewed by SME
βββ Published
SPIKE/RESEARCH:
βββ Question answered
βββ Findings documented
βββ Recommendation made
βββ Team informed
βββ Follow-up tasks created
Implementing DoD
Creating Your DoD
DOD CREATION PROCESS
ββββββββββββββββββββ
STEP 1: Team Workshop (60 min)
βββββββββββββββββββββββββββββββββββββ
- What problems have incomplete work caused?
- What do we always forget?
- What should "done" look like?
STEP 2: Draft Categories
βββββββββββββββββββββββββββββββββββββ
Group suggestions into:
βββ Code
βββ Testing
βββ Review
βββ Documentation
βββ Deployment
STEP 3: Prioritize
βββββββββββββββββββββββββββββββββββββ
- Must have (non-negotiable)
- Should have (standard)
- Nice to have (aspirational)
STEP 4: Start Small
βββββββββββββββββββββββββββββββββββββ
Begin with 5-8 items. Expand as
team matures and capabilities grow.
STEP 5: Make Visible
βββββββββββββββββββββββββββββββββββββ
- Post in project wiki
- Link from GitScrum
- Reference in standup
- Review in retros
DoD in GitScrum
ENFORCING DoD IN GITSCRUM
βββββββββββββββββββββββββ
TASK TEMPLATE:
βββββββββββββββββββββββββββββββββββββ
Include DoD checklist in task description
## Definition of Done
- [ ] Code reviewed and approved
- [ ] Tests written and passing
- [ ] Documentation updated
- [ ] Deployed to staging
- [ ] Verified working
AUTOMATION:
βββββββββββββββββββββββββββββββββββββ
Rule: Prevent moving to "Done" if
DoD checklist is not complete
VISIBILITY:
βββββββββββββββββββββββββββββββββββββ
Display DoD completion % on task card
Handling DoD Violations
WHEN DoD ISN'T MET
ββββββββββββββββββ
DON'T:
β Let it slide "just this once"
β Blame the person
β Add bureaucratic overhead
DO:
β Discuss in retro
β Understand why it happened
β Adjust process or DoD
β Provide support to meet it
VALID EXCEPTIONS:
βββ Emergency production fix (document tech debt)
βββ Experimental/prototype work
βββ Explicitly agreed skip (documented)
EVEN THEN:
Create follow-up task to complete
the skipped DoD items
Evolution of DoD
Maturing Your DoD
DoD MATURITY LEVELS
βββββββββββββββββββ
LEVEL 1: BASIC
βββ Code compiles
βββ Tests pass
βββ Code reviewed
βββ Merged
LEVEL 2: STANDARD
βββ Everything in Level 1
βββ Coverage requirements
βββ Documentation
βββ Staging deployment
βββ Verification
LEVEL 3: MATURE
βββ Everything in Level 2
βββ Security scanning
βββ Performance testing
βββ Accessibility
βββ Monitoring configured
βββ Production ready
LEVEL 4: EXCELLENT
βββ Everything in Level 3
βββ Feature flags
βββ A/B testing ready
βββ Rollback plan
βββ Support trained
βββ Analytics configured
Progress through levels as team
capability and tooling improve.
Best Practices
For Definition of Done
Anti-Patterns
DEFINITION OF DONE MISTAKES:
β DoD exists but nobody follows it
β Too many items (unrealistic)
β Not reviewed or updated
β Different teams, different DoDs (no standard)
β DoD violated "because deadline"
β DoD is just testing (ignores other aspects)
β No one knows where DoD is documented