Hi folks! Let's talk today about two terms that often get mixed up — Definition of Done and acceptance criteria. So, what do they really mean and how are they different? Let’s find out!
First and foremost, Definition of Done (DoD) is a critical element of Scrum, the agile framework, but is often used within any Agile-related work.
On the other hand, acceptance criteria find their origins in more traditional project management methodologies. Their use with Agile seems to come from the Extreme Programming methodology. There, each work item is a User Story, and each User Story mandatorily carries its own set of acceptance tests. Those tests aim to ensure that the implemented functionality from the User Story behaves exactly as intended. What seems to have happened it that some practitioners, instead of writing tests directly, preferred to write a set of criteria, which could later be transformed into tests. And, with time, most started understanding that each User Story actually carries acceptance criteria, and that's how we came to use them.
Here, I will call the work items as User Stories, assuming that you already know what they are. If that's not the case, please check my other article about them.
But then how the Definition of Done and acceptance criteria are different?
The Definition of Done is a broader set of guidelines that is used for each and every User Story or functional increment to the product implemented in a cycle (or Sprint) to determine when it is considered done. The DoD always encompasses how quality assurance is done, but can also dictate which documents need to be created, in which environment should the done thing be deployed and more. Think of it as the checklist that needs to be ticked off for every User Story your team will implement. The DoD remains the same throughout the entire product development work. Thus, there is no DoD for this User Story, or for this particular Sprint. There can be only one DoD!
Of course the DoD can evolve and improve over time — for instance, we may need to add a new form of test or require a different document. Or — even better — maybe no documents are required anymore… But it will still be the same DoD, only updated.
Conversely, the acceptance criteria contain specific details of what must be implemented for each individual User Story. They define how it will behave for the user once implemented, helps ensuring that it will meet the desired outcomes. Therefore, a set of acceptance criteria is not shared, as it belongs to a particular story.
In summary, while the DoD is a higher-level set of guidelines for all User Stories, acceptance criteria zoom in on the details, being specific and tailored to each User Story.
And that's it! I hope this clears up any confusion between these two terms.
Comentários