Improve resource allocation capabilities

H

Hugo gleaves

I have discussed a need with several people on the web, including experts at
eProject and my need is not met by any tool it seems, however it is a simple
requirement I suspect.

Imagine a task Main with two subtasks, Sub1 and Sub2. Both subtasks are
effort driven, ie we input hours to be expended and duration is calculated
based upon resources.

Now assume Sub1 needs 100 hours and Sub2 needs 50 hours, each with a single
100% resource.

Clearly the duration of the Main task will be 12.5 days (ordinarily) during
that time Sub1 resource will be 100% busy every day, BUT Sub2 resource will
not, and this is where I hit a limit on MS Project, I want it to spread the
work automatically for Sub2.

Although I can set Sub2 to be fixed duration, and make that duration 12.5
days (thereby spreading the work for its resource over the period) I can then
adjust the hours and automatically the %availability gets updated for the
resource (in this case to 50%) BUT I MUST UPDATE Sub2's fixed duration every
time I cause a change to the duration of Sub1.

So here is the requiremet, allow tasks to be defined as effort driven BUT
include a flag called "Spread to parent task". Additionally when any sub task
changes (i.e any task with a parent) determine which of the all these sub
tasks has the longest duration, then set the parent task to have that
duration (Project already does that part) and then (this is new) examine
every other sibling subtask, if a sibling subtask has the flag set, then set
its duration to that of the parent and thereby adjust the % availability of
the resources.

This would mean that one can then have subtasks that are ALWAYS spread
across the same timespan as the longest task automatically, I can then adjust
the effort for any task and EVERY other task will adjust to be the duration
of the longest (i.e. parent) and in so doing, adjust the necessary
%availability.

No tool has this ability, but it is a common real-world scenarion, because I
have Analysts that must do say 500 hours work, and Developers who must
provide 100 hours assistance to the Analysts.

Clearly if I want the Analysts to do say 600 hours or if I add another
Analyst, then the task will take less time, so I NEED the developers to all
take less time, the SAME time.

In other words it allows me to model tasks in which other roles provide a
certain number of hours assistance to some other role, but always spread so
that that assistence if provided for the full duration of the task they are
assisting.

Is there any prospect for including this as a new feature for MS Project (or
is it there but I missed it!).

Thanks
Hugh




----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.

http://www.microsoft.com/office/com...b57f-9824ba54c3e6&dg=microsoft.public.project
 
R

Rod Gill

By design Summary tasks summarize sub-tasks (hence their name). They do not
affect the sub-tasks at all.

Can the two tasks become one? Because you can have 2 resources assigned to
the same task that will always give you your 100% and 50% split.
 
H

Hugo gleaves

Hi

Well I'm sure it is by design, but the whole idea of my suggestion is to
change the design, or at least implement a new capability which one cannot do
without changing the design, I do not consider it a bug.

The two tasks cant easily become one, because then I have no simple way to
assign the hours (effort) to each one independently.

If I could define a resource more flexibly (ie by being able to specify its
effort rather than being limited to only setting availability) then I could
do it as one task I think.

In fact it was one task but I split into two in orde to attempt what I
needed, but it didnt really help.

Work here is planned (by others) as effort per team per project phase. So
each team is able/expected to "consume" x hours for their part of a phase
over the full duration of that phase.

Messing with avilability is possible but I have to manually adjust that % if
I want to vary the effort for any given team.

This really does strike me as a very useful enhancement, however it be
implemented.

Hugh
 
R

Rod Gill

Okay, you can do what you want. I don't think Microsoft will or should add a
master task that drives duration of sub tasks as this functionality can be
emulated by linking finish dates together.

To get two resources assigned as you want in one task:

Create a new task
Click Window, Split
Clear the Effort driven flag. (I always set no effort driven as the default
as effort driven causes more assignment edits that a dodgy keyboard!)
Click on the new task again and set the duration to 12.5d or 2.5w
Open the Assign resources dialog (Alt+F10)
In the units column (of the Assign Resources dialog) for the first resource
enter 100h
In the units column (of the Assign Resources dialog) for the second resource
enter 50h

That should give you what you want.
 
D

Dave

If I've understood properly, you want the duration of sub2 to match
sub1. One way of achieving that would be to make it a hammock task
(which introduces its own set of problems). See Rod's post for details
of getting the resource allocation right.

Dave
 
H

Hugo gleaves

Thanks to both of you for commenting on this, it is valued.

Rod's most recent post does partly do what I want but is unworkable in a
real-world.

Assigning Resource2 50% is manual, the actual % needs to be calculated from
the amount of effort I want that resource to use, so if I vary it from 50
hours to 60 hours, the % should AUTOMATICALLY adjust, besides one must
calculate that 50% as (effort2/effort1) * 100, which I cannot do for 60 or
more activties.

