Estimate like a professional

Every developer hates estimation. It’s stressful to be put on the spot in a meeting with the expectation of providing accurate estimates for a non-trivial feature. Hastily created estimates affect more than the lives of the development staff. On a macro scale, a team which cannot stick to their estimates loses the faith and trust of the business it serves. Hasty estimation is the cause of pain.

The dreaded sprint review

A PM, or group of PMs needs to know exactly how many story points, or hours a feature takes. All eyes are you on you. They’re expecting a quick estimate to log into their spreadsheets and deliver a final ship date to marketing by COB. Sweat gathers; difficult to think with everyone staring and waiting. Instead of thinking clearly, you blurt out “5 hours.” A value large enough, you hope, to account for the massive oversight of this terrible estimate. It’s also small enough that the PM won’t challenge it as ‘too big.’ The meeting moves on, and you eventually escape.

A constructive alternative

It’s impossible to come up with good estimates on the spot without investigating the problem space. Here’s howto handle a sprint review like a real professional :

PM - What’s the estimate for item #12XY , implementation of new sign-in flow?

Dev - “That feature directly impacts a critical path. We’ll need some time to fully investigate it’s impact. I can have a estimate by tomorrow”

PM - I really need something now. How about 5 hrs?

Dev - “No. We need proper time to create accurate estimates. Our estimates set the course of release and we need to be confident they are accurate. You will have something by tomorrow”

(continue re-iterating this point in various forms ad nauseam)

PM - Ok then.

Spend the time

Technical things are difficult. The human mind is not suited to modeling complex multi-variate systems. An accurate estimate demands spending appropriate time coding throwaway tests, psuedocode, and ensuring X actually does talk to Y in the assumed manner. Investigate every avenue. The side affect of putting in the time is confidence in your estimate! Confidence in estimates begets confidence in the sprint timeline. A team consistently shipping on schedule accrues the trust and confidence of the business.