With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc...
Most Agile practitioners would have heard about the Definition of Done or DoD. They will be very much familiar with the meaning of this term, and they will appreciate its value a lot as well. The reason is that it helps teams to remain transparent in their work. But, most Agile practitioners or at least prospective Agile practitioners would be less familiar with a similar term or concept called Definition of Ready or DoR. This concept aims to identify whether the work is ready to begin. DoR can be anything like a Product Backlog item or a User Story ready to be accepted into a Sprint. Teams can use this concept as a decision method to decide whether to begin their work on something.
Like the DoD, the DoR should create collaboratively, and all project team members should agree. It should be possible for the project team to view this document as a living document. It should grow with the team when the project matures.
A ready story is a detailed User Story and necessarily will have a narrative and Acceptance Criteria. When there are any operational attributes specific to a story, the DoR should mention them. A DoR deals with the User Story, wherein the User Story is prepared to be taken into a Sprint. It need not have to be purely defined, covering all Acceptance Criteria. Instead, it should prepare only when the project team members are confident they can deliver the User Story successfully. It will be helpful to save a lot of time when every User Story meets the DoR before the Sprint Planning meeting. However, working on the User Story during Sprint Planning meetings is also acceptable to bring it to the "ready" status.
The DoR can contribute too much to a good User Story. A good User Story would follow the INVEST Matrix. Each letter in the word Invest has a meaning as given below:
As we wish to understand the Definition of Ready vs. Acceptance Criteria, it is time to understand what is Acceptance Criteria all about:
Acceptance Criteria are responsible for detailing what should be done for the Product Backlog Item or PBI to be completed. Acceptance Criteria are created as essential components of User Stories and defined in particular to a User Story.
From Acceptance Criteria, it will be possible for the Developers to know the external quality features specified by the Product Owner from the business perspective. Further, from Acceptance Criteria, they can also get to know the exit criteria that the system or the components of this system must meet so that they can accept by customers, users, or other authorized authorities.
Acceptance Criteria should form an essential part when defining User Stories. The reason is that with Acceptance Criteria, it will be possible to ensure that the software developed meets the requirements of businesses. They provide the foundation for the definition of test cases that ensure achieving business objectives and the production of apps without any bugs.
Creating Acceptance Criteria is a win-win endeavor for Developers and Stakeholders in an organization. The great thing about Acceptance Criteria is that they will let teams know what expects of them. Further, it will keep the Stakeholders well informed of the development process. In short, Acceptance Criteria are used for:
Software Developers and Product Managers often talk about the Definition of Done. But, in reality, they discuss Acceptance Criteria when discussing DoD. It is nothing but a checklist that comes as part of each User Story used to explain when the requirements specified in the User Story are met.
Developers, Stakeholders, and customers refer to the Acceptance Criteria of a project to identify what the project's outcome should look like.
Indeed, customers do not get involved in creating Acceptance Criteria for User Stories. Nevertheless, having the Acceptance Criteria will aid the Developers in paying attention to the crucial elements of User Stories. In turn, the Developers can assure customers that the development process will be focused and meet their requirements.
Some Product Managers run Acceptance Criteria by customers before deciding on them. They use Acceptance Criteria to show customers that the agreed work is completed to their utmost satisfaction. Even they do this to prevent scope creep. When creating Acceptance Criteria, here are some things to consider:
In most instances, Acceptance Criteria are written for Developers. They use them as a guide for creating the software. They pay attention to the project's requirements and crucial functions and prevent them from getting distracted by unwanted features.
Acceptance Criteria should give a clear idea of what should be done for the work to be completed. But, the criteria should not tell how to do it. Also, it should not be prescriptive to get rid of creativity.
You intend to compare the Definition of Ready vs. Acceptance Criteria. So, the thing to remember here is that the Definition of Done applies to all User Stories the team works on. On the contrary, Acceptance Criteria are defined particularly for every User Story as needed by the Definition of Ready. So, the idea here is that Acceptance Criteria preparation is a part of the Definition of Ready. Acceptance Criteria define the desired behavior. Identifying whether a Product Backlog item has been developed successfully is helpful. On the other hand, DoR is a User Story or backlog item that is kept ready to be accepted into a Sprint.