Guild of Project Controls: Compendium | Roles | Assessment | Certifications | Membership

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.

Finish Milestone

12 replies [Last post]
AB Timo
User offline. Last seen 9 years 6 weeks ago. Offline
Joined: 22 Jun 2011
Posts: 108
Groups: None

Hi Gentlemen,

I needed opinion of professional planners.

The situation is that i am getting a couple of activities that are placed in my schedule so that it is not possible to assign them any successor.As a result the end is open end.Is it Right to assign them a finish milestone as a phase finish milestone and continue with the schedule????????????

 

Regards

Engr.Faiz

Replies

Rafael Davila
User offline. Last seen 1 day 6 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5229

Stephen,

Be happy, it is at the playoffs that the series count, now it is just practice, remember the Bambino.

I disagree with regard to that we disagree. I agree with your point about the warning. You are correct, it might be overlooked, a warning is welcomed. Perhaps the warning can be toggled on and off but shall be present at some kind of schedule run report. I would toggle off the warning as I would keep reverse CP on most situations unless critical, activity splitting is not a solution to be blindly applied.

Enjoy the cricket game.

........

  Photobucket

oops ,   ... sorry

Stephen Devaux
User offline. Last seen 18 weeks 2 days ago. Offline
Joined: 23 Mar 2005
Posts: 667

Hi, Rafael. 

Yes, I'm a Red Sox fan.  Yankees are doing amazingly well this season, though they've lost eight of nine so far to the Red Sox. But then they have a penchant for losing lots of games in a row to the Red Sox, don't they? In 2003, right after the Yanks beat the Sox in the playoffs, I spoke at the Manhattan PMI dinner. After much teasing, I was presented with a Yankees hat.  It proved very valuable after 2004, when I would wear it while delivering my lecture on Moneyproject: Baseball, Metrics and Project Management. I would always tout the importance of wearing a Yankee hat at dinner presentations because "the symbol on the front has been declared the international symbol for choking."

You wrote: "Two activities of different durations linked by SS and FF links of equal lag can create a case of reverse logic that can be solved by splitting the activity, Superfloat will also be helpful here, perhaps the more common case of possible "reverse logic" in Continuous PDM models. Be ware that depending on how you want your model to perform this might or might not be a case of unforeseen "reverse logic", but the metrics is there for you to verify."

Absolutely agree.  Vladimir and I had a long conversation about this, and I agreed that if Spider Project had the functionality to point out a reverse logic trap, that would suffice.  As you say, the Superfloat is helpful, and so is the negative drag calculation -- I'd even prefer a warning message any time there's a negative drag calculation, indicating a reverse CP.  

As to the standard PDM algorithm being "right", I'm afraid we're going to have to agree to disagree.  Yes, users should know how the algorithm works, but there are always some (a lot!) that won't.  And that doesn't help the person who dies (and it does happen!) because some scheduler didn't realize about the reverse critical path. In such cases, the s/w has to choose either to let the finish constraint dominate or to let the shorter schedule dominate by splitting the activity and inputting a finish milestone.  The latter would be my choice, again with perhaps a message that the activity was split (the preferable, and doable, scenario more than 90% of the time).

We both know  what we're talking about -- we just disagree.  Like whether the Yanks or the Sox suck!

And now I have to get back to India slaughtering my West Indies in cricket...

Fraternally in project management,

Steve the Bajan

Rafael Davila
User offline. Last seen 1 day 6 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5229

Stephen,

-"The CPM algorithm should be designed to provide the shortest possible schedule given durations and dependencies. Ask most schedulers and they'll tell you that is what it does -- and they usually don't know about the anomalies. To allow a situation where the project can be made shorter by making a CP activity longer (but not by splitting it!) is an absurdity."

The above statement is wrong. The Continuous PDM is a model that has its rules, software that is designed under the Continuous PDM and breaks its rules is wrong. Don't blame the "rats" for the misunderstanding on how the model works, in any case blame the keyboard jockeys that believe they understand Continuous PDM just because they can type some garbage into their schedules. The poor kids cannot understand that if by increasing an activity duration this moves ahead the start of the activity and therefore move ahead the start of successors linked by the start node, elementary math.

The following is a sample job where reverse logic is used, merely by looking at Drag ( a negative value, how about that? ) and Superfloat you will be able to predict schedule performance as you increase/decrease activity duration. With these metrics you will be able to identify reverse logic and even decide when and how to split some activities when convenient.

Photobucket

Two activities of different durations linked by SS and FF links of equal lag can create a case of reverse logic that can be solved by splitting the activity, Superfloat will also be helpful here, perhaps the more common case of possible "reverse logic" in Continuous PDM models. Be ware that depending on how you want your model to perform this might or might not be a case of unforeseen "reverse logic", but the metrics is there for you to verify. Applying the split or no split across the board to all activities is wrong modeling.

Photobucket

Best Regards,
a proud "rat", MSCE class of 1978

Photobucket

