Solved

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

Posted on 2008-10-29
9
621 Views
Last Modified: 2013-11-15
ms project 2007

i have a task job oriented, workload: 80 hours
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)

and yes my task is:
fixed work
driven by effort
0
Comment
Question by:Serge Fournier
  • 5
  • 3
9 Comments
 
LVL 17

Assisted Solution

by:aflockhart
aflockhart earned 200 total points
Comment Utility
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

by:bobsegrest
Comment Utility
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.

Does this answer your question?  If not elaborate a bit more...

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt




ScreenShot4.jpg
0
 
LVL 11

Author Comment

by:Serge Fournier
Comment Utility
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

by:
bobsegrest earned 300 total points
Comment Utility
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
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 11

Author Comment

by:Serge Fournier
Comment Utility
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

by:Serge Fournier
Comment Utility
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

by:bobsegrest
Comment Utility
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

by:Serge Fournier
Comment Utility
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

by:Serge Fournier
Comment Utility
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 t01 As Tasks

Dim t As Task

Dim r As Resource

Dim t2 As Task

Dim res01 As String

Dim s As Assignment
 
 

'Set t01 = ActiveProject.Tasks
 

res01 = ""

houday = 8
 

For Each t In ActiveSelection.Tasks

   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

Open in new window

0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

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…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now