Definition of Done for QA
Part of the QA Testing Roadmap
In short
'It's done, just not tested.' If you've heard that, the team needs a Definition of Done. It's the shared checklist every story must pass before anyone calls it finished.
A team's explicit, shared checklist for when a story is truly complete from a quality perspective — tested, no known critical bugs, documentation updated — preventing the 'it's done except for testing' problem.

Think of it like this
Hostel checkout checklist
Leaving the hostel isn't just walking out. Return the keys, clear the mess bill, get the room inspected, collect your deposit slip. Until every box is ticked, you haven't checked out. Stories work the same way.
Watch it happen
Ticking off a story's Definition of Done
1/5Developer checks: the code is reviewed and unit tests pass in CI.
The big ideas
What you need to know
Team-owned
The whole team agrees the DoD and applies it to every story, not just QA.
DoD vs acceptance criteria
Acceptance criteria are specific to one story. The DoD applies to all stories.
It grows with the team
Start small and add items like 'accessibility checked' or 'automated test added' as the team matures.
Save yourself the pain
Common mistakes
Oops
Letting stories be 'done' with testing moved to next sprint.
Do this instead
Testing is part of the DoD. If it's not tested, it goes back, however awkward that is.
Oops
A DoD so long nobody can actually meet it.
Do this instead
Keep items the team can really do every sprint, and grow the list over time.
Your mission
Write a team DoD
Quick check
A story's features work, but QA hasn't tested two acceptance criteria yet. Under a good DoD, is it done?
Go deeper
- 1Draft a Definition of Done checklist specifically covering QA's completion criteria.
- 2Learn why 'done' without QA criteria causes disputes at sprint review.
- 3Practice defending why a story shouldn't be marked done without adequate test coverage.
More topics at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.