This week in pm-clinic: A management puzzle
This week in the pm-clinic discussion forum:
As a break from situations, for this week here’s a PM puzzle that never fails to surface astonishing pet theories and assumptions:
Since a 100 person-day project cannot be practically completed in 1 day with 100 people, it’s safe to assume it cannot be completed in 2 days with 50 people. But the question is, assuming the total amount of work is known (e.g. 100 person days), how should you estimate how many people you need, or how much calendar time it will take?
The OP needs to back up and look at the base assumption. How do you know this is a “100 person-day project”?
Susan: there are about a dozen barn sized assumptions lurking in this 3 sentence puzzle, including the excellent one you point out.
But for the sake of argument and entertainment, keep going. Assume it’s knowable that it should/could/”must or the universe will end” take 100 days, what would you do next?
(Another way to get over the assumption hurdle is to assume that there are two teams, Team A and Team B. Team A has already finished the work, and it took them 100 days. Team B has zero knowledge about Team A, how big it is or how it was organized, other than that it did the same work team B is asked to do, and did it in 100 days).
Some top level questions I’d want to have answers to…
1. What type of project is it? I’m not sure I agree with the assumptions on 100 people for 1 day or 50 for 2 is unreasonable without knowing what type of project it is.
2. Does the team have any experience in the area, or are they learning new technologies/methodologies/etc.
3. Are there date constraints around the delivery time? i.e. Would it be acceptable to actually take 100 days to do the task, or do I need to have it done in 50?
4. What’s my available resource pool? Am I constrained by people vs. by the actual work?
5. Why does Team ‘B’ not know about Team ‘A’? I’d want to know (if I’m leading planning for Team ‘B’) whether or not someone else had done this work before and whether I can do it faster by leveraging what they’ve done.
6. Why am I doing the work at all? Can I outsource it or buy a solution that meets the requirements in less time?
I’m sure I could come up with a few more, but back to work…
I was tempted to say that one sufficiently talented person could do the project
in 100 days. However, I thought of some more barn sized assumptions:
– The project demands more diverse talent than you can find in one person.
– The project could have a tighter elapsed time deadline than 100 days.
So, I’ll fall back on my pet theory: use as few highly talented people as possible to cover the talent needs of the project. I would recruit people to maximize task execution parallelism while minimizing communication overhead as much as possible. I’d rather have 5 talented people working
20 days than 20 people trying to figure how to finish in 5 days.
Task granularity is as important as total amount of work.
I’ve noticed that the total amount of work is simply a statistic is most situations.
What matters more is whether the work can be broken down into atomic chunks that can be handled by 1 person, whose time and effort can be measured. Granularity is important here because it is possible that 100 people can finish the work in a day provided that there are 100 independent tasks for each person. Add interdependencies between the granular tasks and you’ll know why 100 people can’t complete the work in a day.
The easiest way to estimate is by considering the time taken by one person to finish the work. Chopping away the time taken for non-critical and independently performable tasks should produce a better estimate.
But ultimately, an estimate is just an estimate.
Without a split-up of the tasks involved, such an exercise is actually meaningless.
Having said this, in my experience the ideal team is 3 to 5 persons (4 is ideal). Any more, and you’ll start losing time with communication issues among the team members, having to rely more and more on formal descriptions as opposed to honest direct one-on-one communication.
My rule of thumb: A group of up to 4 people communicates about one person-day a week. Add one man-day/week loss in communication by adding people above 4 in a group, and add 2 man-days/week in communication by adding additional groups of people (add 2 days for each group you add). Though 2 days for intergroup communications seems a lot, it also acounts for the additional documentation and explanations and meetings and management etc…
So, how many days will it take? Asume you can find 4 people, it will take 25 days (5 weeks) to complete the 100 man-days work, but they communicate approx. 1 man-day/week, so it will take 6 weeks and not 5 to finish.
With 2 groups of 4 people, it will take 13 days = 2 1/2 weeks, but adding in the communication (1 day / week / group = 5 days for the 2 groups together, plus 2 days/week for intergroup communication = 2 x 2 1/2 = 5) it will take 4 1/2 weeks.
Whaw, we just discovered that doubling the cost of resources (personnel) only saves us 1 1/2 week out of 6 weeks, which comes down to 25% time savings by doubling the number of people.
Any thoughts on my calculations?
Just to note: This is a fun puzzle because of how many different ways there are to play with it: list objections, name factors you’d want to add first, etc. So I’m not favoring any particular way to interpret – it’s just fun to ask, as it always generates some kind of reaction.
As far as ideal teams: People who have similiar working styles and experience working together can be very effective in numbers larger than 4 or 5. They know how to communicate, delegate, collaborate and nullify many of the reasons 4+ persons teams get less value per person.
I am sure larger teams than 4 people can make it out there in the wild wild world of IT. But reality has tought me that they seldom stay long enough together to form the kind of connection that allows them to work like a small 4 person team.
Main point: doubling the number of people only shaves away a much smaller amount of development time.
It all depends on the tasks involved and their interdependancies. You didn’t say this was a typical IT project. If the project was in fact moving a pile of dirt, then 100 people could do it in one day. If the project was making a piece of metal that needed to be heat treated in a certain way that took 100 days, then any amount of people would need to take 100 days.
The shortest amount of time would be calculated based on the shortest length of time for the longest task, plus all of the dependancies added to it. Calculate the critical path based on the real tasks. Add people with skills as required.