A conversation at lunch recently revolved around the best way to estimate the length of a task. Lots of folks have developed intricate formulas for this process, but I've found a particular technique to work more often than not.
We're not talking about estimating some humongous project here. That requires, obviously, much more effort. But if you are looking to come up with a "best guess" for some chunk of work you're about to embark on, try this. By the way, this technique works best if you have at least a minimal amount of experience doing tasks of a similar nature.
Next, if virtually everything that could go wrong did indeed go wrong, what would your estimate be? I'm not talking about a nearby nuclear explosion melting down your city, but if all the REGULAR types of things went wrong, what's your guess? Call that "W" (worst case).
Now, given any previous experience, and your gut feel for what might really go wrong, how long do you HONESTLY think this will take? This would probably be the one guess you'd give your boss if he asked you for an estimate. Call that "L" (likely case).
Now, do this formula to arrive at "E", which is your REAL estimate:
E = (B + 3W + 2L) / 6
In other words, we are weighting your "best case" estimate very lightly, your "worst case" estimate very heavily, and your "gut feel" somewhere in between. Here's an example:
B = everything goes perfectly = 1 month
W = everything goes wrong = 4 months
L = best gut feel = 2 months
E = (1 + 3x4 + 2x2) / 6 = 17/6 = 2.83 months
Face it, things go wrong more than they tend to go right. You might as well build that in when you give your estimates. Better to overestimate a little and be sure to come in on time.
But whenever you actually finish the task, go back and look at your estimates for B, W, and L, and see if you have learned anything new. Did you hit some problem you hadn't ever thought of? Have you simply gotten better at doing these kinds of things? Etc...
Adjust your future estimates accordingly. If you find that your gut estimate (L) tends to be more accurate than
the computed value (E), feel free to even change the relative weightings to give it more power. But
in many cases, you'll find this to work pretty well.