While "Definition of Done" appears 16 times in the 2020 Scrum Guide, you won't find the words "Acceptance Criteria", but you will find them just about everywhere software is being developed.
What's the difference?
While the Definition of Done is part of the Scrum framework as a Commitment for an Increment, Acceptance Criteria is what a Product Owner, Stakeholder, Customer, or User requires to "accept" the work. It's in the name.
Let's first start with saying that User Stories are Negotiable (INVEST anyone?) for a reason. They are designed to entice a conversation. In the end, when the work for that User Story ends up in a Sprint Backlog, it will have the level of detail necessary to know when it meets the expectations of "acceptable".
For example, given any application where we have user login functionality, we might also have a need for a "Logout" button.
In order for this "Logout" button to be "acceptable" to those who want it, its Acceptance Criteria might be:
- 280x64 pixels
- Forest green (hex code #228B22)
- Contain "Logout" in Arial Black at 14pt
- Reset the app to the Login screen
... and whatever other details have been required.
Those are very specific. If the customer is expecting forest green and the button is purple... this isn't "acceptable". If the logout button doesn't reset the app to the login screen... this isn't "acceptable".
This gives the Developers clear and concise goals to attain to elevate that work to a point where they can then check it against the Scrum Team's broader Commitment of Definition of Done.
Does "Acceptance Criteria" appear in your team's Definition of Done? How does your understanding of Acceptance Criteria differ from this? How is it used within your Scrum framework? Comment below.