No Obligation Estimates

You Are Not Obligated to Meet Any Estimate You Don't Make Yourself

Estimates are a way to plan. They are an outer bound, saying, “With 90% accuracy, I can finish this task in X hours or less” (feel free to substitute your desired percentage in the accuracy slot). Done correctly, they are useful.

But Jeff's comic shows how things go wrong:



The manager messed up here. She used estimates to make the programmer work harder, she used blame, she doesn't trust the programmer;[1] all of which guarantees a lousy work relationship. Which comes to the point of this essay: you are not responsible for any estimate you don't make yourself. When a manager takes your estimate and says, “cut that in half;” smile and say, “ok manager, it's your estimate now.”

If you don't want to talk like that to your manager, write down the original estimate because your estimate is the one that matters. There is no way you can meet the manager's deadline.[2] So be prepared, sooner or later an uncomfortable conversation is coming. You can't always fix a lousy manager, but you can be prepared.

This is the power you have. With great power comes great responsibility, so if you make the estimate, try hard to reach it. Pad the estimate with extra time if you need to,[3] but don't lie about how long it will take, and then spend the rest of the time surfing the net (like the guy in that comic might have been trying to do). Your manager will hate you.

Making accurate estimates is part of being professional as a developer[4]. Over time you will get really good at it. Either way, when a manager pressures you to change your estimate, you have no obligation to actually meet their estimate. It's their estimate not yours.