How can I see which predecessor is driving a task

T

tigerfan

In instances where I have multiple predecessors for a task, I want to be able
to see which predessor is driving the task.
 
J

JackD

Not always.
There are a few cases where this is not true.
1) When there are more than one tasks with 0 free slack. Free slack is
dependent on successor tasks so if a task has two successors and one is
earlier than the task you are looking at, it may have 0 free slack, but
still have a gap between when it finishes and when the next task starts.

2) When you have linked project summary tasks. In this case, the task may be
driven by the start date of the summary task, yet there is no explicit
dependency to the task itself. This is one of the reasons that linking to
summary tasks is discouraged. This sort of dependency can be a little tricky
to debug.
 
D

davegb

JackD said:
Not always.
There are a few cases where this is not true.
1) When there are more than one tasks with 0 free slack. Free slack is
dependent on successor tasks so if a task has two successors and one is
earlier than the task you are looking at, it may have 0 free slack, but
still have a gap between when it finishes and when the next task starts.

I don't have Project here to play with this, so I'm picturing it in my
mind. (I also answered this rather quickly this morning, and remember
thinking, "Are you sure...." as I entered it.)
I think you're describing a scenario with negative slack, in which case
you'd be correct. Since I always correct negative slack conditions, I
wasn't thinking of that situation.
2) When you have linked project summary tasks. In this case, the task may be
driven by the start date of the summary task, yet there is no explicit
dependency to the task itself. This is one of the reasons that linking to
summary tasks is discouraged. This sort of dependency can be a little tricky
to debug.

Anyone who has had any training knows better than to link summary tasks
EVER! I admit, we don't know the skill level of the OP, so it's worth
mentioning. I assumed (always a mistake) that the OP would know better.
 
J

JackD

davegb said:
I don't have Project here to play with this, so I'm picturing it in my
mind. (I also answered this rather quickly this morning, and remember
thinking, "Are you sure...." as I entered it.)
I think you're describing a scenario with negative slack, in which case
you'd be correct. Since I always correct negative slack conditions, I
wasn't thinking of that situation.

Dave, no negative slack required.
Task X has tasks A and B as predecessors.
Task A is on Monday and has two successors X and Y. Task Y starts Tuesday.
Task B is on Thursday. Task X is on Friday.

Task A has zero free slack. Task A does not "drive" Task X.
Anyone who has had any training knows better than to link summary tasks
EVER! I admit, we don't know the skill level of the OP, so it's worth
mentioning. I assumed (always a mistake) that the OP would know better.

I never say never and I always refrain from saying always. This stuff is
allowed by project and thus it happens. Sometimes by good people. Sometimes
on purpose. It is unwise to assume that everyone follows whatever rules you
happen to favor. This means that absolutes may be poor advice or at least
inaccurate.

-Jack
 
D

Dean

Try the macro below. It works with consolidated schedules and external
predecessors. It resets Flag1 to "No" for all tasks in the schedule then sets
Flag1 to "Yes" for all tasks on the critical path to the selected task.

