Friday, March 6, 2015

Definition of Done Vs an Acceptance Criteria

Since long there was a confusion in my mind regarding Definition of Done and the Acceptance Criteria. I was thinking that Definition of Done is same as an Acceptance Criteria. But recently I was going through some videos on Scrum and in one of the videos this difference is explained beautifully.

Last week I started working with a project practicing Scrum since couple of years and I asked the team if they know the difference between these two terms. I found out that they were also thinking that both these terms have same meaning.

So what is DoD and how it is different from an Acceptance Criteria? Definition of Done is a list of requirements that a user story must adhere to for the team to call it complete. While the Acceptance Criteria of a User Story consist of set of Test Scenarios that are to be met to confirm that the software is working as expected. The difference between these two is that the DoD is common for all the User Stories whereas the Acceptance Criteria is applicable to specific User Story. Acceptance Criteria of each User Story will be different based on the requirements of that User Story. In order to complete the User Story; both DoD and Acceptance Criteria must be met. Unless both these two lists are done the Product Increment is not complete.




Before the start of the Sprint the Product Owner and the Team should agree on Definition of Done. DoD should not be changed during the Sprint. If changes need to be done then it should be done between Sprints.

To understand these terms better let's see the examples of Definition of Done and the Acceptance Criteria

Definition of Done

  • Code Builds without error warning 
  • Code is Unit Tested
  • Code is Deployed to system test environment and passed system tests
  • Build pushed to demo server 
  • Remaining hours of the User Story are marked zero

Acceptance Criteria

  •  A user cannot submit a form without completing all the mandatory fields
  • Information from the form is stored in the registrations database
  • Payment can be made via credit card
  • An acknowledgment email is sent to the user after submitting the form

I would suggest that each user story should have both the DoD and AC as a check box list and the developer should check all the check boxes for both the lists before that user story is marked as complete.

2 comments: