September 29, 2011
We constantly try to provide accurate estimates that we can defend with confidence. But there are situations where we end up making mistakes. And this post describes one such situation.
One of our clients asked us to estimate a feature. As usual, we sent back an estimate without much delay.
After few days, our client asked us to implement this feature. When we started to think about implementing the feature we found that it would take at least double the time that we’d earlier estimated. We’d put ourselves in a bad situation. It would of course be very hard to convince the client as to why there was this much deviation - considering we discovered this even before actually starting to implement the feature. We did the 5 why’s to get to the root of the problem.
We discovered the following reasons:
- We hadn’t gone through the usual process of breaking down the feature to the desired level of granularity. Digging deeper, the following root causes emerged:
- The project had been on ‘pause’ mode for a couple of weeks and we had gotten busy with other things in the meanwhile.
- The value of the feature [to the end user] was not completely obvious to us.
The solution? We’ve decided to ask ourselves the following question before sending across an estimate to any client in the future:
Is this a confident estimate ? Can we defend the estimate with proper reasoning?
The above will force us to think again about the estimate and help us become more consistent.
Oh, and one more thing. Ask the stakeholder as to what value the feature is going to add - if it is not obvious. Don’t assume that you’re right!
If you’re curious on what the client’s reaction was, when we sent across the revised [and much larger] estimate. We’d love to hear from you!