I was reading this great blog post about the problems with estimating business value by Mike Cohn, and found that it identified a problem that has been nascent in my mind for a little while now.
I won’t summarize the whole blog post here (you should just go read it!), but I will talk about how it gets me to thinking.
We’ve recently started our company-wide steering committee process, and I have had a hard time deciding how fine or coarse-grained we should get when we make the relative priority tradeoff decisions.
One of the values of getting fine-grained is that you can, theoretically, maximize ROI. You can identify the lowest-hanging fruit by getting to the user story level. Instead of looking at a large grouping of stories, which may have varying levels of importance to the business, you can look at the stories one-by-one and decide which ones are the most relevant right now (particularly based on their level of effort.)
The problem with this approach, however, is that this approach can be more complex than it seems in practice. The core reason is shared costing. There is often times architectural work that is shared across multiple stories. Or, there is work that can be combined and will take less time than if done separately. One example we’ve thought about recently is our checkout system and our return system. It’s probably more important to us to tackle the checkout enhancements. But, if we combine the checkout and the returns in one initiative, then we can tackle much of the architecture at once, and it will probably take us 60% of the effort that it would if we did it separately.
How do we take that into account at the ‘steering committee’ level? I think the answer is that we don’t. There are too many complex tradeoffs that exist like this when you get to the user story level. I think we are better served at the epic level.
I’ll experiment more soon and report back!