I had an interview with one company. They use Scrum, but don’t like rough estimates during Release Planning. So, they asked me, how to make Release Planning more accurate (they don’t want more than 30 percent of deviations from the plan).
I suggested they do following:
Gather requirements.
Filter requirements and create scope.
Decompose scope to "nouns" (deliverable items). - i.e. WBS structure
Decompose "nouns" to "verbs" (work needs to be done to implement "nouns").
Estimate "verbs" considering risks.
Find "verbs" dependencies and put them in a timeline. - i.e. GANT diagram
Calculate release date.
As you can see, it is more complicated than initial story mapping, and looks more like “heavy waterfall” style, than “agile” style. As I understand Agile philosophy, accuracy of estimation of final release date is not high priority, because "responding to change over following a plan".
Going back to the planning list: in Scrum we implicitly did 1-3 steps during initial Release Planning and steps 4-6 during each Sprint Planning. I suggested to do all these steps during Release Planning explicitly.
Despite the fact that this was the first (and only) way I figured to improve the accuracy of a release plan, I don’t really like it because (in my opinion) this kind of planning does not conform to the ideology of Agile.
I understand, that accurate estimates demand more effort and don’t believe in “miracle” high quality estimation without effort. But maybe you can suggest to me other ways (or some tips) on how to make Release Planning more accurate without having complicated heavy waterfall-style planning?