Better do resource leveling manually than automatically?

P

Pete Barry

Hi all,

I am a bit disappointed about the MS Project leveling mechanism. It seems
that MS Project cannot automatically balance the work time of a resource
among multiple tasks.

So here is my question: How do you handle the following scenario in your
daily work: The developer Jim is assigned to a software development task
called "Parser Implementation" which starts now and requires a fixed work
amount of 100 hours. But it is also assigned to a task "Coaching of Team
member Bob" with 10% of his working time for the next 2 weeks.

How do you best cope with these two tasks in MS Project? If you give
"Coaching of Team member Bob" the higher priority and assign Jim to 100% to
the task "Parser Implementation", the automatic leveling facility gives Jim
only a work load of 10% (from "Coaching of Team member Bob") for the next two
weeks because it does not let him start working on "Parser Implementation".

If on the other hand I only assign Jim with 90% to "Parser Implementation",
the leveling facility lets Jim start immediately and work in parallel to the
task "Coaching of Team member Bob" but gives him only a work load of 90%
after "Coaching of Team member Bob" was finished.

How do you handle a constellation like this best? Simply do all the leveling
manually? This can be quite a pain in the a... and become virtually
impossible if the project gets more complex.

Thanks in advance,

--- Pete Barry
 
G

Gérard Ducouret

Pete,

The MS Project leveling feature will *never* balance the resource
assignments between 2 tasks which are scheduled in parallel ways.

It'll postpone one of them, tacking into account their priority, slack....



Gérard Ducouret
 
S

Steve House [Project MVP]

First of all you need to get clear on what resource leveling in Project does
and does not do. All that leveling does, whether it is set to automatic or
to manual, is to delay work in the vent an assigned resource is
overallocated by being assigned at more than his maximum capacity at some
point in time. The scenario you paint will not be resolved by leveling at
all because the problem it presents is really not a resource leveling issue.

I have Joe who works an 8 hour workday and has a maximum availability of
100%. I have assigned him at 100% units to each of two 8-hour duration
tasks A and B, both scheduled for Monday. He is overallocated because he is
somehow magically expected to do 16 hours worth of work during a single
8-hour workday. Leveling will move the lower priority of those two tasks to
Tuesday to relieve the overallocation. That's it, that's all it does.
Resource leveling DOES NOT ever attempt to balance the workload of
resources. It never attempts to insure they are fully utilized. It NEVER
adjusts the work loads or assignment percentages. ALL IT EVER DOES IS DELAY
WORK. You say several times that leveling gives Jim such-and-such a
workload but the leveling engine never gives Jim any workload at all or
takes him off of any - you do that. All leveling will effect is when the
work takes place.

If you have assigned Jim to "Parser Implementation" at 100% for 100 hours of
work, that task will have a duration of 100 hours or 2 1/2 weeks. If you
also have him assigned to Coaching Bob at 10% that means he's expected to
work at 110%, a physical impossiblity so something's gotta give. One of
those tasks will move when you level.

Assuming you work an 8 hour day, what you are actually trying to do is have
Jim put in about 7 hours a day on "Parsing" and 1 hour a day on "Coaching"
for a period of 2 weeks, then do 8 hours per day exclusively on "Parsing"
until he's completed a total of 100 hours work on it. Doing some
arithmetic, at the end of the 2 weeks Jim will have put in 70 hours on
Parsing, leaving him 30 to go. The duration at that point is 80 hours, work
70 hours. At 100% from that point forward the Parsing task will finish in
30 more duration hours for a total duration of 110 hours. 100 hours of work
over 110 hours of duration corresponds to an assignment level ~90% so it
works out.

Your assignments should be ...
Parsing, duration 110 hours (2 weeks + 3.75 days), Jim assigned 90% for
a total work of 99 hours (close enough - I'd probably just round up the
duration to 112 hours or 14 days and let the work estimate go to ~101
hours - 1% is more than accurate enough in a world where +/- 10% is
considered dead-on)
Coaching, duration 80 hours (2 weeks), Jim assigned 10% for a total work
of 8 hours.