Now it WILL automatically adjust the % if I make it Fixed duration, but as
soon as I do that, and I chnage the duration of the longer task (say
increasing it by a few days) then I must manually increse these other task's
durations too.

I need MS Project to calculate, automatically the % availability based on a)
duration always matching the duration of parent task (which itself is derived
from the longest sub task) and b) the effort I specify for that resource on
that task.

I cannot assign a resource an effort on a task, only the task itself which
is another limitation.

It would be extremely useful to be able to say "This resource can spend only
75 hours on this task" instead we are limited simply to % availability.

I simply want to the ability to

a) Force a resource on a task, to have its effort spread evenly across the
duration.
b) Force that tasks duration to follow/track the duration of another task.
c) Have the option to link that duration to the duration of the parent task

The reason for c) is not because I want the parent task to "drive" a sub
task, but because I want the LONGEST subtask to drive it. Because the
duration of the longest subtask (in some cases) is what DRIVES the duration
of the parent task, it makes sense to link to that, because the longest
subtask may chnage at anytime when one adjusts the effort of any of its
siblings.

The thing driving all this is that we have Analysts, Developers, Testers,
etc and we have phases Requirements, Analsys, Design, Build, Test, Implement
etc.

Now I am told that each team can/shall spend so much EFFORT per phase, i.e.
Analysis will require 400 hours of Analyst resource and 75 hours of Developer
resources etc, you can see the model I hope.

So I NEED to ensure that on task "Analysis" the Analysts spend 400 hours BUT
the Developers spend ONLY 75 but over the SAME duration, and I need this to
be done in such a way that I can arbitrarily adjust that 400 or 75 freely and
have Project automatically recalculate the % availability WHILST alway making
the Developers effort be expended over the same duration as the overal
activity.

If Project right now cannot model this real world scenario (in which effort
is the driving issue) then I argue that it be enhanced to allow it too,
asking me to manually adjust this % or that for every task/resource when the
effort chnages is unworkable.

It would also improve Project I think, if one could talk about the NUMBER of
resources rather than beiong forced to think in % all the time. I mean if I
have a team of 6 people, then why cant I simply say 6 ! and have the %
availability an additional value?

Project plans/schedules are at their most useful when the more closely match
how people really work, and this is my issue here.

Thanks
Hugh
 
H

Hugo gleaves

Thanks to both of you for commenting on this, it is valued.

Rod's most recent post does partly do what I want but is unworkable in a
real-world.

Assigning Resource2 50% is manual, the actual % needs to be calculated from
the amount of effort I want that resource to use, so if I vary it from 50
hours to 60 hours, the % should AUTOMATICALLY adjust, besides one must
calculate that 50% as (effort2/effort1) * 100, which I cannot do for 60 or
more activties.

Now it WILL automatically adjust the % if I make it Fixed duration, but as
soon as I do that, and I chnage the duration of the longer task (say
increasing it by a few days) then I must manually increse these other task's
durations too.

I need MS Project to calculate, automatically the % availability based on a)
duration always matching the duration of parent task (which itself is derived
from the longest sub task) and b) the effort I specify for that resource on
that task.

I cannot assign a resource an effort on a task, only the task itself which
is another limitation.

It would be extremely useful to be able to say "This resource can spend only
75 hours on this task" instead we are limited simply to % availability.

I simply want to the ability to

a) Force a resource on a task, to have its effort spread evenly across the
duration.
b) Force that tasks duration to follow/track the duration of another task.
c) Have the option to link that duration to the duration of the parent task

The reason for c) is not because I want the parent task to "drive" a sub
task, but because I want the LONGEST subtask to drive it. Because the
duration of the longest subtask (in some cases) is what DRIVES the duration
of the parent task, it makes sense to link to that, because the longest
subtask may chnage at anytime when one adjusts the effort of any of its
siblings.

The thing driving all this is that we have Analysts, Developers, Testers,
etc and we have phases Requirements, Analsys, Design, Build, Test, Implement
etc.

Now I am told that each team can/shall spend so much EFFORT per phase, i.e.
Analysis will require 400 hours of Analyst resource and 75 hours of Developer
resources etc, you can see the model I hope.

So I NEED to ensure that on task "Analysis" the Analysts spend 400 hours BUT
the Developers spend ONLY 75 but over the SAME duration, and I need this to
be done in such a way that I can arbitrarily adjust that 400 or 75 freely and
have Project automatically recalculate the % availability WHILST alway making
the Developers effort be expended over the same duration as the overal
activity.

If Project right now cannot model this real world scenario (in which effort
is the driving issue) then I argue that it be enhanced to allow it too,
asking me to manually adjust this % or that for every task/resource when the
effort chnages is unworkable.

It would also improve Project I think, if one could talk about the NUMBER of
resources rather than beiong forced to think in % all the time. I mean if I
have a team of 6 people, then why cant I simply say 6 ! and have the %
availability an additional value?

