CPM algorithms sometimes elongate the project
Forum Sponsor
Top Posters
Julian Pegg
1 posts
Peter Nagy
2 posts
Raymund de Laza
17 posts
Syed_Asad
0 posts
Tony Greyvenstein
0 posts
Ahmed Al-Jubouri
13 posts
Umar Alvi
3 posts
Sibusiso Mahlalela
0 posts
Michael Samanyayi
3 posts
Simon Gumede
0 posts
Stephen,
I think the basic answer is that you cannot model reality exactly with the use of a few limited interactions and also, the majority of people dont care about how ES, LS etc. are calculated.
This is beacuase plans are based on assumed durations, lags, constraints and interpretations of logic.
It might be true that some lazy developer took a short cut, but if it really mattered, then the problem would have got fixed.
And before anyone says that it doesnt get fixed because people dont understand the details of CPM, its not.
Its because people dont care about such details becuase plans are only indicators of progress.
CPM, EV and all other planning tools are based upon guesses and we as planners are just experts in stakeholder guess extraction, manipulation and second-guessing.
Algorithm problems dont interest me but your post that mentions;
The cost due to delayed projects is often not even noticed is more interesting.
What are liquidated damages all about if this is true?
Project management is about limiting wasted resources to avoid becoming liable for the delay to delivery dates stated in contracts. (Which have penalties equal to the cost the delay to the client)
IMHO, plans are indicators, links should be simple and algorithms are boring.
Cheers!
Charlie; Christian,
if i understand it right, algorithm is a step-by-step system of calculation or a pre-defined program for calculations.
i believe that CPM algorithm (in computer programs) is conditional (meaning - you cannot put garbage as it will give you garbage, GIGO). The difference is, there is a human algorithm or a Planners algorithm which I supposed is sometimes unconditional.
Christian,
that is one example of having a given "Duration" without first knowing the real work (like the one discussed in the other thread - MSP), so you are forced to use your "unconditional" algorithm.
Stephen,
Can you see the comments from fellow planners.
We need a real life narratives which we can understand.
Once you put this into wording then it becomes obvious, the logic is not reasonable, it contradict its reasons.
Good Luck
Alex
interesting,
This is a well designed sample Schedule,but it will not happen in the real world.
if Stephen can give us a real schedule istead of (A,B,C...),i think most of the schedulers will show him that the logic is not correct (or is not the best) and can be changed like .....
The key point is when more than one logic ties constrain the activity,which one is driving. CPM consider the worst case,which makes the finish of the activity as late as it can base on the direct logic ties.
we should keep it in mind when we model the logic
Anoon
My reply to your post No#23 "then you can change the logic, why make schedules that (you knew) will not work?"
It might be because the Client’s Engineer would like you to work on a particular time frame (or atleast make you try) even thought it is to obvious that it would be an imposbile task to finish the project on the said time, thus compressing your plan unreasonably.
Anoon,
I can not imagine what will happen because firstly, Im not a native english speaker and my english is limited.
I do not know what is algorithms much more conditional algorithm or unconditional algorithms.
I dont expect you to explain what you mean from your question, just forget it to save time, energy and money because big chance i will never understand conditional algorithm, unconditional algorithm or algorithm itself.
My first reply to stephen is just a common reaction from a humble and commoner planning engineer like me devoid of sopisticated understanding of the english terminology.
So sorry i do not know what your talking about, condition and unconditional algorithm
Charlie,
the point is, in doing work sequencing, there should be no room for randomness, thats why it is called Planning (meaning - the one who should do the Plan must know the work inside-out and the consequences), why I said knowledge can also be wrong? because of the effect of randomness, which I believe no one can tell til it happens! and it happens in a Plan (always) why? because human knowledge has limits (i supposed).
can you imagine what will happen if you can choose between conditional and unconditional algorithms?
I still believe the moral lesson here is not to become gullible person.
While stephen intentions is to question CPM algorithms, his approach backfire becuase the basis of his example is wrong, wrong relationship, wrong assumption, non-existing activity, not realistic.
But it do give us an insight to really take a hard look on relationship presented in CPM, baseline schedule, revise baseline schedules, etc.
and of course we have to pursue knowledge, the right knowledge as guided by the Holy Spirit
Good remark!
This "plan" is a violation against basic principles of planning - by Stephens intention, I assume.
Every stakeholder who is willing to understand the plan must be able to understand it. If you show this one in the network view: No chance.
Relationships must be evident. These arent.
This was - for my opinion - created to show that, if you steer your car with intention against a tree, the best electronic equipment is useless: youll hit the tree. Or with other words: The software doesnt make a planner, without use of brain no - workable - plan.
Regards
Dieter
then you can change the logic, why make schedules that (you knew) will not work?
Then it cannot drive e. LoE / hammocks cannot drive other activities.
Dieter
in P5/P6, there is an activity type called Level of Effort, i dont know if we can make activity "D" as LOE, Stephen?
Hi
The problem Stephen constructed is very simple:
1. An activitys (D) end is determined by its predecessor.
2. The longer the duration of this activity is planned, the earlier it is scheduled to start - limited by another relation.
3. This activitys start drives the start of another one - i.e. the longer for D, the earlier.
4. The other durations are constructed in a way, that these ff and ss-relations are critical.
Not difficult, but to my opinion: artificial and unrealistic.
Regards
Dieter
Hi Pinan,
Then what about the assign duration of 5 days for activity D ?
Either one has to develop ones logic according to the software requirement or develop software according to one logic.
Choice is yours.
Razi
hi
the point of stephen is D should start after A on the 11th day and still finish on 25th day (sometime in bet 11 to 25, the work is pending until B finishes)..so activity E can start on 16th day as per SS+5 rel w/ D, then path A-B-C-F should be the critical path.. maybe he has a point there
Hi Stephen,
Please just tell us on which day Activity D will finish as per the durations and relations given by you. Then rest of the thing can be discussed.
A 10d No preds
B 10d Pred: A/FS0
C 10d Pred: B/FS0
D 5d Preds: A/FS0, B/FF5
Cheers,
Razi
prof. Stephen,
can you please give a literal example of activity "D", the one that happens in real life (i have second thoughts), maybe this will further prove to Charlie that "wrong knowledge do exist" (it doesnt mean Im accepting it).
that is why lags should be minimized as much as possible..especially for ss,ff,and sf links lags equal to its duration.. your point is true ok.. changing ss+5 to fs successor of d will avoid this changes or control ss+5 w/ ff+10(for p3 only) just to mixed things up and avoid it
Hi Stephen
I just read your latest reply. So basic mistake with open ends is no longer valid but my other remarks are still valid in addition to those of Alex. If yoll swith to the network view you can easily see that the KIS-principle (=Keep it simple)is not regarded.
I understand that you are an experienced teacher, so youll teach your pupils to create schedules they can understand.
Regards
Dieter
Hi Stephen
in your example c has an open end; the only one can be by "Project must finish by", but that you didnt mention.
Please give a practical example for this construct.
If you use such a mix of ss and ff, you should really have a look at the driving activities as Razi wrote.
In a real project you wont have this situation. If yes then with a little experience you would remark it on the longest path and analyze.
Your calculation is absolutely ok, but rather theoretical.
Regards
Dieter
Alex, first off:
In reading your response in the other thread, i discovered Id made a typo in listing the activities in the proposed network.
Correct is:
A 10d No preds
B 10d Pred: A/FS0
C 10d Pred: B/FS0
D 5d Preds: A/FS0, B/FF5
E 10d Pred: D/SS5
F 10d Preds: C/FS, D/FS, E/FS
not...
F 10d Preds: D/FS, E/FS
Now there are no "open end" activities -- all except the single sink activity have a finish have a finish successor. Yet the project schedule is still five days loner than it needs to be.
The problem is caused not by open end activities, but by the way the algorithm computes the early start of activities with FF and/or SF predecessors. ANY project potentially can have this problem, if the said activity has an SS successor -- its not at all unusual.
Stephen
I have to ask you what is the Pre-condition/assumption of CPM. And I believe the logic u give do not meet these assumptions. In addition, its easy to comes up with a logic to challenge the CPM calculation. However, I challenge you to actually write an narrative to discribes these activities and their relationship.
Alex
Dieter,
I really have to respectfully disagree with you -- there are many, many activities in which the finish of the task is constrained, but has no impact on when it can start. If as in the example, the said activity also has an SS successor, and may be on the CP, then we should always consider, and usually implement, a schedule by which we start it ASAP and allow only its finish to be constrained (as is implied by the FF predecessor). And i am sure that this is what you, as a competent scheduler, would always do -- to do otherwise is to delay the project completion for no reason other than its how some computer programmer who doesnt know his elbow from a hole in the ground coded the algorithm.
Razi, its not about "Driving Relationships" (and really, I do understand critical path and have been teaching and consulting about it for 20 years); its about an algorithm written by a progarmmer who took a short cut:
The Finish of Activity C is constrained by the FF from B. Thus the Late Start of Activity C is also constrained. But the Early Start of C is NOT constrained by when it can finish. Its ES is only constrained by the FS from A -- if you do the forward start manually, you see this. C can start as soon as A finishes. But its much simpler for a computer programmer, who probably couldnt find a CP with both hands and a mirror, to simply have the finish date and duration of Activity C override the "definition" of early Start, i.e., the earliest time that an activity can start.
Most of the time, this does not matter (and Im sure most schedulers arent even aware of it). However, in the present example, because of the SS successor to C being on the CP, we have a situation where (1) the project duration is lengthened, and (2) the project gets shorter as one of the "CP" activities gets longer (and vice versa)! If that isnt a dead giveaway that somethings wrong, I dont know what is. By noticing that the schedule can be shortened by starting C earlier than the software currently says it can, we can save days (perhaps weeks in some cases!) on the schedule.
The CPM algorithm should not assume that one thing is constrained just because something else is -- in this case, that an activitys start is constrained because its finish is. If such is the case (as is the rare occurrence), the scheduler should input a Start No Earlier Than constraint.
The true picture is that a milestone representing the finish of C is the only thing constrained by the FF relationship. And then the project should finish a week earlier.
Dietrich, far from this sort of situation not being possible, its actually quite common. I assume that you sometimes use an FF or SF constraint --and ANY time you do, the software will compute the ES of the successor based on its duration. If that successor activity also has an SS (or SF) successor (quite common, surely), the schedule of that path will be unnecessarily delayed -- and if that path is the critical path, the scheduled completion will be delayed!
Given this sort of situation, a good scheduler should look to see if C can be started earlier. And the vast majority of time, in my experience, it will turn out that it can be (especially when the alternative is to add time to the schedule).
Unfortunately, its hard to see these situations! Schedules are constantly being unnecessarily elongated due to resource shortages, work problems, union contracts, subcontractor inefficiencies, and customer whim. Its unfortunate that sometimes theyre also bloated due to a computer programmer who has no concept of the implications of an algorithmic decision.
Hi Stephen,
Just read the concept of “Driving Relationship”, before jumping to the conclusion.
Links of activity D...think there.
Cheers,
Razi
Hi Stephen
If a scheduling software would calculate different, it would be wrong. Your construct is not taken from real life.
- Where is the end? - user acceptance, PAC, governmental certificate,...
- If youll add a milestone and connect properly, youll see, c is not on cp.
- This construct with such ff and ss relationships is absolutely not realistic. So: "GIGO" (garbage in, garbage out) becomes valid.
But it may be a nice, but negative example for trainings:
- No open ends
- Keep it simple! with clear structures!
- Only use relationships that you can understand! E.g. ff together with a lag is difficult for normal people.
- Always use realistic examples in trainings.
Regards
Dieter
gullible as eve when tempted by snake (the devil)
gullible as adam when tempted by eve.
So in conclusion, it is with mankind since time immemorial.
It is just a matter of individual conviction.
Anoon,
your wrong knowledge exist only when use in a deceitful way.
knowledge comes from the HOLY SPIRIT.
if it is wrong, then, it comes from the DEVIL. and anyone who accept wrong knowledge as truth are gullible
this is a matter of philosophy.
you see Charlie? wrong knowledge do exist!
Stephen,
You got ig bulleye.
In your example, what happen is due to your input. It is not the software fault. It is the user of the software, the half baked planners, the wedding planners, the software jockeys, the labourers doing planners and of course the hosewives planners.
The point your trying to say is that people just dont know the fundamentals and start to punch the keyboards without understanding on what the consequence will be.
Take note that basically, it is the contractor who will present their schedule/plan for review by the owners representative, and if, your example happen which I believe majority did happen, then it is a simple case of a blind leading the blind.
In conclusion, the user of the software must have knowledge, when I say knowledge it should be right.
Not the knowledge progated by some of our peers here in PP, wrong knowledge.
Trevor Rabey wrote:
"What if you simply rule out the use of any kind of project planning or execution which uses links other than FS with positive or zero lag only?"
Id be all for it -- even FS with lag can always be modeled using an activity. (And using only FS relationships makes DRAG computation much easier!)
Trouble is that on large and complex projects, in the real world, youll probably wind up with schedules a lot longer than they need to be. In my experience, planners/estimators are much more willing to say "Oh, those could be SS3 and SS7 successors off the 15-day predecessor" than to do the necessary decomposition to make the predecessor into three activities of 3 days, 4 days and 8 days. Remember, decomposition is the last thing most people will do! http://www.planningplanet.com/images/icon6.gif
Cool And then you wind up with much longer projects than necessary.
"Is it possible for this to be lethal?"
Absolutely! Any time a pharmaceutical product, or a hospital IT system, or a vaccination program, or a flood wall takes longer than necessary, the potential for deaths is there. Indeed, if a hospital IT system intended to save 50 lives a year is unnecessarily delayed by two weeks, then you just murdered two people, even if you dont know their names! Project planning is a vital skill, and bad project planners can kill people. For deeper exploration of the topic, here is an article in the Methods & Means department on [email protected]:
http://www.projectsatwork.com/content/articles/233825.cfm
"Aren’t lots of dollars already lost everyday due to lots of hours spent producing planning crap at the most basic level, or projects proceeding with primitive, minimal or zero planning, or money spent unnecessarily on lawyers and claims?"
Yes, but most of those costs are identified and captured as "wasted resources" (the one sort of cost that project management is half-decent at measuring). The cost due to delayed projects is often not even noticed -- especially when its due to something as prosaic as a flaw in a CPM algorithm! And a flaw that could be easily fixed -- is there any planner who would purchase a software package if it advertised that it computes CPM schedules "within a couple of weeks of accurate"?
"I have been hoping to find something really useful such as tasks which have negative duration - the more of them you plan to do, the shorter the project gets. This must exist in a parallel universe."
Isnt that sort of what youve got with Activity D in the network I presented? Make it five days longer, to a ten-day duration, then decompose it into 5 two-day serial activities, and the project will be shorter! Thats negative duration in THIS universe! (Or at least in the software of this universe.)
What if you simply rule out the use of any kind of project planning or execution which uses links other than FS with positive or zero lag only?
Is it possible for this to be lethal?
Arent lots of dollars already lost everyday due to lots of hours spent producing "planning" crap at the most basic level, or projects proceeding with primitive, minimal or zero planning, or money spent unnecessarily on lawyers and claims?
I have been hoping to find something really useful such as tasks which have negative duration - the more of them you plan to do, the shorter the project gets. This must exist in a parallel universe.