Solved

# ms project gantt duration not moving when 2 ressources change % units

Posted on 2008-10-29
621 Views
ms project 2007

i assigne 2 ressources, at 50% (r1 and r2)
duration: 16 days

i change the % units assigned to r2 from 50% to 100%
duration: 16 days

i change the % units assigned to r1 from 50% to 100%
duration: 8 days

why is the duration not changing when i change my ressource number 2 % units? (r2)
this behavior happen in project 2003 too on a brand new formated computer
it also happen on all computers we tried it (4 at the moment)

fixed work
driven by effort
0
Question by:Serge Fournier
• 5
• 3

LVL 17

Assisted Solution

aflockhart earned 200 total points
When you first split the job equally between 2 resources r1 and r2, MS Project divides the WORK for the job into two equal parts ( 40 hours for r1 and 40 for r2 according to your figures, although that doesn't look like 16 days for 2 people at 50% effort ..).

When you change r2 to 100%, this will reduce the time that r2 needs to spend on their half of the job. But it will not affect the time that r1 needs to spend on their half; and the task will not finish until BOTH r1 and r2 have done their half.

Look at the detailed allocation of work hours to the task ( on the Task Usage sheet) to see who is working on which days.
0

LVL 13

Expert Comment

Hello wildboy85,

Let's walk through this together.

I open Project 2007, double check to ensure my default task type is set to Fixed Work and effort driven.  I enter a new task (t1) and set the duration to 16 days.

A point of confusion.  Using a standard calendar with 8 hour days, a 16 day duration task spans 128 (16x8) work hours, not 80...

Using the task form I create a resource (r1) on my task and set the units at 50%.  Project automatically sets the work for this resource to 64 hours.  I repeat this action to create a second resource (r2) with the same result.

Now I change the assigned units for my second resource to 100% and as you have described, the duration is still 16 days.

But when I look a bit closer, I notice that the work assigned to r2 is still 64 hours and the work assigned to r1 is 64 hours.  The reason that the duration has not changes is because the firt resource is still assigned to do half the work (64 hours) working half the work day (50% units) and this is going to take 16 days.  It doesn't matter that resource r2 finishes his assigned work 8 days earlier.  The task isn't finished untill ALL the work is finished.

The key to scheduling in Mictosoft Project is the formula

Duration * Units = Work   (D * U = W)

The task Type and Effort Driven flag you choose tells Project how to apply the formula.

One thing Project will not do for you, is reallocate work between resources.  This is the project managers job and what has to happen to produce the result I suspect you were expecting in this case.

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt

ScreenShot4.jpg
0

LVL 11

Author Comment

the answer look good, i understand it, but...

my task is tagged "as soon as possible"
that tell msproject to reallocate work between resources to finish the job faster

now, if msproject cannot do that... what is it's purpose?

i will wait for more answers a little bit, i cannot belive that there is not something to reallocate work automatically in ms project. That would be half of msproject reasons to exist blown away...

0

LVL 13

Accepted Solution

bobsegrest earned 300 total points
Hello wildboy85,

Nope...

Microsoft Project is a best in class tool for modeling projects based on the judgement and data provided by a project manager.

Microsoft Project is not an artificial intelligence tool and does not make judgements.  It might be nice if it was and did, but it would probably be called Microsoft Project Manager and I would probably spend half my time fighting with results.

The problem isn't the calculation, its the fact that you are using more than one resource.

Consider the following scenario.  We need to paint a house and have estimated that it will take 80 man hours of effort (Work) to complete.  We have another job that might happen about the same time so we commit our two painters (Tom and Bill) to work on this job 50% each.

There are two ways we can show this in a Project plan.

We can insert both painters and set their availability (Units) to 50%.  The down side to this is that Project will not rebalance workloads between multiple resources.  Tom and Bill are different resources and Project does not know enough about why they are different to make a judgement.  This is why we build expert systems (artificial intelligence)...

The other way to approach this is think of the resources in terms of skill set rather than individuals.  We could simply assign the work to a generic resource labeled Painter.  If we fulfill this requirement with half a Bill and half a Tom, it is still one Painter.  The advantage to this approach is that if we want to get the job done faster, we can just as easily change the assignment to use one and a half (150%), two (200%) or as many Painters as we like and Project will automatically adjust the duration accordingly.

Whenever more than one resource is assigned to a task, the ONLY person that can be held responsible for completion of the task is the Project Manager.

I strongly recommend that only one resource be assigned to each task as a "Best Practice".

If you are forming a team to work on a task, my recommendation is to assign the task to the team, identify who the responsible team leader is and set the team availability (Units) to reflect the composition of the team.

I hope this helps.

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt

0

LVL 11

Author Comment

that is perfect! exactly the answer i was looking for

i will simply use a team when poeple have the same skills

thx a lot

and next time, you can shorten the answers, by looking as my skill level ;)