I understand you love baseball, but I am A YANKEE FAN, there is nothing like sweeping the Red Sucks. BU should be moved far from Fenway, it brings bad luck, it is not the "Bambino".

Stephen Devaux
User offline. Last seen 18 weeks 2 days ago. Offline
Joined: 23 Mar 2005
Posts: 667

Nice, Vladimir.  PROJECT/2's slip option was a tiny bit different, but I'm not sure I don't prefer the Super Float concept.  And, of course, getting the Super Float correct (which MSP would not do) is important for computing the critical path drag.

Fraternally in project management,

Steve the Bajan

Hi Stephen,

you wrote "As far as I know, no current s/w has that option."

Look at Super Float in Spider Project.

Best Regards,

Vladimir

AB Timo
User offline. Last seen 9 years 6 weeks ago. Offline
Joined: 22 Jun 2011
Posts: 108
Groups: None

Thanks a lot all of you for participating in this topic..You Guys really enhanced my knowlede.I shall further Make these concepts clear as I am Still a beginner :)

Stephen Devaux
User offline. Last seen 18 weeks 2 days ago. Offline
Joined: 23 Mar 2005
Posts: 667

Hi, Miklos.  Very interesting discussion.  And I'd love to meet and discuss further!  Interestingly, Vladimir Liberzon and I had a discussion on precisely this topic two years ago in my apartment in Boston, when he showed me the new version of Spider Project that computes critical path drag. 

Although my niece has spent a lot of time in Indonesia, I doubt I'll ever get there, but I'll buy lunch if you ever get to Boston! And then we can exchange books.

Your description of how (most) CPM algorithms work is right on target -- the issue is whether that is how they should work. I'd add two exceptions to the "most" above (and you may be aware of both):

1. PROJECT/2, the first commercially-available CPM algortihm was developed at MIT in the mid-1960s and marketed by Project Software & Development, Inc. (PSDI) of Cambridge, MA. It had a second option for the backward pass called the "slip" option which would allow an otherwise unconstrained activity late finish to slip as far as it could go without delaying the end of the project.  This resulted in some activities having different float totals on their start and finish.  In my opinion, this was an enhancement in that it drew the scheduler's attention to an alternative option (often one that provided an opportunity for less resources). As far as I know, no current s/w has that option.

2. MS Project limits the user to only one relationship between any two entities.  Without additional milestones, this causes an unnecessary "Procrustean bed" where an activity of 30D duration whose first day is on the CP, but whose finish may have 200D of float, shows as critical with zero float/slack. And to compute the very important critical path drag, you have to have correct float totals.

As you wrote: "PDM has got a basic hypothesis for activities which is: activities should carry out with the same intensity without interruption."  This too, I believe, was because the original MIT s/w (which was actually called PROJECT -- forerunner of PROJECT/2) was programmed that way. In those days, it was simply much, much easier to "program in" such a rigid hypothesis than to actually come up with alternative algorithms. Unfortuantely, I believe they absolutely chose a bad hypothesis, and one that has been delaying projects and costing both time and lives ever since.

Are there tasks that cannot be interrupted and must be carried out with the same intensity throughout, like pouring cement? Of course.  But is that usually the case?  Absolutely not -- that is the tiny percentage of cases. Should schedulers break up tasks when their intensity can be varied, or even use only FS relationships, as Mike Testro recommends? Probably -- but in my experience: (a) schedulers won't do it, and (b) if they do, it will lead to longer projects. 

As mentioned, people die because of longer projects: hospitals, potable wells, pharmaceuticals, disaster relief, defense systems... It's bad enough that people die because the work takes time, or there aren't enough resources.  But surely it's a disgrace to our shared profession that people die because of the way a bunch of 1960s graduate students at MIT coded their software! And schedulers blithely arrange 10,000-task schedules without realizing that the "reverse CP anomaly" of an FF relationship preceding an SS relationship is adding several weeks to their schedule. (If they noticed, they would fix it, because it is almost certainly not a "pouring concrete" instance.)

The CPM algorithm should be designed to provide the shortest possible schedule given durations and dependencies. Ask most schedulers and they'll tell you that is what it does -- and they usually don't know about the anomalies. To allow a situation where the project can be made shorter by making a CP activity longer (but not by splitting it!) is an absurdity.

Finally, there is the omission of the critical path drag (and drag cost!) calculation. The fact that the software quantifies the stuff that's OFF the CP (float) but quantifies nothing that's ON the CP is bizarre!

