Website Upgrade Incoming - we're working on a new look (and speed!) standby while we finalise the project

Tips on using this forum..

(1) Explain your problem, don't simply post "This isn't working". What were you doing when you faced the problem? What have you tried to resolve - did you look for a solution using "Search" ? Has it happened just once or several times?

(2) It's also good to get feedback when a solution is found, return to the original post to explain how it was resolved so that more people can also use the results.

Critical Path and Negative Float

17 replies [Last post]
Swamy Yeleswarapu
User offline. Last seen 17 years 47 weeks ago. Offline
Joined: 27 Sep 2006
Posts: 6
Groups: None
I am having a problem with Suretrak calculating the negative float. My longest path does not have the same negative float. When the activity spans a period where there are more holidays (Christmas etc) rather than just weekends, the negative float takes holidays into account, which I believe should not be the case. A continuouse path should have the same negative float.

Is there any setting in Suretrak which makes this result. This schedule has the same result on all the laptops within my company, however, when I ran this on my friends laptop (different copy of Suretrak), the results were not the same!

Any clues? Need Help, please.

Replies

Tom Boyle
User offline. Last seen 11 weeks 12 hours ago. Offline
Joined: 28 Nov 2006
Posts: 304
Groups: None

I'm resurrecting this old thread only in case some of the interested parties in the discussion on Longest Path and DRAG still subscribe to it.  After 8.5 years, there is an Add-In that computes and displays both terms for Microsoft Project.

http://www.planningplanet.com/forums/microsoft-project/578224/logic-trac...

Stephen Devaux
User offline. Last seen 2 weeks 20 hours ago. Offline
Joined: 23 Mar 2005
Posts: 668
First, I want to say that, if DRAG is being judged as not relating to relationships, it’s because I haven’t adequately explained it. DRAG is about anything that delays the critical path: activities, relationships, lags, resource bottlenecks, or even just delayed baton-passing. If it has a time impact and is on the CP (or longest path, if you will), then it has DRAG.

Also, I’d like to point out a key difference between float/slack and DRAG. DRAG is always on the CP; float/slack is always off the CP. Thus DRAG delays the end of the project and therefore can result in huge loss of project value, as well as increases in "marching army" overhead costs. Conversely, float is a measure *of the amount of time before an activity (relationship, etc.)becomes critical*! Thus, by definition, DRAG (in planning, but also in ABCP delay analysis) is more *critical* (in the sense of critical = important) than float.

For anyone interested, the fifth article in the TPC series, "DRAG Racing on the Critical Path," is now up at:

http://www.projectsatwork.com/content/articles/234282.cfm

If you read it, please check out the discussion at the end -- I think MikeG’s criticisms/comments help with understanding the concept.
Tom Boyle
User offline. Last seen 11 weeks 12 hours ago. Offline
Joined: 28 Nov 2006
Posts: 304
Groups: None
1. To address Swamy’s original post, the symptoms he describes are consistent with the issues of multiple calendars on the longest path - I agree with Andy.

2. I have enjoyed following the discussion between Ronald and Stephen and have also read their referred papers. I think they both raise valid issues which are not contradictory at all, though I’m still struggling to reconcile the detailed implementation of L-P/Slack and DRAG concepts in a simple schedule. A few notes:

- To reconcile relationship slack and activity free float, (the way I read Ronald’s paper), they are identical for activities with only one successor relationship. Otherwise, the activity’s free float is equal to the lowest slack of all the successor relationships. (Note successor not predecessor).

- DRAG is clearly activity-centric. It must be because this is where the resources, costs, and deliverables for the project reside - in the activities. The DRAG concept seems most valuable in assessing cost/scope/time trade-offs of activities that are already known to be on the CP.

- The LP approach seems more suited to my typical projects - complex with multiple near-critical parallel paths. As one who - rightly or wrongly - typically manages by float control, I tend to focus on float paths. Unfortunately, they can become difficult to follow (and almost impossible to present to others) as multiple calendars, hammocks/summaries, and intermediate constraints are introduced. (Multiply problem by 100 if one is obliged to use MSP rather than P3). The LP examples Ronald presents seem to offer an excellent way to overcome these difficulties and clarify the actual logic that is driving the project completion schedule.

I look forward to revisiting both of these concepts to see how they can be implemented "real-world".
Alex Wong
User offline. Last seen 11 years 35 weeks ago. Offline
Joined: 12 Feb 2003
Posts: 874
Groups: TILOS
Dear All

