Task workload leveling between resources?

J

johengs

I have quite a simple problem, which I have been unable to figure out
how to solve using Microsoft Project 2003.

A task has a specific work load, say 100 hours. There are two or more
resources which are assigned this same task. Each resource has defined
the number of units, which the resource uses on the task (for instance
with three resources the numbers could be RA: 50%, RB: 100% and RC:
25%). Now the question is:

How do I get Project to schedule the work between the resources so
that the task will end as quickly as possible?

Assuming 5-hour days, the right solution for the example case
specified above would be about 11,4 work days, so that resource A
works 2,5 hours per day, resource B works 5 hours per day and resource
C works 1,25 hours per day. Somehow I have not been able to command
Project to calulate this for me so that if I for instance change one
of the allocation units (RB: 100% -> 75%, for instance), the optimal
division of work would be re-calculated (so that all resources would
finish/stop working at the same day).

I would appreciate any help on this, because I have done everything to
find the answer to this, but with no results so far. Please ask if
something was unclear about my problem description.

BR,
Johan
 
J

Jan De Messemaeker

Hi,

The simple answer is once you entered these units Project does not have any
builtin logic to do what you want.
Hope this helps - at least you can stop searching :)
 
J

johengs

Hello and thank you for your reply!

How can the leading (?) project management software lack this kind of
seemingly basic functionality? I cannot be the only one out there
having the need to dynamically level out tasks between resources
according to changing situtations. In my mind it seems that these kind
of tasks is exactly what Project should automize, so that I would not
have to do the calculations manually. Even though the calculations are
simple and quite easy to do, I do think that the software should
provide an automated function for this, so that I as a PM can
concentrate on trying out different possibilities and playing with the
overall project plan on a higher level.

Any comments on this?

BR,
Johan
 
S

Steve House

I'm not privy to the logic the designers applied but I think it went
something like this: "If the resource was capable of working at XX% during
the time in question you would have assigned them at XX% and gotten the task
done sooner. Since you didn't, there must have been a valid reason outside
the Project's universe for your initial assignment level decision and it's
not the position of the software to second guess you." It seems to me to be
a workflow issue as well. Do you create a desired schedule and fit the
resource allocations into it or do you create the shortest schedule that you
can given the maximum amount of resources you can deploy - what's the
driving constraint, time or resource availability? Project's basic
assumption seems to be that you're fixed in the amount of resources you can
deploy at any given time and the schedule, the time, will be driven by that
parameter. That explains why the out-of-box default task type setting is
Fixed Units because in a resource constrained schedule, the units level you
choose when you initially assign the resource is assumed to represent the
maximum amount of that resource you can possibly have at that point in time
under any circumstances and so become the limiting factor for the task's
scheduling. That also explains why the default assignment level is 100% or
the Max Units, whichever is less.

Doesn't give you a work-around but sometimes understanding the reasoning
helps you manually bend it to your needs.
 
J

Jan De Messemaeker

Hi Johan,

Project unfortunately provides for one and only one leveling logic: if not
available, postpone.
One can regret that, but it's been the lab's option apparently.
 
J

johengs

I'm not privy to the logic the designers applied but I think it went
something like this: "If the resource was capable of working at XX% during
the time in question you would have assigned them at XX% and gotten the task
done sooner. Since you didn't, there must have been a valid reason outside
the Project's universe for your initial assignment level decision and it's
not the position of the software to second guess you." It seems to me to be

I am not sure if you understood me correctly. I am not asking for
Project to second guess me on the percentages. I have specified xx%
for each resource. The only thing I want Project to do is, that when
given the resources and their xx%s, lay out the hours for the
resources so that they will all stop working at the same time.
Currently Project seems to assign equal number of hours to each
resource, which makes the ones with higher xx% stop earlier than those
with lower percentages. Of course I can manually calculate how much
work hours each resource should have, so that they all stop working at
the same day, and assign this calculated number of hours per resource.
However, this is exactly the task that I think Project should do, not
me. This need seems so basic and common, that I do not understand why
Project does not have the feature.

BR,
Johan
 
S

Steve House

Try making the task non-effort driven before assigning resources. Try this.
Take a 1 day task marked non-effort driven, fixed units. Assign Jow @ 100%
Bill @ 50% and Fred @ 25%. Joe will be doing 8 hours of work, Bill 4 hours,
and Fred 2 hours. Split the screen and display the Resource Schedule view.
You'll see all three of them are shown to start and stop at the same time.
Increase the duration to 2 days. They'll STILL start and end at the same
time and now Joe will do 16 hours, Bill 8 hours, and Fred 4 hours. Isn't
this the behaviour you say you want?
 
J

johengs

You'll see all three of them are shown to start and stop at the same time.
Increase the duration to 2 days. They'll STILL start and end at the same
time and now Joe will do 16 hours, Bill 8 hours, and Fred 4 hours. Isn't
this the behaviour you say you want?

I think you got me on the right path. By first specifying the duration
of the task to be, say 1 day, Project seems to allocate the hours
between the resource in the correct ratio. I can then change the work
hours of the task to the actual number of hours needed. This way
Project will show how quickly the task can be completed with the given
resources. GREAT!

However, I still want to handle situations, where a resource's
utilization changes, e.g. on guy which originally was at 50% can now
all of a sudden work on the task full time. After changing the
percentage in the resource listing Project does not correct the work
loads accordingly. In effect the guy whose utilization was elevated to
100% stops working sooner than others. By experimenting I found a way
to fix this. By first zeroing out the work hours (hitting delete in
the work hours field) and THEN specifying the duration as one day, for
instance, Project re-calculates the distribution of work between the
resources. After this I can again set the work hours at the desired
value to find out how quickly the task can be completed with the new
resource allocation configuration.

Thank you very much for helping me finding this out! Hopefully this
can also help somebody else with the same problem.

BR,
Johan
 
S

Steve House

Glad it's helping. It will help to think of the Assignment % as
representing a RATE variable, ie, it is the percentage of the duration time
spent that gets converted into useful work. If you increase the percentage
for a resource it doesn't mean they're doing a greater percentage of the
total work. It means they're working faster and thus will finish their
portion of the assigned work sooner.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top