Is release planning worth it?
In a word: Yes, if done professionally.
Next, let’s acknowledge that it is a fair question. At some point, if release planning costs too much versus the benefits, then it is a waste. But we do not find that the ratio is nearly that bad.
How is release planning, and release plan refactoring… useful?
A few ideas:
- It enables the Team to share ideas
- It allows the Team to see the same elephant
- It enables knowledge creation
- It improves motivation
- It enables tacit knowledge sharing
- It enables cost, benefit, and time trade-offs to become apparent
- It enables everyone to distinguish minor decisions from major decisions
Any professional knows that planning is not and never will be perfect. So, there must be a reasonable time box in planning.
As you plan, it is important that you do it with, or convince people to become, good ‘agile’ people. People who will use the information developed from planning in a useful way (eg, will not stupidly expect the Team to always hit the date they planned on Day Zero).
Let’s talk about the last idea in the list above (minor versus major)…
To put things simplistically, there are two types of decisions, which I will call minor and major. Minor decisions have a minor cost if made incorrectly. If clever, we soon learn that we are wrong, and we correct the decision.
But some decisions are major. To change the decision later can be very costly in terms of money, time, reputation or some other factor. Once we identify a major decision, we want to do our best to make a correct decision. This means being sure we have framed the decision question correctly. Then, assuming this is a difficult decision, we want to make the decision at the ‘last responsible moment’. Which hopefully means we have the best possible information, and therefore are more likely to make the correct decision.
Can planning be useless or worse?
Well, of course. If you have people who will not learn. If you have people who will take longer than the current knowledge can justify. Or if you have people who want to use the information in a ‘stupid waterfall’ way.
If done with good people, using useful concepts, the Scrum Team (and others) can learn a lot with Release Planning, followed by Release Plan Refactoring every sprint.
Also, we learn most by doing ‘real work’. (Real work in software is coding, testing, demo-ing, and gettig feedback.) This is not to say ‘do only real work’…but one balances and shortens release planning (and release plan refactoring) in the knowledge we can and will learn some things faster by doing real work. And then these will help us see better where we should go.