Resource vs. Task Dependency

J

jhn

Can MS-Project differentiate between a resource and a task dependency? In
MS-Project there is only 1 type of dependency but it would be nice to know if
that dependency is resource or task dependent--it would allow the easy update
of adding resources to crash the schedule and knowing which dependencies can
be redirected.

This comes as a result of a posted question on 1/28/2005. JackD has
requested this before as well from reading his response with no action by
Microsoft. There is a claim that this can be done (although not visually
with a link) by Steve House [MVP]--I have used the leveling engine before and
it only seems to work on simple classroom exercise-type projects. I like my
(and JackD's) solution better because management (who you ultimately have as
a sponsor) can quickly look down the column and determine which dependencies
are real and which are resource based rather than switching between resources
in the resource view.
 
S

Steve House [MVP]

A resource can't be two places at once and so out of a pair of tasks that he
must do, one must follow the other. But *what* sequence? A link, to me,
indicates that there is a certain preferred order in the sequence. Project
can currently handle mandatory links driven by the nature of the process
itself just fine. But the order of sequencing required by resource
availability is essentially arbitrary. Staggering concurrent tasks to
resolve resource overloading is precisely what leveling does. Why would
adding another type of link to accomplish the same end result be beneficial?
What would a "resource dependency" link give you that leveling, controlled
by leveling priority settings, does not?
 
J

JackD

If the links between tasks had some intelligence, rather than just two end
points, type and lag, then there are a number of things which could be done.
First and most obvious you could tell immediately if your project was task
or resource limited. It would be trivial to have project calculate two times
based on task vs. resource dependencies and tell you what the difference
was. Second, you could pinpoint areas where adding/substituting resources
would affect the critical path.

The key to this is having links which have multiple properties so that they
can be switched on or off, can be filtered and displayed by type, etc.

Wouldn't it be nice to have leveling improved by this sort of thing? I think
I posted about a year ago about some other types of task dependencies which
would improve project. Critical path scheduling got it's big break from the
growth of cheap computing power (which made it possible to calculate
networks which were too complicated to do by hand). With the exception of
leveling (which is many years old) Project has not taken advantage of the
GHz which are now available. Microsoft has stuck with a scheduling model
which is decades old. There really is room for innovation. Working on new
types of dependencies is one area for improvement.
 
J

Jan De Messemaeker

Hi,

A customer of mine has been using leveling on 3000+ assignments from 80
projects, and it works perfectly.
What you have to avoid is to level manually in part (such as cutting people
in piecs by assigning percentages) and having Project do the rest.
HTH
 
S

Steve House [MVP]

Maybe I'm just thick, but I'm still trying to grasp the advantage of a
resource "dependency" the functions like a task dependency does. A task
dependency is straight forward - we can't put on the rafters until the wall
are in place to support them, dictated by the law of gravity not allowing
one to park the rafters in free space and then stuff the walls in underneath
them later. The predecessor task is thus controlling the time of the
sucessor based on the dictates of the actual nature of the process itself.
But a resource dependency is saying the that order and timing of the
sequence is determined by the availability of the required resource and it's
the first of those two factors that I'm having trouble with. Yes, Jack
Craftsman can only work on one of either polishing fids or carving widgets
at any given moment and he's the only resource capable of doing either task.
Obviously they must be sequenced but the kicker in my mind is WHAT sequence?
If the order of the sequence isn't arbitrary - the widgets are components of
the fids and a fid can't be polished until its widget is fitted in place -
then a task dependency is appropriate for sequencing them. If it is
arbitrary - the tasks are completely independent of each other in terms of
process logic - then leveling coupled with leveling priorities will
accomplish the sequencing. I don't see the advantage of adding another
dependency type that duplicates that functionality graphically.

You say one would be able to see timelines driven by task dependencies
versus on driven by resource dependencies but I don't see how it could be
possible that they are different. For a task to take place both task
dependencies and resource availability must be considered. All of the
physical requirements for the work on the task must be in place and the
resources who will do the work must also be present - switch off considering
either one in the scheduling and the resulting timing of the task is bogus.
A task dependency is driven by the physical nature of the process that
creates the project's deliverables, It can never be switched off or ignored
and still be able to sucessfully complete the project - the rafters will
fall to the ground if we lift them in place before the supporting walls are
three no matter how badly I, the Project Managee, might like it to be
otherwise and no matter how much money it would save us if we only could
pull it off. A project plan that switches off that link and creates a
timeline assuming it could be ignored is just simply wrong and I don't see
any use for it. As for seeing timelines when resource dependencies are
taken into account - isn't that exactly what you get when you view the
pre-leveled schedule versus the post-leveled schedule? In fact, the
Leveling Gantt view gives you both on same chart with the pre-leveled and
post-leveled schedules distinctly colour coded.
--
Steve House [MVP]
MS Project Trainer & Consultant
Visit http://www.mvps.org/project/faqs.htm for the FAQs
 
