August 6, 2006

Don’t give a range when giving an estimate, such as a time or money estimate. For example, don’t tell your client that the software will be ready in four to six months. You will think, “Oh good, we have six months to get this done,” and he will hear, “Oh good, we’ll get this in four months.” In four months he’ll be expecting something because he literally only heard the “four months” part, and you’ll end up being two months late because you planned for the “six months” part.

If you don’t believe this, do this test: tell your client (it must be a client, or someone who’s looking forward to getting your software) that the software will be ready in four to six months (or whatever). Two days later ask them to repeat the estimate to you. You’ll only get the low end. Now go to someone on your team who was there when you gave the estimate and ask the same question, and you’ll only get the high number.

Just give a single number, like “six months”. This will make you uncomfortable. You’ll feel like you can’t make predictions this accurately, so you won’t want to give a single precise number. But the fact is that people will hear a single number anyway, and different people will hear different ones. So you may as well only give a single number so that at least everyone hears the same thing.