The difference between acceptance criteria and definition of done

Back in August I wrote a post called “How do you know when you’re done?” in which I explored the agile concept of the “definition of done” or “done done”. However, in conversations with developers over the last few weeks I’ve observed a confusion between acceptance criteria and definition of done. So, let’s use this post to tease out the differences.

tl;dr

In a nutshell, the differences are subtle but simple. While both are used to prove that a feature is complete, the scope of each is different.

The definition of done is, generally speaking, a list of requirements that must be satisfied for all user stories. These are set at the start of the project and rarely change.

Acceptance criteria (or user story acceptance criteria), however, are particular to each feature being developed. They are set at the start of a sprint and may change as development progresses and more is discovered about that feature.

Continue reading The difference between acceptance criteria and definition of done

How do you know when you’re done?

How do you know when you’ve completed something?

Not just nearly finished it — not a simple shrug of the shoulders and a mutter of “I guess that’ll do”, but absolutely certain that what you’ve created is (to the best of your knowledge and skills and ability) fit for purpose, has been adequately tested, and is ready to go into production without any more work needed on it. Which, note, is different to wanting to add extra features to it in the future. This post looks at the Agile concept of the ‘definition of done’ and the repetitious ‘done done’.

Continue reading How do you know when you’re done?