This become a very good topic where relationship, activity, slack, float, critical path is discussed in detail.

I guess my view is when I study a schedule I normally look at both the longest path as well as the least total float activity. Doesnt matter you call it critical, one way or the other. At the same time it is very hard in real schedule that dont have any constraint or interrelationship milestone. Thats why critical path is not necessary the longest path, but dont discard the value of study the longest path, becasue it is another key information to the project schedule

Alex
Ronald Winter
User offline. Last seen 3 years 37 weeks ago. Offline
Joined: 4 Jan 2003
Posts: 928
Groups: None
Stephen

In the concept of Longest Path Values, ACTIVITIES do not have Slack. RELATIONSHIPS have slack. You (and the rest of the world) need to stop being so activity-centric and start thinking of a CPM as a network; that means activities AND reslationships.

Yes, "each activity would have its own Free Float value." Each relationship has their own Slack value. An activity with 12 predecessor relationships would have one Free Float value and 12 different predecessor Slack values. One number cannot represent 12 different numbers.

I hope that this helps.
Stephen Devaux
User offline. Last seen 2 weeks 20 hours ago. Offline
Joined: 23 Mar 2005
Posts: 668
"By definition, an activity can only have one free float value. In the special case where that activity only has one predecessor, then Slack will equal the Free Float. Activities can have more than one predecessor and in these cases, each predecessor relationship will have its own Slack value. Free Float does not lend itself to incorporation into larger concepts."

Wouldn’t each activity also "have its own" Free Float value? Maybe I still don’t understand the idea of slack -- can you demonstrate/draw a network in which an activity’s Slack and free float would be different?

"Slack is the key to turning the binary process of following the driving relationship to determine what activities are on the longest path into computing the Longest Path Value for every activity in the schedule. The fact that this property of a relationship is sometimes equal to the free float of the successor activity is irrelevant."

Actually, the "driving relationship" is also denoted by the DRAG computation. Except that DRAG contiues the process by measuring how much time is being added by the activities, lags and constraints with "driving relationships" (for me, "on the critical path").
Stephen Devaux
User offline. Last seen 2 weeks 20 hours ago. Offline
Joined: 23 Mar 2005
Posts: 668
Some more responses to Ron’s posts:

"When SS and FF relationships are used, the value of total float for an activity will often vary depending whether you measure total float using start dates or finish dates (both equally valid rules.)"

Absolutely. The late finish date of an activity can also vary depending on if you use a normal backward pass algorithm or the alternative algorithm of the "slip option" that the old Project/2 mainframe package used to offer. Ultimately, the scheduler just has to understand what the difference, if any, is between what the software is saying and what the reality is. The same holds true for hammocks and interuptible tasks. The software is a blunt instrument -- a planner who doesn’t know how it’s arriving at its answers is doomed.

"In short, there are so many instances in the ‘real world’ where critical path does not equal the longest path that one must conclude that they are related but different."

I would rephrase that -- there are many instances where what *the software* designates as "the critical path" is not the longest path. from your article, we absolutely agree about the importance of the Longest Path. It’s so important that I resist allowing PM software designers to corrupt the meaning of "critical path" to whatever they or their users decide to designate thusly.

Finally, I should explain one more thing: when I use the term "citical path", I mean the longest path not just of activity durations, but also including delays in handoffs, resource bottleneck resolution, date-based constraints, network lags and any other delays that push out the conclusion of the project. All of these items not only *can* have DRAG, they WILL have DRAG if no one is measuring that DRAG and its corollary, DRAG Cost.
Stephen Devaux
User offline. Last seen 2 weeks 20 hours ago. Offline
Joined: 23 Mar 2005
Posts: 668
Wow, this is developing to be a fascinating discussion! Let me start by saying that I think that much of what we are discussing is a semantic difference. In response to Alex, I basically agree with mktse -- in theory, a project has one critical path at any given moment (omitting the issue of equally long parallel paths), and it’s what Ron is calling the Longest Path. Now, in performing projects on contract, contractual issues can change the way we both focus on and do the work -- but that is just one of the many project distortions that can be caused by a contract. PM software packages allow us to "distort" the schedule (and the meaning of critical path) to match the contractual distortion. But here’s where you and I completely agree, Ron: it is crucial to sill identify and be able to focus on the Longest Path (whether one chooses to call it the critical path or not).

