Ready to build
✣ ✣ ✣
Full focus of transforming wishes into reality, instead of spending valuable time on finding out what exactly needs to be build.
- Downstream definition of ready equals the upstream definition of done.
- definition of ready means that any item can be pulled into the sprint.
- High quality definition of ready leads to high-quality work and speeds up velocity.
See below for a detailed example of a definition of ready.
- Additional detail allow multiple teams to coordinate their work better.
- Additional detail can lead to more discussion.
- Too much detail limits creativity for implementers.
- Too little detail creates confusion and wastes time during implementation.
- The right level of detail in requirements, both functional and qualitative increases the immediately actionability of it.
- The useful power of the well-written specification increases with the frequencey ofreferring to it, and the number of people that need to interpret it.
- If there are questions about a specification, then the answer needs to be written down in the specification for reference by all future users of the specification, creating a living document of the collective memory of the system. The answers are not just 'discussed' oraly, and forgotten in practice.
Spend about 10% of the sprint time on grooming the items into ready to build state. Spend this time during the sprint, not during the planning session. Make it you goal to reduce the sprint planning meeting to a mere reconfirmation of the product backlog that emerged during the sprint's grooming sessions.
Aim for quality in, quality out.
Use an elegant checklist to make sure any item is fully ready to implement before you start working on it. Keep the item's description limited to two pages. For more complex items, consider composing an enabling disclosure.
✣ ✣ ✣
- Of all of the items that were presented:
- Which ones do you not feel confident at all in estimating?
- Which ones would make you feel very uncomfortable if you had to start working on them first thing tomorrow?
Also, use the ambiguity test whenever it makes sense.
Of course, anyone of the build crew should ask herself or himself the same questions.
✣ ✣ ✣
Table below is based on Bill Wake's INVEST acronym. You can use it to structure your grooming sessions. It helps to uncover and discover otherwise unnoticed aspects and allows you to build quality in.
The second column is the test designed to proof the validity of the first.
|immediately actionable||The development teams have no no known questions regarding the what, why and for whom of the item and can immediately start implementing the item, working on it until it is done, completing it until it meets all criteria that allow it to be pulled into the next station.
Therefore, a product backlog item must be detailed appropriately, e.g.
To further improve actionability, consider providing:
|independent||Any dependancies are identified and the dependency count is less than three, meaning that the item is relatively independent and does not pull a lot of other items into the sprint.|
|understanding||The product backlog item details how it fulfills a need, goal or desire of the role or vibrant persona.
The development team:
Typically, the ‘To’ part of a story, e.g. “To save a message” in a mail program, is the title of the story. The title of the story is something you can put into the user manual. Therefore, keep the title terse, concise, limited to a single short line. Make sure the title has both an action (verb) and object (noun) in it.
Another way to test understandibility and intelligibility is to do the ambiguity test.
|negotiable||The item is clear on the what, yet still leaves room for:
|valuable||The relative (business) value is clear and written on the item.|
|estimable||The item's relative implementation effort expressed in story points is written on the item by the development team, using techniques like planning poker.|
|sized appropriately||The item's estimated implementation effort is 8 story points or less. If a story takes more than half of the sprint to implement by a single person, don't take it into sprint.|
|testable||Crystal clear acceptance criteria for both the product owner and operations are associated with the item, probably written on the back of the item or documented in an automated test harness.
Acceptance criteria help to:
Popular tools like Cucumber can be used to express these criteria and facilitate automated testing practices.
Other useful practices include giving examples of:
|demonstrable||Either the development team or product owner or both can demonstrate the item when implemented. A good time for this is the sprint review meeting, but any other time during the sprint is also good. It gives a chance to immediately get some feedback and fold that in to current development.
Defining and scripting the demonstration helps to:
A mercenary analyst can help verbalize the item in a concise, coherent and comprehensive way.