peterstark.tech

Peter Stark at LinkedInd
Peter Stark at X
Software Engineering

Define what Done means

Done should mean the same thing for everyone in the team and for all stakeholders.

Define what Done means
A clear definition of done.
”It works on my machine.” — Unknown Software Developer

It’s surprisingly hard to tell when a feature is done. When Stakeholders, Product Owners and individuals in the team have different understandings of when a feature is done, you will get problems.

Do not

  • Define done in different ways for every new story in the backlog. Then it’s hard to estimate with relative points.
  • Use a subjective or individual definition of done, for example by letting whoever works on a story define for themselves when it’s done. The definition of done must be supported by the whole team at all times.

Do

  • Let the team define Definition of Done (DoD) as a simple checklist. It’s really the team’s contract with the world outside.
  • For each story, use clear Acceptance Criteria (AC) that defined when the story is done. The AC may sometime override the DoD, if this is what the team and product owner wants.
  • Print out Definition of Done and put it where everyone can see it, including the whole team and stakeholders.
  • Some quality assurance (code reviews, testing, etc. ) should always be part of the Definition of Done.
  • Make sure the whole team stands behind every story that is released. For example, the definition of done can include a soft item such as the whole team should be feel confident that the feature works as expected.