Important alert: Nov 18, 2012 11:44:32 PM EDT.
|vWorker is proud to announce that it has been acquired by Freelancer.com! During the transition the site will be in read-only mode and will give you an error if you try to perform any actions (post a message, a new project). For more information click here
Calculating a Realistic Delivery Date from a Worker's Estimate:
Do you have a good worker, whose only problem is that they can't seem to deliver on time?
This is actually very typical in many industries.
For example, the Standish Group found that there is a 75% chance that
any software project will not be delivered in the time estimated, and
other industries are similar.
Why are competent workers so bad at estimating?
The good news is that there
are ways to manage this. By completing the
requirements wizard, you can greatly increase the chances of on-time delivery. But
even this is not enough, because a competent worker can still estimate incorrectly
To avoid an unpleasant surprise, we highly recommend that you
take the delivery date that your worker estimated and calculate a realistic delivery
date. That date will be either 5x or 2x longer than the
worker estimated. You will not reveal this date to the worker, nor will
you enter it into the site as an official date (since that would defeat the purpose).
Instead, if the worker misses a milestone deadline and is still doing a good job,
you will dole out some of the extra slack time that you have. And if they
are not doing a good job, then you can still hold them accountable to the original
date, and take the project into arbitration for a refund
(via your money-back guarantee). This puts you in
the driver seat.
There are a number of reasons. The main ones are:
Only 25% of projects are completed on time. 50% are late/over budget and 25%
never get delivered at all.
So, how do I handle this?
- Unforeseeable problems:
Many of the problems that come up during development are unforeseeable.
If you have ever started a "simple" home improvement project and later found it
was much more complicated than you realized, then you know first hand how programming
can be...even for the experts.
- Misunderstood/unclear requirements:
When the requirements are unclear, the worker usually underestimates what it
takes to build your project. To
use an analogy, they may estimate your project as if you wanted a
comfortable house. Only mid-project do they
realize that you were expecting the Taj Mahal, and realize that
they under estimated.
With a few simple but innovative management techniques, you can handle this problem so that it doesn't derail your project:
Where do we get these numbers from?
- The Realistic Estimate:
Take the worker's estimate and secretly calculate a more realistic
estimate by multiplying their estimated time by 5. If the worker has given
you the estimate after all of the requirements have been fully documented in a formal
document (and/or prototype) and finalized, then you only need to multiply it by
2. (Click here to learn where
these numbers come from.) Then, use this realistic estimate in your planning,
rather than the worker's estimate.
It's important that you NEVER share your realistic
estimate with the worker. If they feel they have too time to spare, they
will not work as hard on your project and it will defeat the whole purpose of this
technique. Do NOT enter the date into the vWorker.com web site or put it
anywhere where the worker might learn about it. Instead keep it like a secret in
your "back pocket".
- Managing a missed deadline:
Managing missed deadlines properly actually begins
before the worker starts your
If you wait until the end of your project to start managing them, your options will
be much more limited than if you did it earlier. To do this, tell
the worker that before they start,
they must list out all of the
tasks in the project and how long they will take to reach each milestone.
Each task length should be 2 days or less. If it comes out to be more, then
they should split into smaller sub tasks that are 2 days or less. This method
proven to produce more accurate estimates.
Then let them start the work and have them report to you when each
task is complete. If they finish every task as planned, then that is great.
But if they don't (which is more likely), then the minute they miss one, tell them
to re-estimate it (and the remaining items, as described below). Remember,
the slippage won't cause you a problem, because you will have accounted for it in
your realistic estimate.
- How a worker should re-estimate tasks:
It's important that the worker re-estimate properly. First,
to ensure that they are doing a good job, require them to increase their commitment
to your project (see "commitment
terms" for more details"). Once they do, then tell them to re-estimate
the time for the current task. Software estimation experts have found that
if a milestones was missed by an amount (say 20%), then the worker should add
at least 20% to all other milestones as well. Workers
are often tempted to gloss over this, but you should insist on them doing this.
- Stay in the driver's seat:
It's important to understand that as long as you DO NOT reveal your
secret delivery date to the worker, you are in the driver's seat. You
can decide to dole them more time from your secret estimate. Or you can decide
not to and take them to arbitration for a refund. However if you make the
mistake of telling the worker that your realistic deadline is their "real" deadline,
then you no longer have that option, and MUST give them ALL of that time.
So it is always better to keep it hidden "in your back pocket".
These numbers (and some of the techniques as well)
are taken from the book "Software Estimation:
Demystifying the Black Art" by guru Steve McConnell. McConnell
graphed the inaccuracy of estimates on tens of thousands of projects that were done
by expert estimators and found some interesting patterns. At the beginning
of the project, their estimates were off by as much as 4x. When the formal requirements
were complete, it was reduced to 1.5x. However, since most workers are
not experts in estimation, we recommend using 5x and 2x instead.
If you are interested in learning more about this concept, a good synopsis is at: http://www.construx.com/Page.aspx?hid=1648