Symphony Apps Development logo — teal interlocking S monogram beside the studio wordmark
All writing

The definition of done we actually enforce

Most teams have a definition of done nobody checks against. Ours is short enough that checking it takes less time than skipping it.

Category
Process
Reading time
5 min
Published
13 Mar 2026
Topics
Process, Delivery, Quality

Definitions of done have a habit of growing until they're a page nobody reads before merging anyway. Ours is six lines, and the length is the feature, not an accident.

Why long lists fail

A definition of done with twenty items gets skimmed, not checked, and skimming a checklist is functionally the same as not having one — it produces the appearance of rigour without the substance. We cut ours down repeatedly until it was short enough that reading it takes less time than the temptation to skip it.

What's actually on it

  • Tests exist and pass, and the author can explain each one. Generated or hand-written, the explanation requirement is the same.
  • Nothing outside the ticket's stated scope changed. Checked against the file list before the diff itself.
  • The acceptance criteria are checked one by one against the change, not read once at the start and assumed to still apply.
  • Error paths were exercised, not just the happy path.
  • A reviewer who didn't write the code has looked at it.
  • The ticket is updated with what actually shipped, if it differs from what was planned, so the record matches reality.

What's deliberately not on it

Anything that duplicates what automated checks already enforce — lint, type checks, build success — is not on the human list, because a human checking something a machine already checked is wasted attention that would be better spent on the things machines can't check.

Where it gets enforced

At the pull request, as a template that has to be filled in, not a page linked from a wiki that everyone has bookmarked and nobody opens. Filling it in with an honest no against any line is an acceptable, expected outcome — the point isn't a clean sheet, it's an honest one.

A checklist that's always fully ticked is not evidence of quality. It's evidence that nobody's answering honestly.

What changed once we shortened it

Compliance went up noticeably once the list got shorter, which tells us something uncomfortable about the twenty-item version: it was never really being followed, it was being trusted on reputation.

The one line that catches the most

"Nothing outside the ticket's stated scope changed" catches more real problems than the rest of the list combined, particularly on anything touched by a coding agent, which will tidy up an unrelated file if nobody tells it not to.

Tell us what you’re trying to ship

A first call is thirty minutes and costs nothing. Bring the problem, not a spec — working out what to build is the part we are good at.

Or email office@symphonyapps.ro. We reply within one business day, in English or Romanian.