4

I've been asked to estimate how long it will take for a big project to get done, and I was able to break it up into small tasks and come up with an estimate for one person do it.

However, I'm now being asked to figure out how many people will be needed to finish the task and how long it will take.

What methods are there to figure out how adding people to the project will reduce the amount of time needed?

I know that the more people you add the more time that gets spent on communication and that the division is not linear. In addition, some team members will block others, some work can be done in parallel and some can't.

This is my first project with these teams and of this scope, so I don't have past experience to work with.

  • Is this a software project? If so, then are you using agile? – Sahan De Silva May 17 '17 at 9:37
  • @SahanDeSilva It is a software project. We are using a mix of agile and waterfall. At the current stage (high-level planning) it's waterfall but when we start development each team will use agile processes. – avi May 17 '17 at 10:15
  • 1
    So, you've not worked with these teams personally, that doesn't mean there isn't historic data to use. Do everything you can to find it and use it. Then quickly discard it and update your estimates based on data from this project. – RubberDuck May 17 '17 at 16:33
  • 2
    If you breakdown the requirement into a proper WBS, then you can assign each task to a team member, right? So then you can calculate the total time, add an additional amount of time as a contingency reserve and provide the total time estimation. (You can also go for 3 point estimation - PERT) I'm not adding this as an answer because I'm not sure which path you need to work on. – Sahan De Silva May 18 '17 at 3:52
  • 1
    PERT is a really good first step. – avi May 18 '17 at 7:36
2

Your benchmark formula is Duration (in days) = Work (in hours) / Utilization (workers). This assumes perfect resource elasticity. There're few tasks with perfect resource elasticity.

If you have a reasonable estimate for the work based on one worker, then use this formula to calculate the same estimate using additional workers. This will establish your floor.

I am also assuming you established your one worker estimate resulting in a range, i.e., best, worst, most likely. If you did not, then you need to do this.

Since tasks are rarely perfectly elastic, your challenge is to arrive at a multi-worker estimate where you have little to no experience. Since you have the floor as established above, you need to arrive at how much "fat" you need to put into this estimate since you are carrying a lot of risk.

You need to consult as many SMEs in this work area as you can find to get an idea of what the "engineering estimates" look like, knowing that this type of estimation has significant validity issues secondary to human biases. You need to research historical data on similar projects if you can find them and use them where you can, understanding that this too has some validity issues such as how accurate is the data in the first place. If you are able to uncover any parametrics with the tasks, use them where you can; however, in knowledge-type work, these don't really exist with any degree of high reliability and validity.

Absent the above, you simply have a lot of risk that you are unable to reduce through knowledge. So you are left with keeping a lot of "fat" in your commitment. This means, your starting point is the worst case value in your one-worker estimate and you reduce very little as you add resources. For example, if you found for a particular work package that it will take 8 days in duration (worst case) to finish using one worker, you may choose to commit to only one day reduction adding a second worker, maybe two day reduction adding a third. There is no science here to back this up, no real basis. But it provides you with reasonable insulation to protect yourself until you know better with experience. The risk, of course, is that there are some tasks where your duration degrades (instead of 7, it climbs to 10) with adding resources. But since your starting point is the worst case value, you have reasonable contingency built in. You communicate high risk and inform your stakeholders early any unfavorable variances you being to accrue and ensure there is contingency in the budget (yes, even more than your fat estimate) to protect the project holistically.

1

Sometimes when we dont know exactly what is the time needed for some new tasks the best way is just send the tasks details to more than one team member without sharing information between them ( 3 ) ask them for an estimated time ( as if you are sending RFQ ) then based on that you will get better idea about required time( you can take the average ) and the best team member to assign the task to ( the least time ) .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.