As Ron says, a contract sometimes forces project managers to manage to "mid-term milestones." But he adds: "To model the contract properly, then constraints must be used. This practically guarantees that total float will be unrelated to the longest path." I would argue that one has to be very careful in using date-based constraints -- on the working schedule!

To explain, in performing a contract project, one is always working with at least two schedules -- commitments and actual. The commitments are the baseline schedule, which typically includes schedule reserve (visibly or invisibly!) and the earned value baseline, and against which progress is "taken". Date-based constraints on the baseline schedule are fine.

But since projects never go exactly as expected, there is always another up-to-date schedule reflecting the changes as they occur. Hopefully, this schedule is "earlier" than the baseline schedule (the difference between them being the schedule reserve). But if we don’t keep that working schedule, then we’ll still have a working schedule which is different from the baseline, except the project will have slipped and our working schedule will be later than the baseline! (This, of course, is where so many projects are!)

I am opposed to using date-based constraints on the working schedule because such constraints deprive the project of flexibility and restrict the ability to conduct full-scale schedule analysis and what-ifs. When there is constraint in place, the impact of altering durations and/or logic is likely to be distorted. (If it’s not, it means the constraint is having no effect anyway!)

Let us suppose that 6 months into a three-year project, there is a requirement for a contractual subdeliverable. The fact is that this subdeliverable is really a little internal project, with a logical fragnet of ancestors leading to its completion. Let us further presume that this subdeliverable is NOT on the longest path, and so started with total float of 20D. This is pretty simple, and there is no reason for a NET constraint, because the subdeliverable and most (if not all) of its ancestors will have float.

But now let’s make it more complex -- because of slippage, (or, in a specific case on which I consulted, because the customer decided he had to have the deliverable thirty days earlier!), the total float on this subdeliverable and all of its ancestors suddenly went from 20D to minus 10D. A separate file of the subdelivery and its ancestors should be created, with no date-based constraints, and analyzed in order to pull in the schedule. There is no need here for constraints, as the longest path *to that subdeliverable* is the critical path of this subproject. (NOTE: And this, by the way, is one of the places where knowing the activity DRAG on the critical path is extremely useful.)
Ronald Winter
User offline. Last seen 3 years 37 weeks ago. Offline
Joined: 4 Jan 2003
Posts: 928
Groups: None
Finally, out of sequence progress is only confusing if you try to separate the completed activities from the uncompleted ones when computing the CPM. Logic and duration still prevail and the network still holds true.

We had to recompute the CPM when computing the Longest Path Value because Primavera hid their work day numbers for completed activities. I personally complained about this to the head of the company and, these numbers mysteriously appeared in the P5 release. (Man, was I surprised!) They will remain hidden in P3 as no upgrades will ever be made.

Hope that this helps.
Ronald Winter
User offline. Last seen 3 years 37 weeks ago. Offline
Joined: 4 Jan 2003
Posts: 928
Groups: None
I get asked a lot about the question, “Is Longest Path Slack is equal to free float?” Just because they are often the same number, this does not mean that they are even related. Free Float and Total Float are always the same number on the critical path, but this special condition does not mean that they are the same concept.

By definition, an activity can only have one free float value. In the special case where that activity only has one predecessor, then Slack will equal the Free Float. Activities can have more than one predecessor and in these cases, each predecessor relationship will have its own Slack value. Free Float does not lend itself to incorporation into larger concepts.

Slack is the key to turning the binary process of following the driving relationship to determine what activities are on the longest path into computing the Longest Path Value for every activity in the schedule. The fact that this property of a relationship is sometimes equal to the free float of the successor activity is irrelevant.

I have read the little that you have published on the net about Drag. Drag is an interesting concept. So is Scott Hearold’s Multiple Critical Paths concept (that was purchased and implemented by Primavera in their P5 product.) Drag doesn’t appear to be very dynamic, requiring a complete re-computation with the slightest change in the schedule. Still, a very interesting concept.
Ronald Winter
User offline. Last seen 3 years 37 weeks ago. Offline
Joined: 4 Jan 2003
Posts: 928
Groups: None
Where to start? Well the topic of critical path equaling the longest path:

Many contracts list mandatory mid-term milestones. To model the contract properly, then constraints must be used. This practically guarantees that total float will be unrelated to the longest path. Primavera’s implementation of Longest Path also suffers from this ‘problem’ because it listens to constraints on the forward pass (but not on the backward pass.)

When SS and FF relationships are used, the value of total float for an activity will often vary depending whether you measure total float using start dates or finish dates (both equally valid rules.)

