I remember the first time I heard the concept of done done. When a developer finishes coding, the story is done but not done done. There are a number of other steps that have to be completed before it is really done, that is done done. The team should come up with the definition of done at the start of a project. Typically it's things like coding is finished, unit testing was completed successfully, and the story was accepted by the author.
But how do you know when something is ready to start, when it's ready ready? Do you have a definition? I've seen where the work can get delayed when a story is brought into an iteration when it isn't ready to be started on for various reasons. In order to avoid problems with getting the work done in each iteration, the team should have a definition of when a story is ready to start.
So here are some ways to make sure your story is Ready-Ready:
- Ensure the story and acceptance criteria are clear. The story should be in the proper format of As a
I want to so that .
- The size of the story is small enough to be completed within the iteration. If the story is to large, the team should look at breaking it up into smaller stories.
- There is obvious user value.
- The story is immediately actionable, meaning there aren't dependencies that aren’t ready. If your story requires some yet to be completed action from another team, you don't want to include it in your iteration until that action is complete.
Taking this approach is a good way to ensure you are ready-ready.