How to Do Agile Release Planning
Agile approaches embody the idea expressed by Dwight D. Eisenhower who once said "...I have always found that plans are useless, but planning is indispensable." In agile, there are many different types of planning at various intervals and levels of detail.
One of those levels is release planning, which is usually the type of planning between deciding what is included in a product or solution and what the delivery team will focus on for the next iteration.
The agile community has several good resources available that explain release planning. Mitch Lacey's structured approach to release planning assumes that an estimated and ordered backlog exists and that the team knows its velocity. Tommy Norman's “Agile Release Planning 101” goes a little deeper into the steps leading up to and including release planning.
Additionally, Joe Little put together an ebooklet, based on his past year's blog posts on release planning for beginning and intermediate teams.
All of these resources assume a fairly simple project environment where there is a single team with few dependencies on other teams or other teams depending on them.
There are several teams in an enterprise setting that have to do release planning specifically because they have interdependencies and need to coordinate with other teams. To help those folks out, Chad Holdorf with John Deere created a video on release planning in practice, which shows how the large teams at John Deere handle release planning.
Release planning clearly makes sense when a delivery team releases infrequently (every month or two, for example), but what about when a team releases after every iteration or even multiple times during an iteration?
Mike Cohn believes that this type of planning is helpful, but the term itself may not be, especially in those settings where teams release after every iteration or even multiple times per iteration. He indicates the term release plan is no longer helpful because the name may not accurately describe the planning horizon.
As a replacement for the term release planning, Ellen Gottesdiener and Mary Gorman suggest the term "pre-view," which emerges during a pre-view structured conversation. According to Ellen and Mary, "In a pre-view structured conversation, you discover and prepare more concrete product options needed for the next release."
Whatever you choose to call it, providing insight into the features that will be released in the foreseeable future is a powerful tool to keep delivery teams and their stakeholders collaborating effectively.