Thoughts on Business, and how Agile, Lean, Scrum, XP, and Agile Project Management can help businesses run better
Monday, December 3, 2012
Is release planning worth it?
In a word: Yes, if done professionally.
How is release planning, and release plan refactoring…how are they 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 enables cost, benefit, time trade-offs to become apparent
It enables everyone to start to distinguish minor decisions from major decisions
Any professional also knows that planning is not and never will be perfect. So, we must put areasonable time box on doing the planning.
It is also useful to plan with good ‘agile’ people. Meaning people who will use the information developed from planning in a useful way (eg, will not do the ‘stupid waterfall manager trick’ of expecting the Team to always hit the date they planned on Day Zero).
Let’s talk about this last one (minor versus major)…
To put things simplistically, there are two types of decisions, which I will call minor and major. Minor decisions has a minor cost if we make them incorrectly. If we are clever, we soon learn that we are wrong, and we correct the decision.
But some decisions are major. To change the decision later, it can be very costly in terms of money or time or reputation or some other factor. Once we identify a major decision, we want to do our best to decide it correctly. This means first 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’.
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. If you too many people who want to use the information for ‘stupid waterfall tricks’.
But if done with good people, using useful concepts, the Scrum Team (and others) can learn a lot doing Release Planning, followed by Release Plan Refactoring every sprint.
It is also true that we can learn by doing ‘real work’. This is not to say ‘do only real work’…but one balances and shortens release planning (release plan refactoring) in the knowledge that we can and will learn some things faster by doing real work.