S

Steve House [MVP]

LOL - we actually don't disagree all that often. Most of the time we're
heading to the same solution. just coming from different directions is all.


--
Steve House [MVP]
MS Project Trainer & Consultant
Visit http://www.mvps.org/project/faqs.htm for the FAQs
 
J

JackD

Steve House said:
Maybe I'm just thick, but I'm still trying to grasp the advantage of a
resource "dependency" the functions like a task dependency does.

The point is that it doesn't need to function like a task dependency.
You need to understand that first. If it is the same then it is the same and
there is no need for discussion.
Feel free to ask questions if you need more clarification before dismissing
things.
A task
dependency is straight forward - we can't put on the rafters until the wall
are in place to support them, dictated by the law of gravity not allowing
one to park the rafters in free space and then stuff the walls in underneath
them later. The predecessor task is thus controlling the time of the
sucessor based on the dictates of the actual nature of the process itself.
But a resource dependency is saying the that order and timing of the
sequence is determined by the availability of the required resource and it's
the first of those two factors that I'm having trouble with. Yes, Jack
Craftsman can only work on one of either polishing fids or carving widgets
at any given moment and he's the only resource capable of doing either task.
Obviously they must be sequenced but the kicker in my mind is WHAT sequence?
If the order of the sequence isn't arbitrary - the widgets are components of
the fids and a fid can't be polished until its widget is fitted in place -
then a task dependency is appropriate for sequencing them. If it is
arbitrary - the tasks are completely independent of each other in terms of
process logic - then leveling coupled with leveling priorities will
accomplish the sequencing. I don't see the advantage of adding another
dependency type that duplicates that functionality graphically.

If it does not duplicate then perhaps there is an advantage.
You say one would be able to see timelines driven by task dependencies
versus on driven by resource dependencies but I don't see how it could be
possible that they are different.

Why not? Do you really believe that all task dependencies are absolute and
perfectly represent the relationship between tasks? I don't. I believe some
dependencies have a bit of spring in them and can tolerate some amount of
compression before the delay occurs. I also believe that some dependencies
are conditional think that it would be nice if Project could help me analyze
the conditions. External dependencies are another area which could be
improved.

This is the key point. The existing dependencies are inadequate and
primitive. Computers are capable of things like finite element analysis to
determine the effects of a building under different loads. This was a huge
step forward from using free-body diagrams. Not that free-body diagrams are
bad and should be done away with, but if they can be improved so that we
have better modeling tools, why not take advantage of the improvements.
Project is stuck in a 2D world of nodes and lines when it could have a third
dimension.
For a task to take place both task
dependencies and resource availability must be considered. All of the
physical requirements for the work on the task must be in place and the
resources who will do the work must also be present - switch off considering
either one in the scheduling and the resulting timing of the task is bogus.
A task dependency is driven by the physical nature of the process that
creates the project's deliverables,

Some process are not physical. In fact, where I work now we have thousands
of people working full time without touching anything but keyboards.
It can never be switched off or ignored
and still be able to sucessfully complete the project - the rafters will
fall to the ground if we lift them in place before the supporting walls are
three no matter how badly I, the Project Managee, might like it to be
otherwise and no matter how much money it would save us if we only could
pull it off.

Ah, but this can be done. I've seen buildings with the foundation being put
in under the finished structure. Working out of sequence is common in the
construction world. People hate to do it, but it happens all the time.
A project plan that switches off that link and creates a
timeline assuming it could be ignored is just simply wrong and I don't see
any use for it.

Don't put words in my mouth.
As for seeing timelines when resource dependencies are
taken into account - isn't that exactly what you get when you view the
pre-leveled schedule versus the post-leveled schedule?

Sure, but I think this is a better way to do it.
 
M

Michael Balda

I also have approx 80 resources to complete all 13000 tasks, my resources are
grouped and defined by skil sets if that matters to anyone.
 