Sub CriticalPathToSelection()
' Macro CriticalPathToSelection
' Macro Recorded 07/15/05 by Dean Carroll.
Dim OriginalDeadline, OriginalTask, newdeadline, NewTotalSlack
EnableCancelKey = pjInterrupt
If ActiveSelection = Empty Then MsgBox ("You must select a task before
running this macro."): GoTo done
If ActiveSelection.Tasks.count > 1 Then MsgBox ("You must select exactly one
task to run this macro."): GoTo done
OriginalDeadline = ActiveSelection.Tasks(1).Deadline
OriginalTask = ActiveSelection.Tasks(1).UniqueID
newdeadline = ActiveSelection.Tasks(1).Finish - 3000
SetTaskField Field:="Deadline", Value:=newdeadline, AllSelectedTasks:=True
NewTotalSlack = ActiveSelection.Tasks(1).TotalSlack / 480
ViewApply Name:="Gantt Chart" 'This is needed for SelectSheet to work if
you were originally in the Network Diagram view
SelectSheet
SetTaskField Field:="Flag1", Value:="No", AllSelectedTasks:=True
FilterEdit Name:="Total Slack Equals", TaskFilter:=True, Create:=True,
OverwriteExisting:=True, FieldName:="Total Slack", test:="equals",
Value:=NewTotalSlack, ShowInMenu:=False, ShowSummaryTasks:="NO"
FilterApply Name:="Total Slack Equals"
Application.sort Key1:="Finish", Ascending1:=True, Key2:="Start",
Ascending2:=True, Renumber:=False, Outline:=False
SelectSheet
SetTaskField Field:="Flag1", Value:="Yes", AllSelectedTasks:=True
Find Field:="Unique ID", test:="equals", Value:=OriginalTask,
Next:=True, MatchCase:=False
SetTaskField Field:="Deadline", Value:=OriginalDeadline,
AllSelectedTasks:=True
SelectBeginning
GotoTaskDates
done:
End Sub
 
D

davegb

JackD said:
Dave, no negative slack required.
Task X has tasks A and B as predecessors.
Task A is on Monday and has two successors X and Y. Task Y starts Tuesday.
Task B is on Thursday. Task X is on Friday.

Task A has zero free slack. Task A does not "drive" Task X.

You're right. Like I said I was still half asleep and hasty in my
reply.
I never say never and I always refrain from saying always. This stuff is
allowed by project and thus it happens. Sometimes by good people. Sometimes
on purpose. It is unwise to assume that everyone follows whatever rules you
happen to favor. This means that absolutes may be poor advice or at least
inaccurate.

-Jack

Thanks for telling me I should favor the rules you favor instead of the
rules I favor. Frankly, I don't favor this! :)
You're missing an important point, Jack. It's called Critical Path
METHOD, keyword here, METHOD. When you use a methodology, you don't do
it your way and I do it mine, particularly if either of our ways gives
false results. Not linking summary tasks is not an opinion, though many
people think it is. Those of us who know it doesn't work are probably
being overly polite to those who don't fully understand CPM. So I'll
say it straight up here, DON'T EVER LINK SUMMARY TASKS! See, I say
never sometimes, and I mean it.
Of course, you can link summary tasks in Project. You seem to think
that since it can be done, we should allow for it. I disagree. Not when
it screws up getting a meaningful critical path, which, sooner or later
it does. I can get circular references in Project, but I don't advise
people to do it.
I try to be flexible about rules in most instances. But when flexible
means getting misleading results, it's time to get inflexible.
One of the nice things about this NG is that most of the time, when we
see things differently, we just agree to disagree. However, when
someone starts telling someone else how to post, they're overstepping
their bounds. How about we just agree to disagree, and I'll post what I
believe is in the best interests of the OP, and you do the same?
 
J

JackD

davegb said:
Thanks for telling me I should favor the rules you favor instead of the
rules I favor. Frankly, I don't favor this! :)

That certainly wasn't my intention.
You're missing an important point, Jack. It's called Critical Path
METHOD, keyword here, METHOD. When you use a methodology, you don't do
it your way and I do it mine, particularly if either of our ways gives
false results.

Is it the method or problems with the tool that give false results?
Not linking summary tasks is not an opinion, though many
people think it is. Those of us who know it doesn't work are probably
being overly polite to those who don't fully understand CPM. So I'll
say it straight up here, DON'T EVER LINK SUMMARY TASKS! See, I say
never sometimes, and I mean it.

Is the use of Project limited to those who practice CPM? I know some people
think it should be, the fact is that it isn't. Project is perfectly happy to
let you drag and drop your tasks all over the place with no care of how they
relate to one another. I THINK this is by design rather than by accident.
Of course, you can link summary tasks in Project. You seem to think
that since it can be done, we should allow for it. I disagree.
OK.

Not when
it screws up getting a meaningful critical path, which, sooner or later
it does. I can get circular references in Project, but I don't advise
people to do it.
I try to be flexible about rules in most instances. But when flexible
means getting misleading results, it's time to get inflexible.

Some people actually have schedules which are non-deterministic in which
task to task dependencies are counter-productive.
One of the nice things about this NG is that most of the time, when we
see things differently, we just agree to disagree. However, when
someone starts telling someone else how to post, they're overstepping
their bounds.

If it came across as me telling you how to post, then I apolgize.
That truly was not my intention. I thought that the tone of my post was
humorous...
How about we just agree to disagree, and I'll post what I
believe is in the best interests of the OP, and you do the same?

Certainly. Take a look at what I wrote you and you can see that I was not
advocating the linking of summary tasks but was discouraging the use of them
and giving a reason why.

"There are a few cases where this is not true.
....
2) When you have linked project summary tasks. In this case, the task may be
driven by the start date of the summary task, yet there is no explicit
dependency to the task itself. This is one of the reasons that linking to
summary tasks is discouraged. This sort of dependency can be a little tricky
to debug."
 
D

davegb

JackD said:
That certainly wasn't my intention.


Is it the method or problems with the tool that give false results?

Properly applied, the method gives good results. Improperly applied,
say by linking summary tasks, you get false results. A tool that allows
such practices is flawed.
Is the use of Project limited to those who practice CPM? I know some people
think it should be, the fact is that it isn't. Project is perfectly happy to
let you drag and drop your tasks all over the place with no care of how they
relate to one another. I THINK this is by design rather than by accident.

Of course there are those who are not doing CPM with Project. Probably
the vast majority. This poster was talking predecessors and successors
and such, so I treated him as though he is using, or attempting to use,
CPM.
If you look at many of my past posts, I respong to posters not using
CPM in a very different way. Sometimes, I even encourage them not to do
CPM, when I feel they don't have the resources or the committment it
takes to implement it. All my posts in this thread were with CPM in
mind, and apply only to someone using it.
Some people actually have schedules which are non-deterministic in which
task to task dependencies are counter-productive.

And in such cases, my reccommendations are quite different.
If it came across as me telling you how to post, then I apolgize.
That truly was not my intention. I thought that the tone of my post was
humorous...

Thanks. I guess your humor is a little too subtle for me. (I've never
in my life been accused of being subtle.) That's why, when I posted my
previous reply, I started with the word game and a smiley face. Wanted
to avoid a potential flame-war. Still, I wanted to make my points.
Certainly. Take a look at what I wrote you and you can see that I was not
advocating the linking of summary tasks but was discouraging the use of them
and giving a reason why.

"There are a few cases where this is not true.
...
2) When you have linked project summary tasks. In this case, the task may be
driven by the start date of the summary task, yet there is no explicit
dependency to the task itself. This is one of the reasons that linking to
summary tasks is discouraged. This sort of dependency can be a little tricky
to debug."

