Some rituals are better than others

Some rituals are better than others

Agile release planning is an important tool for Agile projects and programs. It is easy to elevate release planning to a formal Agile ritual, done at a particular time and in the same way. Like a ceremony. My observations of Agile teams suggests that the ritualization of release planning (and all the other Agile techniques, for that matter) reduces the team’s ability to tailor the process or to experiment with variations that better match the dynamic nature of Agile projects. To make sure you are staying as flexible and dynamic as necessary remember the following points:

  1. Release planning is iterative and incremental. Release planning is usually done during sprint planning and then over and over again as needed.  Change occurs incrementally and based on feedback gathered thought team performance and feedback from the team.
  2. Release planning should be adjusted to deliver value in the fastest possible manner. The product owner and the team should continually tune the release plan to deliver value as early in the project as possible.  The minimum viable product or the walking skeleton are tools to help identify and plan for the delivery of value early.  The delivery of value helps to generate feedback, customer satisfaction and team motivation.
  3. Keep it simple. Release planning does not have to be complicated. Project and program complexity and the amount of information the organization’s culture demand will drive the complexity of release plan. Make release planning only as complex as it needs to be (and even then try to simplify).
  4. Experiment. Try new techniques for release planning. As far as I know, there is no perfect process for release planning in every team and organization. That means that we should be looking for process improvements at every opportunity.  Perhaps you will discover the best method ever, but even if you don’t you have every opportunity to get better and better and better.
  5. Release early and often. Release as often as it makes sense. The quicker you can get feedback from functionality running in production the better. Also the early and often mantra helps the project’s stakeholders understand that the release plan is not the same empty promise that many non-Agile release plans represent.

Agile release planning is a dynamic, continuous process that will evolve incrementally based on actual performance and the shifting business landscape. Change in Agile are rarely represented by a big bang, the creation and evolution of an Agile release plan is no different.