We all know the “Definition of Done” used in Scrum for items that should be potentially shippable to the customer at the end of the sprint. In his book Essential Scrum, Kenneth Rubin discusses the “Definition of Ready” that applies to product backlog items that should be ready to be developed before the start of the sprint.
Grooming the product backlog should ensure that items at the top of the backlog are ready to be moved into a sprint so that the development team can confidently commit and complete them by the end of a sprint.
Some Scrum teams formalize this idea by establishing a definition of ready. You can think of the definition of ready and the definition of done as two states of product backlog items during a sprint cycle. Both the definition of done and the definition of ready are checklists of the work that must be completed before a product backlog item can be considered to be in the respective state. An example of a definition-of-ready checklist for product backlog items is given below.
Definition of Ready
* Business value is clearly articulated.
* Details are sufficiently understood by the development team so it can make an informed decision as to whether it can complete the product backlog item (PBI).
* Dependencies are identified and no external dependencies would block the PBI from being completed.
* Team is staffed appropriately to complete the PBI.
* The PBI is estimated and small enough to comfortably be completed in one sprint.
* Acceptance criteria are clear and testable.
* Performance criteria, if any, are defined and testable.
* Scrum team understands how to demonstrate the PBI at the sprint review.
A strong definition of ready will substantially improve the Scrum team’s chance of successfully meeting its sprint goal.
Source: Essential Scrum: A Practical Guide to the Most Popular Agile Process, Kenneth Rubin, Addison-Wesley
According to the Agile Alliance Glossary, the in a Definition of Ready, “the team makes explicit and visible the criteria (generally based on the INVEST matrix) that a user story must meet prior to being accepted into the upcoming iteration.”
If the Definition of Done is widely known and commented by Scrum practitioners, this is not the same for the Definition of Ready. One might argue however that if your user stories are not “Ready” at the beginning of the sprint, it decreases their chances to be delivered as “Done” at the end of it. If you start discussing the acceptance testing criteria only during the sprint, chances are that they might impact the actual features of the story and that it could be difficult to develop and run all acceptances tests before the end of the sprint. However, Mike Cohn pointed that sometimes, a Definition of Ready might prevent Agile teams to perform concurrent engineering. These definition will act as gates, preventing to start some activities before other are 100% done, thus leading to mini-waterfall processes. Even if you have to be cautious, the checklist proposed by Kenneth Rubin could provide interesting discussions to the Scrum team during the selection of the user stories for the upcoming sprint.
Further reading on the Definition of Ready