As I work with new Agile teams , I often encounter questions about two very similar yet distinct concepts that confuse many new agilists: “Definition of Done” (DoD) and “Acceptance Criteria” (AC). I can understand why these two concepts can be confusing because the terms themselves are somewhat unclear. Let’s take a closer look at the definition of done vs acceptance criteria and see what the differences are, and why they are important.
From the perspective of an Agile team, when something is “Done”, we are usually taught to make sure we have sign-off or approval from the Product Owner. As a result, teams tend to think in this manner:
- If my story is done, that means I have fulfilled the requirements of that story to make sure it is “done”, and I need to ask the Product Owner to review my work and agree that it is indeed “done”.
While this may seem logical, the idea behind the DoD is actually much broader. What was described above is a common situation for new teams because the term “Definition of Done” feels so simple, which leads to the term “Acceptance Criteria” being much more difficult to understand. I will try to clear all this up with a simple project that most of us have probably had to take on: painting a room within your house.
When we paint a room, we have a specific goal: to change the color of the wall for a specific room. We understand the requirement (i.e. to paint the wall a specific color for a specific room) and we know when this project is complete (i.e. the wall is now the color that we want it to be for a specific room). Our project (for the sake of this example) will include three rooms, each having a different color for the walls. The requirements are as follows:
- Desired color for room 1 (master bedroom): blue
- Desired color for room 2 (living room): beige
- Desired color for room 3 (kitchen): green
Using this example, what’s the DoD and what’s the AC?
So, the DoD, by definition, is a common standard across all work items within the project. In this case, it may look like this:
- All 4 walls have been painted with the new desired color.
- All paint is dry.
- All unused paint has been put away.
- All tools and supplies have been put away.
As you can see, regardless of which room or what color we are painting, the DoD serves as the guiding standard which remains the same to provide consistency.
On the other hand, the AC is a unique set of conditions that applies to only one of the work items, which in our example, just one of the rooms.
The AC for each room might look like the following:
- Master bedroom: Walls have been painted blue
- Livingroom: Walls have been painted beige
- Kitchen: Walls have been painted green
As you see, each part of the project (i.e. the room) has a unique condition that applies specifically to that portion of the work; the AC describes the state of completion for each work item.
To summarize, here are the three key rules of thumb regarding Definition of Done vs Acceptance Criteria:
- DoD applies to all of your work items, and AC is unique to each individual work item
- DoD may evolve over time, and AC may remain relatively stable
- DoD may include general non-functional requirements, and AC may include specific non-functional requirements
I hope this example helps to illustrate the differences between the two important concepts. Your team will likely need to master both of these in order to optimize your performance.