Hammock total float values are almost always different from the activities that they summarize.

Total Float (and sometimes longest path) may vary depending upon whether Interruptible or Continuous duration setting is used.

In short, there are so many instances in the ‘real world’ where critical path does not equal the longest path that one must conclude that they are related but different.
MK TSE
User offline. Last seen 4 years 25 weeks ago. Offline
Joined: 27 Feb 2002
Posts: 550
Groups: None
Subject to one condition "NO constraint throughout the network", longest path is one of the critical path to the project.
Alex Wong
User offline. Last seen 11 years 35 weeks ago. Offline
Joined: 12 Feb 2003
Posts: 874
Groups: TILOS
Stephen

I start with your first comments, since this is a long message so I do it bit at a time.

Is the longest path must be the critical activity to the project??

I dont think so, I believe that both Least Float and Longest path is useful in Project management where both provides key information to the project. Therefore, we should not just looking at the longest path as the Critial Path. BTW today program do identify both longest and least float at the choic of the user to see the Critical Path. Not because they are finding a easy way out.

There are some many examples can support my argument PPers Agreed??

Interest to have your reply on this one.

Alex
Stephen Devaux
User offline. Last seen 2 weeks 20 hours ago. Offline
Joined: 23 Mar 2005
Posts: 668
Hi, Ron.

I just read your "Longest Path Value" article. Very interesting. I was particularly interested in what you had to say about activities done out of sequence (e.g., successor is finished but the predecessor hasn’t started yet!). A few comments/questions:

1. I’ve always differentiated between a concept/metric and how a given software package might incorporate that concept/metric. For me, the critical path IS the longest path. The fact that a software programmer might find it convenient to identify it with the path with least float is simply a shortcut.

2. How is the metric you define as "slack" different from free float? In the example in the diagram, the free float computations would, I believe, be the same as your slack.

3. I feel that the focus on the second longest path obscures a much more important concept: DRAG. DRAG, which is always on the longest path, is the amount of time an activity is adding to the project duration, i.e., how much longer an activity’s path is than its longest parallel path.

4. When activities on an ongoing project are done out of sequence, as a scheduler (or consultant!), how do you assess the schedule? Isn’t it vital to find out how this could happen and then to re-work the logic before being able to assess the new schedule?

Have you by any chance read my book "Total Project Control: A Manager’s Guide to Project Planning, Measuring and Tracking" (John Wiley & Sons, 1999), where I introduced the concepts of DRAG and DRAG Cost, and showed how to compute them? Also, I think you might be interested in some other articles I’ve already mentioned here at Planning Planet in another thread: "Scheduling is a DRAG" by Bill Duncan and myself at Chief Project Officer on-line magazine:

http://www.chiefprojectofficer.com/article/135

Also, articles 3-5 in the series I’m currently doing for Projects@Work online magazine, "Time is a Crook," "Delay Tactics," and "The Whips and Scorns of Time" (due out on Thursday of this week). They can be found at:

http://www.projectsatwork.com/departments/methods-means/

I’d be very interested in your comments, and how you see those comments fitting in with your Longest Path ideas.
Ronald Winter
User offline. Last seen 3 years 37 weeks ago. Offline
Joined: 4 Jan 2003
Posts: 928
Groups: None
Swamy,

Your assertion than a continuous path should have the same negative float is not based in any legal grounds. Float is a calculated number based upon given algorithms. It is what it is. Different activity calendars may cause the number to vary. So might the use of Hammocks, Interruptible logic and constraints.

The only dependable measurement of the remaining work to completion is Longest Path. Look at my published paper on “Longest Path Value” that I presented at the 2004 PMI College of Scheduling conference for more on this subject at http://www.ronwinterconsulting.com/published.htm. Good luck!
Andy Parkes
User offline. Last seen 9 years 3 weeks ago. Offline
Joined: 1 Feb 2001
Posts: 16
Groups: None
My guess (as this happens to me) is that you’ve got different calendars running through your critical path.
e.g. if you have an activity on a 7 day a week calendar finishing on a Friday and a Finish to Start succeeding activity on a Mon-Fri calendar (i.e. can’t start until Monday), then even if the Mon-Fri calendar activity has zero float, the 7 day a week activity will have 2 days float (Sat and Sun).
MK TSE
User offline. Last seen 4 years 25 weeks ago. Offline
Joined: 27 Feb 2002
Posts: 550
Groups: None
have you introduce any contraint in your programme?
If do, those contraints need to take into account in float calculation.