"In preparing for battle I have always found that plans are useless, but planning is indispensable" - Dwight D. Eisenhower
There is always a fear when embracing Agile that things will fall into chaos and that planning and strategy go out the window. I have been on projects that have run into these types of issues and a big part of that stemmed from the team losing sight of the big picture goals and direction for the project. One thing that has been very helpful in preventing chaos and keeping things on track has been: release planning.
What is Release Planning?
Release planning may mean different things in different organizations, but for the purposes of this article I will define it as the process of developing a high-level plan that helps track overall progress within a project and provides a roadmap for upcoming features and key dates that the team will need to be aware of.
Release planning is NOT something that is done once to create a plan that is set in stone. It is something that should occur regularly so that plans can be inspected and adjusted regularly to reflect information that has been gained as work is getting completed.
Why is it Important?
Building a Release Plan
Below I have included the basic process I have used with my teams in the past. This list is by no means exhaustive, and each of these steps can be dived into in much more detail. However, I have kept this at a high level to provide an outline to reference if you are just starting out and want an idea of where to begin.
Tips for Release Planning
Although release planning is a small piece of the overall planning that occurs throughout an Agile project, making sure your teams are doing this regularly will go a long way towards making sure the project stays on track and building confidence within skeptical organizations that teams using Agile can effectively plan and deliver on higher level goals.
What has your experience with release planning been? Have your teams been resistant to the idea? Is your process any different?