Project plans/schedules are at their most useful when the more closely match
how people really work, and this is my issue here.

Thanks
Hugh
 
H

Hugo gleaves

Thanks to both of you for commenting on this, it is valued.

Rod's most recent post does partly do what I want but is unworkable in a
real-world.

Assigning Resource2 50% is manual, the actual % needs to be calculated from
the amount of effort I want that resource to use, so if I vary it from 50
hours to 60 hours, the % should AUTOMATICALLY adjust, besides one must
calculate that 50% as (effort2/effort1) * 100, which I cannot do for 60 or
more activties.

Now it WILL automatically adjust the % if I make it Fixed duration, but as
soon as I do that, and I chnage the duration of the longer task (say
increasing it by a few days) then I must manually increse these other task's
durations too.

I need MS Project to calculate, automatically the % availability based on a)
duration always matching the duration of parent task (which itself is derived
from the longest sub task) and b) the effort I specify for that resource on
that task.

I cannot assign a resource an effort on a task, only the task itself which
is another limitation.

It would be extremely useful to be able to say "This resource can spend only
75 hours on this task" instead we are limited simply to % availability.

I simply want to the ability to

a) Force a resource on a task, to have its effort spread evenly across the
duration.
b) Force that tasks duration to follow/track the duration of another task.
c) Have the option to link that duration to the duration of the parent task

The reason for c) is not because I want the parent task to "drive" a sub
task, but because I want the LONGEST subtask to drive it. Because the
duration of the longest subtask (in some cases) is what DRIVES the duration
of the parent task, it makes sense to link to that, because the longest
subtask may chnage at anytime when one adjusts the effort of any of its
siblings.

The thing driving all this is that we have Analysts, Developers, Testers,
etc and we have phases Requirements, Analsys, Design, Build, Test, Implement
etc.

Now I am told that each team can/shall spend so much EFFORT per phase, i.e.
Analysis will require 400 hours of Analyst resource and 75 hours of Developer
resources etc, you can see the model I hope.

So I NEED to ensure that on task "Analysis" the Analysts spend 400 hours BUT
the Developers spend ONLY 75 but over the SAME duration, and I need this to
be done in such a way that I can arbitrarily adjust that 400 or 75 freely and
have Project automatically recalculate the % availability WHILST alway making
the Developers effort be expended over the same duration as the overal
activity.

If Project right now cannot model this real world scenario (in which effort
is the driving issue) then I argue that it be enhanced to allow it too,
asking me to manually adjust this % or that for every task/resource when the
effort chnages is unworkable.

It would also improve Project I think, if one could talk about the NUMBER of
resources rather than beiong forced to think in % all the time. I mean if I
have a team of 6 people, then why cant I simply say 6 ! and have the %
availability an additional value?

Project plans/schedules are at their most useful when the more closely match
how people really work, and this is my issue here.

Thanks
Hugh
 
H

Hugo gleaves

Yes Dave thats one way of looking at this.

I guess the most accurate way to describe what I want, is that I want an
effort driven resource to expend its effort over a fixed duration, but that
duration being some other task or overall task (which is why the parent task
comes in).

Why cant I say:

I want TaskA to have John spend 100 hours, Tony spend 50 hours and Sandra
spend 10 hours over the entire duration of the TaskA HOWEVER long that
duration turns out be, and even if I chnage any of those efforts or resources

Project cannot do this yet it is a real resoure allocation model, used here
(we are a very very big bank).

In doing this it would naturally and automatically calculate the %
availability (which should be termed "commitment" under these circumstances,
but I am being pedantic now).

I could then setup several such independent projects (each with same task
structure but varying effort levels for each resource per phase) and see at a
glance if such a scenario does or does not exceeed the overall resource
availability.

I admit I havent analysed this idea as thoroughly as is necessary to begin
enhancing Project but the idea seems sound because this is a real world
scenarion.

Thx
Hugh
 
S

Steve House

I've always been curious about why people adopt this sort of approach. A
task creates an exactly defined, finite, quantifiable deliverable. Until
that deliverable is complete, the task isn't done. And the task need use no
more work than the exact amount of effort it takes to complete the
deliverable. Doing 90% of the deliverable won't do and you can't use 110%
of the deliverable, you plan on 100%, no more and no less. So what happens
if you allow the resource to spend a maximum of 75 hours to do this task and
at the end of that 75 hours he hasn't created all of the required
deliverable - the task was to build 100 widgets and after 75 hours he's only
built 90 ... what do you do? Just stop and be happy with 90? Or consider
the opposite case - you have managed to build all 100 widgets in only 50
hours - do you have your resource sit around twiddling his thumbs for the
extra 25 hours? It seems like planning planning projects on the basis of
work allowances instead of the deliverables needed and the work required to
make them is an approach rife with problems and almost quarantees projects
will fall short of meeting all of their objectives. Just one viewpoint...
--
Steve House [Project MVP]
MS Project Trainer & Consultant
Visit http://www.mvps.org/project/faqs.htm for the FAQs