Leveling won't do this for you - only you know how Jim's work needs to be
distributed.

HTH
 
J

Jan De Messemaeker

Hi Pete,

How to handle?
Create a 10% of the time calendar (half a day a week, or 48 minutes per
day)..
Assign this as a task calendar to the coaching job
Assign the resource 100% to both tasks
Off you go

Use EITHER leveling OR assignment percentages. Both will always create
frustrations.


HTH
 
J

Joe

Jan,

I don't understand what you are doing exactly, but it sounds very
interesting. I recall you have a full explanation on a web site. Could you
tell me what the link is or explain in more detail how thios works?
 
J

Jan De Messemaeker

Hi Joe,

The address of my website is in my signature, but the article does not
exactly handle this problem. I should write something on it but I've been a
bit busy (or was it lazy?) lately.

Here's some more.
Leveling never changes assignment units. The philosophy behind that is that
when for instance you have a task "carrying a long ladder" you assign 2
people to it and MSProject should not change that to 1 (he can't cope) nor 3
(that's a crowd) and definitely not 1.2 or 2.7 even when that would give
nicer results in terms of resource usage. It's the understanding Project's
leveling has of allocation units.
Moreover, independently from leveling, when you assign someone 10% top a
task, fro Projet the work is not scheduled "somewhere between the boundaries
of duration" but exactly 6 seconds every minute. Project doesn't have any
"fuzzy logic".

Now what leveling can do, and can do well, is shift tasks and split them.
So let's use that.
Create a project with 2 tasks, T1 and T2, Durations 3 and 16 days
repsectively. Put a higher priority on T1 (say 800). Assign resoiurce R to
both tasks@ 100%.
In fact we expect R to work on T1 only 25%, but instead of changing
assignment units we shall use a task calendar
Create a new base calendar (Tools, Change Working time, New) that has
working hours every day 8:00-10:00 (this is the 25%) Link T1 to this as a
task calendar - the task will now last for 12 days, same effect as 25%
units.

Level resources.

Leveling now leaves T1 on the spot since it has a higher priority and splits
T2 in chuncks using the available time for R (10:00-17:00), be it 6 hrs/day,
and after the end of T1 uses the full 8 hours.
Exactly what you want.

Anothe rposter, only last week, gave the feedback that he had created some
standard calendars (10%, 20%, and so on) and ythat he was very happy to at
last being rid of manual leveling..

Let's not row upstream, downstream is so much faster..

(I'll keep this text. One day it will appear on my website)
 
J

Joe

Jan,

This sound VERY helpful, but I am missing something here. I only thought
you could assign a resource to a base calendar. How do you link a task as a
task calendar. Once I get this, I think I understand the rest.

Thanks,

Joe
 
J

Jan De Messemaeker

What version of Project do you run?
Since 2000 task calendars have been introduced
Task Information, Advanced, Calendar, select a base calendar.
HTH
 
P

Pete Barry

Gérard,

thanks for your answer. Jan has provided a good solution. I will stick with
that.

--- Pete Barry
 
P

Pete Barry

Steve,

thanks for your answer. Jan has provided a good solution. I will stick with
that.

--- Pete Barry
 
P

Pete Barry

Jan,

thanks for your input. Comes very close to what I am looking for. You also
mentioned, that another poster has created standard calendars for various
units (10%, 20%, ...). I would like to do the same but have a problem with
overlaps:

My standard working time is from 08:00 to 12:00 and 13:00 to 17:00.
When I create the 10% calendar, I would specify 08:00 to 08:48, for 20%,
08:00 to 09.36, and so on.

If I then assign one task with the 10% calendar and one with the 20%
calendar to the same resource, the overlap results in only 10% for each task,
because the time from 08:00 to 08:48 can only be shared once.

If I try to avoid overlaps, I cannot fit all the calendars I would like to
have (10%, 20%, ... up to 90%) into my working day. How to solve this issue?

Thanks in advance,

Pete
 

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