you could have just said:
"form a team with the ressource that have the same skill"
"use the team as the only ressource"

0

LVL 11

Author Comment

appaprently, according to my boss, our resources have too many specialities to be put in teams
their work would be splitted in too many parts and lost in the size of the project itself
they must stay as individual

so i will program a macro to reassign the hours for each resources for a task

i will post it here once finished

0

LVL 13

Expert Comment

Hello wildboy85,

Fair enough, we all work for someone.

Another approach would be to elaborate the task to another level of detail.

Extending my previous scenario a bit...

If Tom specializes in painting walls and Bill does the trim, consider creating a Walls task and a Trim task under Painting.  The assign Tom and Bill accordingly.  The original Painting task thus becomes a summary task and represents the sum of its sub-tasks.

The advantages to this approach include:

1.  One resource on one task means that accountability is clear.
2.  It becomes very easy to see which task and which resource is driving the duration.
3.  These points should make it easier for the project manager to reallocate resources when needed and you can always write a macro to automate where necessary.

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt
0

LVL 11

Author Comment

actually my boss know msproject more than me ;)
we are trying to generate a big msproject including all projects and all resources for planification purposes

we are not interested in seeing what group do what, but WHO is doing what
we want close individual monitoring even if both resources are doing the same task

what we really need is to assign "skills" to our resources
then ask project to recalculate the time schedule for the resouces with the same skills on a certain task
(only if all the resouces on this task have the same skills, the task will be shorter)

that is the beauty is relational database
you can look at it one way or the other
so the group will be assigned to the resources, as a skill, instead of the resource to the group, and lose it's visual identity that we absolutly need to make plans when we are in a planification meeting

i will still post the macro, when it's done, right here :)
this macro will recalculate the selected task schedule, assuming that all resources can do the same task
(curently, i am working on it part time, will take a day or 2)
0

LVL 11

Author Comment

this macro will recalculate hours/resources according to their units (%) contribution, assuming all the resources in the selected task work with the same skill, and the same number of hours each days

the duration of the task will go down if the % is bigger in one resource

use alt F11 to insert the macro in ms project
it will change all the selected task in the project explorer

so you select a task, press F8, run macro
OR
insert the macro as a button in the toolbar
and select a task and press the button to execute the macro

``````Sub test()

'=== trouver tous les travaux et les recalculer

Dim r As Resource

Dim res01 As String

Dim s As Assignment

res01 = ""

houday = 8

If Not t Is Nothing Then

If Not t.Summary Then

res01 = res01 & " name: " & t.Name & vbCrLf

a = t.Work

res01 = res01 & " Work: " & a & " " & a / 60 & " " & a / 60 / houday & vbCrLf

alldistra = 0 '=== all disponibilities and work allocated

'=== total productivity each day by all employe

projrs = 0

For Each s In t.Assignments

projrs = projrs + s.Units * houday

Next

'=== total work according to productivity

If projrs <> 0 Then

totwrk = t.Work / projrs

End If

For Each s In t.Assignments

's.b

res01 = res01 & "   TEST: " & s.BudgetWork & vbCrLf

res01 = res01 & "   % " & s.Units * 100 & vbCrLf

res01 = res01 & "   OLD work: " & s.Work / 60 & "   NEW work: " & (s.Units * houday * totwrk) / 60 & vbCrLf

s.Work = (s.Units * houday * totwrk)

Next

End If

End If

Next

'MsgBox (res01)

End Sub
``````
0

## Featured Post

Online collaboration is quickly becoming embedded in the workplace, and its benefits are tangible. See what the current landscape looks like and what the future holds for collaboration tools and the future of work.
"Disruption" is the most feared word for C-level executives these days. They agonize over their industry being disturbed by another player - most likely by startups.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…