Friday, May 30, 2008

Increment Planning

In an ideal world, all of the candidate user stories will be perfectly defined and understood, and all of the preparatory work will have been done by the business in advance. It is often the case, though, that there is not quite universal understanding of all the stories, and some clarification is required before the size of each can be estimated.

For my project, being a redesign of a part of our web site, the business have created mock-ups of what the new pages should look like, in some cases with HTML and CSS, which of course makes integrating them into the final solution that much easier, and more accurate. It is very worthwhile getting the business to provide a visual representation of the solution they want – it is an invaluable aid to understanding.

It is also very worthwhile discussing the candidate stories about a week in advance of the start of the Increment. My project plan showed timebox 4 (in Increment 1) finishing on the Wednesday, and timebox 5 (the first for Increment 2) starting on the Thursday. In reality, timebox 5 will have to kick-off a day of two later, to accommodate the story analysis and increment planning.

Representation from all key stakeholders is essential. We have a number of stories which generated some animated discussion between two different business areas. Resolving these discussions is essential to determining how the solution will be developed; without everyone’s active participation, there is a very real risk of developing the wrong solution.

Ensure you have enough time. Plan on a full day to get the most out of it.

It is essential that you do not get drawn into too much detail at this point. The objective is to ensure that everyone understands the requirements, and the stories for the first timebox can be selected. It is not meant to be a design discussion. If conversation starts getting bogged-down in detail, move on.

A facilitator helps enormously. Without a structure to it, these sessions can break down into mere discussions, with no direction or meaningful progress. Increment planning should have an agenda something like this :

  • Introductions – make sure everyone on the project team is present and knows who everyone else is and their role, both on the project and in the meeting.
  • Functional Overview – opportunity for the business to provide an overview (preferably visual) of the objectives of the Increment.
  • Candidate Stories – the Business Ambassador presents each candidate story. Ensure that everyone present understands the requirement of each story – understanding how it will be delivered is not necessary at this stage.
  • Estimation – generate estimates of the relative size and complexity of each story. This can be in ideal-days or in story points. I prefer story points, because it provides an objective measure of progress. These estimates are also essential to ensuring that there is sufficient ‘contingency’ available in the form of ‘could have’ stories.
  • Prioritisation – MoSCoW prioritise each story according to its business benefit and contribution to the business vision.
  • Selection – based on technical or business dependencies and priorities, select the user stories that will be delivered in the first timebox.

So, in summary:

  • Get the Business to prepare their stories and any visual aids in advance
  • Plan for a full-day session ahead of the actual Increment start date.
  • Ensure all stakeholders are present, as well as the entire project team, including testers
  • Get a neutral facilitator to run the session.
  • Don’t get into any discussions about designing the solution. Just understand the requirements.

No comments: