A Definition of Done for QA
A practical Definition of Done that bakes quality into every story — so "done" means shippable, not just "the code compiles on my machine."
“It’s done” is the most expensive phrase in software when nobody agrees what it means. A shared Definition of Done (DoD) turns quality from a phase at the end into a checklist attached to every story — and stops the endless “but is it really done?” conversations.
Why a DoD matters for QA
Without an explicit DoD, “done” drifts to mean “I wrote the code.” Testing, edge cases, and docs become someone else’s problem, later. A DoD makes quality a precondition of done, not a follow-up. It moves the conversation from “did you test it?” to “here’s the standard, did we meet it?”
A Definition of Done is a contract the whole team signs once, so you don’t renegotiate quality on every single story.
A practical DoD template
Adapt this to your team — the point is that it is explicit and agreed, not that it matches mine.
Code
- Meets acceptance criteria for the story
- Peer-reviewed and approved
- No new linter or type errors
- Feature flags / config documented
Testing
- Unit tests for new logic, passing in CI
- Happy path verified against acceptance criteria
- Negative and boundary cases covered
- Regression suite green
- Manual exploratory pass on anything user-facing
Non-functional
- No obvious performance regression on critical paths
- Accessibility basics checked (keyboard, contrast, labels)
- Error states and empty states handled
Release
- Docs / release notes updated
- Observability in place (logs, metrics for the new path)
- Rollback plan understood
Keep it lean
A DoD that is 40 items long gets ignored. The goal is the shortest list that reliably prevents your team’s recurring “oops we forgot X” moments. Start small and add an item only when a real miss justifies it.
Make it visible and enforced
A DoD in a wiki nobody opens is decoration. Put it where the work happens:
- As a checklist template on every ticket or pull request
- Referenced in stand-up and review, not just sprint planning
- Owned by the whole team — anyone can hold a story to it
The takeaway
A Definition of Done is the cheapest quality tool a team has: no license, no tooling, just an agreement. It shifts testing left by making it part of “done” instead of a gate at the end, and it ends the argument about whether something is shippable — because you decided, together, in advance.