He who estimates, implements

I’ve been over the high-level requirements and think it’ll probably take 8 weeks with 2 developers, so you should be able to deliver this by X.

Well, that’s great. Can I presume that you’re one of the two developers working on it? I didn’t think so.

Nothing irks me more than being handed a batch of work along with the timeline for delivering it. If you want to estimate my work for me, then you can also go ahead and build it.

To be clear, I’m not talking about Planning Estimates, I’m talking about hard deadlines. I use Planning Estimates to attach a high-level cost to a feature which helps customers prioritize the work. However, once the work is scheduled the actual developers building the feature re-estimate it in detail and this is communicated to the customer along with the expected delivery date.

The variables for any given chunk of work are:

  • Scope
  • Resources
  • Timeline

You can only control 2 of these.

Tell me what to build. I’ll tell you how much effort it’ll take. You can adjust the timeline by either reducing scope or adding people (up to a point. 9 women can’t have a baby in 1 month).

Just don’t try to control all three.