I understand, and understood, what you were doing. I believed pretty
much the same things you said here, but many years ago. I learned my
CPM pre-software, and linking summary tasks wasn't an issue. On a
hand-drawn Network Diagram (PERT Chart, back then), there were no
summary tasks to link. Then, in '84, software came along. At first, it
wasn't a problem, because the original software packages, at least the
ones I saw, and I saw most of them, were designed by professional
schedulers, and they followed the established rules for CPM scheduling.
No linking summary tasks, embedded Start and Finish milestones that
couldn't be deleted, things like that. Good scheduling practices.
Later in the game, MS came along. I don't remember much about the DOS
version of Project, even though I taught a class in it. But I clearly
remember Project for Windows. I was horrified! It was so bad as to be
unuseable to do any serious scheduling. I taught it because there was
more of a market for it than all the others combined, but I didn't
trust it and wouldn't have used it to schedule a trip to the grocery
store. (Later, when I learned more about the genisis of Project for
Windows, I understood why it was so poorly designed.)
At first, I was pretty adament about not linking summary tasks. But as
time passed, and others disagreed with me, I softened, feeling that I
might be being too rigid. But after a few bad experiences, I realized
that if you intend to use Project's advanced features, like resource
leveling, EV, tracking, you pretty much have to have a viable CPM
schedule. And I went back to teaching those who wanted meaningful
schedules, what I consider the correct way. I've come full circle on
this.
There are other regular contributors who espouse linking summary tasks
in this NG. Most do not. I believe that the ones who do just haven't
worked with the software and CPM long enough to have observed the
problems that usually result. Sometimes the problems do not occur
because the user doesn't ever get to where it's an issue. They luck
out. But I won't lead users down such a path. But I allow that others
have the right to see it differently and to pass their views to the
posters, along with mine.
 
T

Trevor Rabey

I think "never!" is a bit extreme.
Sure, Links between Summaries and to/from Summaries and Tasks can cause
problems in identifying Critical Paths.
And also, Summaries aren't really Tasks at all so really such a thing as
Predecessor Links between them isn't even really defined.
And also, a Predecessor Link (just thinking FS0 for now) to a Summary is
really a link to the Earliest starting Task under that Summary.
But linking Summaries can be v useful during initial plan development when
its rough and you need a quick idea of overall duration and you haven't yet
created the Tasks that should have the links instead of the Summary, as long
as you plan to go through and correct them all, link Tasks instead.
 
T

Trevor Rabey

:) You're my kind of guy, Dave. I have often thought I was too pedantic and
irritating and that I should tone down the zeal a bit in order to get along
better with other people who don't share my own rather purist approach of
treating CPM as a kind of sacrament, not to be defiled.
But no, they can just get irritated. It is a method and should not be
compromised.
I can always be reassured, though, that there are bigger zealots than me
prowling around in here.

Let's see. MSP is a flawed tool because it purports to be about CPM but
allows usage which is definitely not pure CPM? Tricky.
Use of non-CPM "features" should be designed out, or at least strongly
discouraged? Maybe.
Some things are not a matter of personal taste but are just plain right or
wrong? I buy that.
What non CPM stuff should be designed out? Links to summaries, schedule from
finish date, FF, SS, SF, neg lag?
MSP has Resource Leveling. That's a good thing too but it makes the CP
disappear.
What about the stuff that's in MSP, which must be assumed to be there by
design, but which has no real use, is just junk (progress lines).
What about the stuff which should be there by design, and so easily could
be, such as longest path, driving predecessor, zero free/total float
constraint)
 

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