In my recent interaction, I realize professional’s gets confused about the difference between Acceptance Criteria and the Definition of Done. One interesting conversation happened in my last CSM training in Bangalore, and this is how it went.
Question: When can we mark the product backlog item complete?
My Answer: When it meets the “Definition of Done”
Question: I thought it was to do with meeting the acceptance criteria
My Answer: Yes you are right.
Question: But you said Definition of Done
My Answer: Yes Definition of Done ensures you also meet Acceptance Criteria
Question: Are not both same?
My Answer: No, they are not, they serve a different purpose.
This interaction leads me to write this blog where I do my bit to clarify the significance of Definition of Done (DoD) and Acceptance Criteria.
Most of the agile team usages user stories as an instrument to discover requirements, the user story is known as a reminder to have discussions at the right time. When we discuss the user story, we identify things needed to make that user story meet the condition of satisfaction of the business user. Development team understands the user stories by understanding these conditions of satisfactions which are called Acceptance criteria.
The Typical discussion on User Stories may start with, business user says, I need facility to search a book, and user story may be written as
As a book reader, I wish to search a book so that I can find the interesting one.
When developer look at this she needs more details about the possible search criteria which can help book reader in finding interesting book, these criteria get identified by discussing user story with product owner, and finally you have criteria like
User should be able to search by Writer
User should be able to search by book title.
Now we have identified acceptance criteria. In the same way, we keep doing things for each product backlog items or say user stories in a product backlog.
When developer start working on it. she may finish the development on both the acceptance criteria and tell product owner that she is done with work. Product owner may get excited and open the instance which he has and then come to know this is done in her machine not in the instance Product Owner looking at. When Product Owner ask when can he see in his instance, he may discover it will take few days. To avoid different understanding of Done, in scrum we create “Definition of Done”. Definition of Done helps scrum team has common shared understanding of product backlog item completion.
Definition of Done , has agreed upon set of things which each product backlog item must comply with before it is considered complete. We do not create a definition of done separately for each product backlog items rather it gets applied to all product backlog items uniformly along with acceptance criteria they have on their own. Points like these constitutes Definition of Done
- Code with peer review
- Code Merged in the main branch
- Automated test pass
- No open must fix defect
- Tested on Chrome and IE
- All acceptance criteria passed with test data agreed
Let’s look at the differences between Acceptance Criteria and Definition of Done in tabular format
Acceptance criteria are conditions of satisfaction product owner tells when he ask for particular requirement; Definition of Done has conditions which expected to met for all requirements/ product backlog items. So as a developer I identify work needed to complete Acceptance Criteria and Definition of Done during sprint planning meeting so I meet the expectation of product owner and rest of the team.
I truly hope this blog aid you to know the difference in acceptance criteria and the definition of “Done.” If you would like to become Agile Certified Practitioner, we have a robust online program which makes dry concepts easy and helps you get the certificate ASAP.
To make difference between acceptance criteria and the definition of “Done” clearer, here I share a video on the same topic, let me know how your definition of done evolves with time.