"Hugo (e-mail address removed)>" <hugh<underbar> wrote in message
....
 
D

Dave

I don't think I have understood the problem properly then.

If I create Task 1 one month and make Task 2 a hammock to it, then Task
2 extends to the same duration as Task 1.

I then assign Resource 1 at 100% to Task 1 and Resource 2 at 75h to Task
2 and the utilisation is 46 %.

If I then extend Task 1 to 2 months, the duration of Task 2 extends
accordingly and the utilisation drops to 23 %.

Similarly, if I make Task 1 0.5 months, then Task 2 and resource
utilisation is correctly reported (Task 1 is now showing 200% but this
is only an example.

From my understanding, that is what you wanted.

Dave
 
H

Hugo gleaves

Dave

What is a "hammock" task? I am using Proj 2000 here at work.

Also this sounds like it almost may solve my problem, however the task that
is "hammocked too" is fixed, in my world I want it to always be whichever
task has longest duration which can vary as effort is altered or resoiurces.

Thx
Hugh
 
H

Hugo gleaves

Hi Steve

I agree completely, in this case though I am not planning a project, i want
to provide a basis for determining whether it is or is not possible to
deliver a stream of overlapping projects.

Each project has same general structure, but they differ in terms of
estimated effort per phase and per skill.

Saying that developers will spend 75 hours effort over the duration of
analysis, means that that skill is expected to provide that many hours
"assistance" to the other resources.

These hours effort are estimated by others using estimation policies and
heuristics.

My need is to demonstrate if any given stream of projects will or will not
lead to an overallocation at any point in time, given the effort etc supplied
by others.

Hugh


Steve House said:
I've always been curious about why people adopt this sort of approach. A
task creates an exactly defined, finite, quantifiable deliverable. Until
that deliverable is complete, the task isn't done. And the task need use no
more work than the exact amount of effort it takes to complete the
deliverable. Doing 90% of the deliverable won't do and you can't use 110%
of the deliverable, you plan on 100%, no more and no less. So what happens
if you allow the resource to spend a maximum of 75 hours to do this task and
at the end of that 75 hours he hasn't created all of the required
deliverable - the task was to build 100 widgets and after 75 hours he's only
built 90 ... what do you do? Just stop and be happy with 90? Or consider
the opposite case - you have managed to build all 100 widgets in only 50
hours - do you have your resource sit around twiddling his thumbs for the
extra 25 hours? It seems like planning planning projects on the basis of
work allowances instead of the deliverables needed and the work required to
make them is an approach rife with problems and almost quarantees projects
will fall short of meeting all of their objectives. Just one viewpoint...
--
Steve House [Project MVP]
MS Project Trainer & Consultant
Visit http://www.mvps.org/project/faqs.htm for the FAQs



"Hugo (e-mail address removed)>" <hugh<underbar> wrote in message
....
It would be extremely useful to be able to say "This resource can spend
only
75 hours on this task" instead we are limited simply to % availability.
 
M

Mike Glen

Hi Hugh,

Welcome to this Microsoft Project newsgroup :)

Please see FAQ Item: 19. Hammock Tasks.

FAQs, companion products and other useful Project information can be seen at
this web address: http://project.mvps.org/faqs.htm

Hope this helps - please let us know how you get on :)

Mike Glen
Project MVP
 
H

Hugo gleaves

OK

This appeared promising at first but is not quite strong enough.

If I setup TaskA as being effort driven 100 hrs, single person resource its
duration becomes 12.5 days.

If I then setup TaskB and link its start and end dates to be those of TaskA,
then it does indeed "track" TaskA as I vary the effort assigned to TaskA
(TaskA's duration obviously is driven by it's effort).

However, if I then vary the effort for TaskB, then it "breaks" this hammock
linking, and the duration for TaskB is then wholly determined by the effort
and resources.

I was really hoping that this wd work and that varying the effort for TaskB
would force the duration to remain driven by taskA and see it automatically
recalculate the %availability for TaskB's resource (as it does when I vary
TaskA's duration)

This is close to what I need, but not quite close enough unfortunately
(although the efforts in my case rarely vary, being unable to vary them for
any task would be a serious limitation).

Thanks anyway for yout valuable insight and do let me know if I missed
something.

Hugh
 
D

Dave

What if you re-hammock it? You could even record a macro for this if
they are adjacent lines on the Gantt chart. As you say, you would need
to apply this rarely. You could get some VBA code which adjusts the
length of tasks in a group of selected tasks to match that of the longest.

In any case you now have a solution which works in all situations apart
from your rare ones.

Dave
 

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