Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is better: set up underestimated or overestimated deadlines? [closed]

Suppose you are a project manager. You can estimate an effort in days for specific task for specific developer. After performing estimation you obtain some min and max values.

After this you delegate a task to developer. Actually you also set up deadline.
Which estimation is better to use when set up deadline: min or max?

As I see min estimation can result in stress for developer, max estimation can result in using all the time which is allocated to developer even if task can be complete faster (so called Student syndrome). Which other pros and cons of two approaches?

EDIT:

Small clarification: I speak about setting up deadlines for subordinates when delegating the task, NOT for reporting to my boss.

EDIT:

To add one more clarification: I can keep in mind my real estimation, provide to boss slightly larger estimation, to subordinates - slightly smaller. And this questions touches the following thing: is it good idea to provide to developer underestimation to make him working harder?

like image 414
sergtk Avatar asked Nov 30 '09 12:11

sergtk


People also ask

Why is it better to have an overestimate than an underestimate?

Underestimation can impact dependencies and the overall quality of the project. Overestimation may be wasteful for the resources on a particular task, but it is less likely to impact other tasks or overall quality.

How do you avoid underestimating a project?

What you can do to prevent it: When estimating, put aside enough time to collect unbiased data (site visits), document what the user and business actually need, and re-imagine the product as often as necessary to ensure you're starting down the right path to make the right device.


1 Answers

You should use the best guess which is a function of the min and max estimates* - not just the simple average -

best_guess = (min * min_weighting + max * max_weighting) / divisor*

* Tom Neyland suggests it should be (min_weighting + max_weighting). Actually I'm not sure whether that is correct, but it's probably more correct than my original divisor of 2.0.

The weighting you give to the min and max values will depend on the complexity of the task, the risks associated with the task, the likelihood of the risks occuring, the skill of the developer, etc. and will vary from organisation to organisation and from project to project. If you keep a record of your previous estimates and the actual time each took you'll be able to refine these estimates over time.

You should also use these values, plus a confidence value, when talking to senior management and customers. While giving the max and delivering early is not the same as giving the min and delivering late, it still shows that you don't have control over your development.

Giving the confidence value and an idea of the risks will also help manage expectations so if there are problems they're not unexpected.

* These min and max estimates will be got by various means - asking the developers, past experience etc. If polling developers then the actual min and max values should be treated as outliers and either discarded or modified in some way. What I mean here are the values you get from phrases like "it'll take 2 weeks if all goes well or a month if we hit some snags". So the values you plug into the formula are not the raw numbers.

like image 165
ChrisF Avatar answered Sep 22 '22 07:09

ChrisF