1. Information about CP activities is (if you'll pardon the expression!) critical! To shorten the schedule or pull in a subdeliverable, either up front or when attempting recovery, is hugely aided by drag calculation.

2. People's attention is drawn to what is measured. Measure only float, and attention is drawn to non-critical tasks, and dangerous techniques like "pacing the project" to the CP's length, rather than shortening the CP, become standard. (See William Duncan's article: "Scheduling is a Drag" at http://www.projectsatwork.com/content/articles/246653.cfm )

3. Float is relatively easy to compute "manually" -- but drag isn't! In fact, in a large and complex network with PDM relationships, even if one knows exactly what to do, it can take a day or two to compute the drag for all the CP activities -- and then when you optimize part of the schedule, they can all change and you have to repeat the process!  In other words, it's exactly the sort of computation that computers were made to do!  But first, they have to compute float correctly, and with MSP, not all do that unless the necessary milestones are included. That's why Sumatra's product (with whom, by the way, and as with Spider Project, I have no financial arrangement) allows the user to automatically input the necessary milestones and "fix" both the reverse CP anomaly and the slack computations.

Good conversation, Miklos, and thank you: I had never heard the term "relaxation as splittable activities" used before. I will use it in my graduate classes in the future.

Fraternally in project management,

Steve the Bajan

Miklos Hajdu
User offline. Last seen 11 years 19 weeks ago. Offline
Joined: 13 May 2011
Posts: 97
Groups: GPC Malaysia

Steve,

Just curious, it seems to me, that you state that MS Project screws up the calculation, while Sumatra Optimizer brings the right results.

According to my knowledge in PDM (precedence diagramming method) there are síx type of criticality

normal   (one day increment and one day decrement in activity durations results the same changes in project duration)

neutral  (no changes in project duration for one day decrement or increment)

reverse (one day increment in act. dur results one day decrement in project dur. and vice versa)

bi critical (either decement or increment in activity duration results a one day increment in project duration)

decreasing neutral increasing normal (for decrement like neutral for increment like normal)

decreasing reverse increasing neutral (for decrement like reverse for increment like neutral)

This is due to the fact that PDM has got a basic hypothesis for activities which is: activities should carry out with the same intensity without interruption. (ES+t=EF, and LS+t=LF) There are some relaxations in the model one of it the relaxation

which is ES+t<=EF and LS+t<=LF, in this case you lost the phenomena of reverse, bi, and mybe the last two as well.

You can read on this in my book, or in the book of Siam Abou Rizk. They call this relaxation as splittable activities.

There is a very strict idea behing this hypothesis, without this precedence diagramming wouldn't work.

Unfortunately this hypothesis never satisfied in real projects.

So MSP, Primavera, make a correct calculation based on their hypothesis, while your Sumatra thing probably has the another hypothesis.

MSP had the same one untill 1998 when they changed for 4.0 to MSP 98, 'cause they noticed that the old hypothesis leads to very strange results in some cases. But tis is a longer story, maybe we meet somewhere and  have some tim to discuss all this.

 

Being on topic: Generally, I'm conservative and I would suggest to you, try avoid milestones if you don't have contractual ones, and try to find the real logic in network. Some cases it can be used, depends on the project, and on the modelling capabilities of your software

 

Miklós

Mike Testro
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 14 Dec 2005
Posts: 4418

Hi Faiz

You may want to look at the PP thread called Ban trhese Planning Abominations to understand my planning philosophy.

Best regards

Mike Testro

AB Timo
User offline. Last seen 9 years 6 weeks ago. Offline
Joined: 22 Jun 2011
Posts: 108
Groups: None

Mike,

Can you tell me some more in detail please.

Mike Testro
User offline. Last seen 5 weeks 4 days ago. Offline
Joined: 14 Dec 2005
Posts: 4418

Hi Faiz

Every task should have at least one outgoing link - if only to the completion milestone which is alone exempt from the rule.

Best regards

Mike Testro

Stephen Devaux
User offline. Last seen 18 weeks 2 days ago. Offline
Joined: 23 Mar 2005
Posts: 667

Hi, Faiz.

Without knowing the exact situation, I would hesitate to say you should or shouldn't do anything.  However:

MS Project (and also other packages) do not always make the correct calculations (especially with SS, FF, SF dependencies), such that it is necessary to include finish milestones in some cases in order for the software to give the correct info. (The Sumatra Project Optimizer, in order both to correct the "reverse critical path anomaly" and to compute CP drag, has to input finish milestones to make MS Project give the correct data.)

Take the following network:

A  Dur: 5d; No pred

B  Dur: 10d; Pred: A/FS

C  Dur: 5d; Preds: A/FS, B/FF

D  Dur: 10d; Pred: C/SS

E  Dur: 5d; Preds: B/FS, D/FS

 

Due to the reverse CP anomaly, MSP will compute the project duration as 25d. To make it shorter, you can:

1. INCREASE the length of C by up to 5d (each day will reduce the project duration by one day!)

2. Input a milestone for C's finish, and tie B as an FF pred to that milestone (cutting the project dur to 20d), or

3. Use the Sumatra Optimizer tool, which will input the necessary finish milestones, thus correcting the reverse CP anomaly and cutting the duration to 20D. (The Sumatra tool has to do this in order to correctly compute the drag of the CP tasks.)

 

In my opinion, it is almost never incorrect to input finish milestones for tasks whose finish is otherwise unconstrained. But others may disagree...

 

Fraternally in project management,

Steve the Bajan