M

Michael Balda

Here is my problem. I have a project with approx. 13000 different tasks. i
have the project set up with the necessary dependencies to do the tasks. I
have a variety of tasks that can start at the same time, I assign resources
to all 13000 tasks. Before you level, you are supose to try eliminating
overallocating resources as you assign resources to tasks, to make this
process work before leveling you add more depencies to tasks to make the
resources leveled, thus introducing false depencies or false resource
depencies to get resources sorta leveled before you leveled. There is no
easy way to see what false resource dependencies you created by assigning
resources and before you try leveling them. Thus is this where wanting to
have a task vs resource depency is coming from as I am having similiar
thoughts, we need both types of depencies because in my case as when
resources change come or go, add more people, remove add tasks, you have NO
clue what your original depencies were to start with and with 13000 tasks it
is a nightmare.. By adding false resource depencies to regular task
depencies before you level can cause problems, like I have. Any comments or
suggestions would be appreciated..
 
J

Jan De Messemaeker

Hi,

DON't introduce these phony dependencies before leveling - it is leveling
that does the sequencing of the tasks, why would you do it and then ask
project to do it again?
HTH
 
M

Michael Balda

Project books and project tell you that when you schedule resources you are
to avoid overallocating people when you assign them to do tasks, thus as I
assign people I create resource links/predecessors to avoid conflicts the
best I could and it is a daunting task. I also tried assigning resources
without creating resource dependencies and then leveled, leveling gave me a
longer project duration by many months and did not pack my resources work
loads very well at all, there were many week gaps in tasks for people and
with 80 people on a project, I can not afford to pay people to wait for tasks
to do and can not afford to add months of un-necessary durations to a project
either... If you have any solutions, I will happily listen and try your
advice. My project budgets with 80 people working just for a 30 day period
is outrageously expensive so finding a way to get things done better I am all
ears.
 
J

Jan De Messemaeker

Hi Michael,

First advice: only use assignment units equal to the resource's max units.
Second: give Project all the freedom it can get
No phony links
allow to split tasks

You will get a very decent schedule
In other words, don't try to do half of the leveling yourself (by using x%
assignments or introducing unnecessary links) but let leveling have its way:
then it works at its best.

Greetings,
 
M

Michael Balda

Thanks for the advice Jan.

I do not understand what you First advice comment means. Could you please
explain a little more? All 80 of my resources have skill sets, I use a text
column on Project that describes the skill set needed to complete the tasks,
from that column I assign a name/resource to do the the task. All my
resources are 100% efficient. I do not understand what "only use assignment
units equal to the resource's max units." means.

I have no problem aloowing project to split tasks, I assume that is a
default setting that I do not have to check to allow that to occur. In the
past I rarely used leveling because it always gave me unfavorable results. I
am happy to try using it again and will try your advice.

THANKS for your help Jan.
Michael
 
J

Jan De Messemaeker

Hi Michael,

What I mean is the following.
Suppose Resource A with 100% max. units
Then avoid assigning it say 60% to one task, 80% to an other one, 25 to a
third one, etc: leveling interprets these in a way that causes the resulting
schedule to be longer than expected.
In this case, only use 100% as assignment units dor that resoruce.
For instance, the combined duration of a 60% task and a 50% task, each with
10 days duration is not 11 days but 20 days after leveling.
Such deviation can also come about when you use a task type other that Fixed
Units f.i. changing work on a fixed duration task.
Assigning resources with assignment units Higher than their max units may
rsult in very bad results.

Do not assign resource to summary tasks as this may cause gigantic shifts.

Does this help?
 
M

Michael Balda

Jan. All my resources are at 100%. The only time I assign resources to be
more then 100% is when I have a generic resources that is the entire
department and I assign all of them at once to work on degugging fixing
items... I also never assign resources to summary tasks except for the very
first step of a project called start of project.. I am following all your
suggestions and when I level the project, it will not level the entire
project because it is too large I assume, I can make it work by doing it in
chunks, then after evaluating the results, by scheduling resource
dependencies - which I am not to do, I can creat a tighter schedule for every
person, then that causes many problems when things change......

Do you know if the Substitute resources only works with Project Server? I
just read about that function, all my tasks when the project was put together
was based off generic skill sets assigned to each task and it looks like the
Substitute resources will assign resources to every task using my skill sets
that are already defined if I can turn the function on somehow...
 

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