The Definition of Ready (DoR) defines the criteria a story must meet in order for the delivery team to start working on it. In other words, when the story is ready to be brought into a sprint.
If stories are not sufficiently understood at the start of a sprint, the team will be less effective. The team may hurriedly try to push a story to ready state and risk short-cutting discussion, starting development without fully understanding the story, incorrectly estimating the story, or incorrectly implementing the story.
Note: This is an example only - specifics will differ by team and project. Always define what makes sense for your current project.
Backlog grooming meetings are an opportunity to ensure that the user stories for upcoming sprints meet the DoR criteria. During grooming the team will discuss, provide clarity, and prepare stories for a sprint prior to sprint planning. The team and Product Owner discuss the top items on the product backlog, add details, break large stories into smaller ones, etc. By doing so earlier, all parties are given a chance to research questions they may not be prepared to answer immediately.
It is not necessary for all stories to meet the DoR at the start of a project. Teams will work over the course of the project to add the right amount of detail at the right time. As a story rises in priority and nears the top of the product backlog, more detail should be provided. Delay detailed requirements collection until the last responsible moment.
When a story meets the “Definition of Ready” state, we recommend doing these activities before active development starts:
The goal of a sprint is to deliver potentially shippable product at the end of each sprint. A Definition of Done (DoD) defines what a potentially shippable product is, what it includes, and what steps were done to get there. It answers the question "When is this story done?".
One of the goals of agile is to "deliver working software frequently". In order to have good working software, you need to define when the work is considered done.
Potentially shippable does not always mean shippable. Some activities require shared teams or equipment and may not be feasible in every sprint. This could include load testing, final documentation, security scans, or full regression tests. To account for these activities, teams sometimes utilize a hardening sprint, which is extra time before a release for release-specific activities. In order to be used effectively, hardening sprints should:
Always look to move tasks out of a hardening sprint and into the development sprints.