Incremental delivery planning is not an oxymoron. You just plan the soon-to-happen tasks in detail, and keep the distant tasks more vague. Does this make sense?
Johanna Rothman has posted an article that provides a good introduction to rolling-wave planning. She explains that she manages incremental projects with biweekly deliveries, and manages the project schedule four-weeks out. Each week, she updates the plan. At the beginning of the project, she outlines the milestones (which are subject to change in incremental projects). She only goes into details on the tasks that will happen in the next four weeks.
Johanna describes two reasons for picking four weeks. First, less time provides less visibility into project risks. And more time leads to more errors (and more changes to the plan). She suggests managing tasks at the 1 to 2 day task-size.
Johanna’s ideas are good ones. We should always have a detailed plan for the current delivery cycle, as well as the next delivery cycle. This allows us to manage requirements changes and the impact of changes.
If we are using a monthly iteration cycle, that means two-months of detailed planning.
When we complete one cycle, while the development team starts to work on the (now) current plan, the project manager is working to build out the plan for the next release. This begins (for the project manager) by meeting with the product manager to identify any changes in prioritization, scope, or content.
As the (now) previous release was coming to a close, the product manager should be meeting with stakeholders to manage expectations about what is included in this release. This communication should be a reminder only. The product manager will also let the stakeholders know what is being developed in the (now) current release.
When the release is delivered to the stakeholders, the product manager will get the feedback needed to adjust priorization or make requirements changes. Those changes will make it into a future release. If they are critical, they could potentially be worked into the “next” release – although that may cause some process pain for the project manager.
So, at any given point in time, we have the following roles and activities:
- Stakeholders review previous release (release n-1) and provide feedback to product manager.
- Stakeholders are informed of content for the current (release n) and the next release (release n+1).
- Development team works on defined plan for the current release (release n).
- Project manager is defining or managing the plan for the next release (release n+1).
- Product manager is updating priorities and managing requirements changes for the release after that (release n+2).
- When urgent changes are required, the product and project managers will coordinate to make changes to the next release (release n+1).