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.

Implementation of the Critical Path Methods in Different Scheduling Tools

13 replies [Last post]
Alex Lyaschenko
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 15 Aug 2011
Posts: 59
Groups: None

Would the project dates calculated based on the critical path method be the same regardless of the applied scheduling tool? Not always!!!

Some time when I worked in large Telco company in Australia somene decided to replace their existing PPM system with ‘CA Clarity’. Clarity already was implemented in the organisation but used only as a corporate timesheeting system. The previous custom-made PPM system allowed to import Microsoft Project schedules and automatically retrieve dates for project status reports.

Clarity has integration with Microsoft Project, so the tool looked like a good alternative to the old PPM system. The portfolio initiated a project, which was a big disaster. The project manager made a dangerous assumption: “As both tools are based on the Critical Path Method, the schedules calculated in these tools are going to have the same dates”.

This was not the case. Imported and recalculated schedules had different delivery dates!!! The reality was even worse: the schedule imported back to Microsoft Project had different dates compared to the original schedule developed in Microsoft Project, even if the schedule was recalculated in Microsoft Project again!

In theory, the Critical Path Method is a well-defined method and a schedule calculated in any scheduling tool that supports this method should be the same.

 

In practice, projects consist of components: activities, calendars, constraints, dependencies, lags, resources, etc.

Scheduling tools have different features to manage and integrate project components. The way these features are implemented impacts the Critical Path Calculation.

When a schedule is imported between the tools some information could be completely lost as the new tool doesn’t have data fields to store this information.

In the described example, at that time (not sure if it is still the case) Clarity supported only resource calendars, not activity calendars. So, during the import, the information in activity calendars was lost and when the schedule was imported back to Microsoft Project, the project dates were different. Later, when I supported one of the Australian banks to intergrade Microsoft Project and Clarity, I found other differences between systems that impact schedule calculation.

Primavera, Microsoft Project, Spider Project and other project management tools support the critical path method they have unique features. The way these features are implemented may impact the Critical Path calculation!

Some examples of such features:

  • - Primavera supports more than one dependency between the activities, and Microsoft Project doesn’t;
  • ‘Deadline’ in Microsoft Project impact Total Float calculation, Primavera doesn’t store ‘Deadline’ dates;
  • - Primavera and Microsoft Project have different types of activity constraints;
  • - Microsoft Project supports ‘% duration lags’, and Primavera doesn’t;
  • - Spider Project takes into the calculation activity AND resource calendars, Primavera activity OR resource calendars;
  • - Spider Project supports ‘Volume’ and ‘Duration’ types of activity, Primavera and Microsoft Project support only ‘Duration’ type;
  • - Microsoft Project allows to link activities and summary tasks (WBS), Primavera only creat links between activities;
  • - Primavera and Microsoft Project support Levell of Effort / Hammack activities, but this feature is implemented in a totally different way;
  • - Primavera support the ‘WBS Summary’ type of activity, and Microsoft Project doesn’t;
  • - Spider Project supports ‘Conditional’ scheduling, Primavera and Microsoft Project don’t.

Principles of the Critical Path Method could be explained based on a small simple schedule and calculation of such schedule in any scheduling tool should give the same result.

Real-life projects are much more complex. They have different calendars, hard and soft constraints, lags and leads, other than ‘Finish to Start type’ types of dependencies, etc. Implementation of these features impacts the way the critical path is calculated.

Some scheduling tools have methodological issues. Project’s real-life scenarios could not be properly simulated due to technical constraints. It is important to learn these constraints, find work-arounds or maybe replace the tool.

 

Have you experience similar challanges when you tried to apply CPM in different scheduling tools? 

 

Replies

Bogdan Leonte
User offline. Last seen 6 weeks 4 days ago. Offline
Joined: 18 Aug 2012
Posts: 284

Alex,

Spider Project doesn't allow activities to remain before the Data Date, which is very good in my opinion. I belive that if no information is available to update activities then those activities have not been executed and should go as remaining work. I think this is the only option because of 3 reasons:

  1. It's logical;
  2. If the project will have delays somebody will look to see why and see these activities that should have been executed but were not and so the chain of responsability will be applied;
  3. You cannot go back in time, if it should have been done it was either done or not done, time has no "Stand By".

I have a schedule in MS Project that has 1 activity before the Data Date. MS Project did not rescheduled it even though I followed the update project procedure and guess what, after I saw it I had to manually split it and it affected the Critical Path. This is not good practice, MS Project allows users to easily make mistakes.

Best regards,
Bogdan

Rafael Davila
User offline. Last seen 1 hour 28 min ago. Offline
Joined: 1 Mar 2004
Posts: 5229

I suppose the main difference is on the implementation of the concepts by different tools.

Spider Project can execute automatic replacement of skill resources and skill resources can be multi-resources. This makes it possible for Spider Project to replace 1 very productive resource with two not as productive and automatically adjust activity duration based on their productivities. I do not believe there is any other tool that can do this.

Some tools cannot even execute automatic replacement of the simple case one resource for another single resource; these tools list the options but do not automatically execute them.

https://www.ronwinterconsulting.com/Reviewing_Resource_Leveled_Schedules...
P6 Automatic Resource Leveling Limitations
• .....
• The process does not allow P6 to automatically substitute one resource for another. This means that the schedule cannot split activities and their resource requirements to allow for more precise resource allocations.
• The resource leveling process cannot adjust activity durations, thereby adjusting the daily resource requirement.
• P6 cannot automatically convert one type of resource into another (say two Journeymen for one Expert.)
• ......

 

Alex Lyaschenko
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 15 Aug 2011
Posts: 59
Groups: None

Rafael,

Thanks for sharing the presentatiuon!!! 

Any chnace you have slides that clearly explain difference between Skills and Roles? I found that may schedulers think that skills and roles are the same thing. 

Alex Lyaschenko
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 15 Aug 2011
Posts: 59
Groups: None

Bogdan, this is a very good list!

Another area when it could be an issue with export is "Hammock" task. MSP links hammock tasks in very specifica way. 

Regarding the "data date", for me it is a philosophical question: "If schedule updates haven't been provided should we assume that activities have not been progressed and reschedule them or leave them "as is" and demonstrate the data gap?

In my experience, it was cases when it was better to push dates and it also were other cases when it was very valuable to leave dates “As Is” and demonstrate the gap.

 

Ideally, scheduling standards have to define what is going to be done when an update is not provided, but in my understanding, MS Project don’t have a feature to push overdue dates to Status date. It only could be done manually.    

 

Has this matter already been discussed at Planning Planet? 

Bogdan Leonte
User offline. Last seen 6 weeks 4 days ago. Offline
Joined: 18 Aug 2012
Posts: 284

Hello everyone,

For example Microsoft Project makes simple calculation wrong in many cases (if the project has actual data) when importing from Spider Project. For example:

  • Activities that have not been executed before the data date, remain before the data date even though the project is rescheduled to move all uncompleted work after data date;
  • Resource constrained scheduling may create double links between activities. Microsoft Project allows the import from the xml file but calculates wrong dates because of these double links and gives no warning during the import;
  • Remaining durations are sometimes wrong (greater in Microsoft Project than Spider) even though the project has only one calendar;
  • Some lags durations are distorted;
  • When you have long calendar exceptions (90 days for example, for winter period) Microsoft Project converts a 2 days duration into 92 days, for no reason at all;
  • Finish dates of unfinished tasks are scheduled without any logic even though Microsoft Project applies Restore broken links for activities in progress only.

Microsoft Project is a terrible tool if you have to move even a basic schedule that has actual data from Spider. Even basic material quatities are rounded of by no particular formula in Microsoft Project. I will not even start the discussion of float calculations.

Best regards,
Bogdan

Alex Lyaschenko
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 15 Aug 2011
Posts: 59
Groups: None

Rafael, 

What about import to Spider Project? I found that from Primavera Project the attention need to be on:

a) Resource and Activity calendars. Spider Project support 'AND' when Primavera only "OR". So, it is manual step is required to update calendars (depending on activity type) 

b) Hammack & Summary tasks.

It were some chellanges with constrain types by Spider Team already provided update that fix all issues. 

Anything else?

 

  

Rafael Davila
User offline. Last seen 1 hour 28 min ago. Offline
Joined: 1 Mar 2004
Posts: 5229

Alex

The major challenges I always face when dealing with different scheduling tools is that with the exception of Spider Project none can model resource quantity, volume of work and production rates as we know it on the field.

To manage activities and resources those doing the actual work, our construction field supervisors, talk of resources quantity, volume of work and production rates. It is easy when your scheduling tool provide these values; when not, figuring out these values can be a nightmare and in some occasions impossible.

Other challenges are that these other tools cannot model different teams working the same activity on different shifts, cannot model automatic skill replacement, cannot model spatial resources, and among others cannot model multiple WBS structures. It is impossible to export all this functionality if using a schedule file; you can’t make a silk purse out of a sow’s ear.

Alex Lyaschenko
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 15 Aug 2011
Posts: 59
Groups: None

Patrick,

A schedule that drives project delivery (not just a reporting schedule) must simulate how the work will be done in real life. It must represent the technical processes, resource assignments, constraints, etc., correctly.

Real-life scenarios include all dependencies (incl. double and SF), lag and leads, constraints, resources and activity calendars, etc. We may say that using these attributes is not recommended or even prohibited, but it will have only one effect: the schedule will not be used to drive project work! Workers are just going to ignore this schedule and complete work differently.

This white paper has a lot of theoretical knowledge! However, it could not be applied to any particular client that uses a particular scheduling tool. It would be great to have the gap analysis of popular scheduling tools (P6, MSP, Asta, Spider, etc) that could demonstrate scenarios when the CPM is incorrectly calculated.

For examples:

- Primavera doesn’t consider combined activity and resource calendars constraints, only one or another.

- MS Project doesn’t support double dependencies, so the work could not be simulated correctly. It impacts the critical path calculation.  

Rafael Davila
User offline. Last seen 1 hour 28 min ago. Offline
Joined: 1 Mar 2004
Posts: 5229

I agree PDM and Activity on Arrows are different methods of presenting activity dependencies. But creating and maintaining the same model using Activity on Arrows can be substantially more cumbersome.  Frequently to represent the same model using Activity on Arrows additional Dummy activities might be required. In complex projects the number of these dummy activities can become overwhelming. For this reason many decades ago its use have been abandoned in favor of PDM presentation.

The following representations are simple Activity on Arrow diagrams.

AOA-Dummy-Activity-02

Adding activity D as follows requires changing precedence representation and adding a Dummy activity.

AOA-Dummy-Activity

In PDM representation no change in precedence representation is required, no Dummy is required, a link arrow would be enough. In complex situations Dummy activities can be prone to introduce precedence restrictions that you do not want, this do not happens with PDM.

Activity on Arrow diagram only shows finish-to-start dependencies between activities while in PDM diagrams all four types of dependencies can be shown—finish to start, start to start, finish to finish and start to finish.

I never used AOA diagrams as they were obsolete over 40 years ago but suppose making an AOA Diagram equivalent to the following very simple PDM can be a challenge, making changes to the logic can be as challenging.

2022-08-08-09-08-27

Hi Patrick,

PDM and Activity on arrows are different methods of presenting activity dependencies.

Project model can be presented different ways and schedule calculation does not depend on the way project model is presented. Network diagram, Gantt Chart, Time-Location Chart, etc. are just different views of the project model.

Project schedule must take into account existing constraints. These constraints are actually some inequalities in the mathematical model, nothing else. Some of them can be defined and shown as dependencies between certain points of preceding and succeeding activities.

Calendar issues create the main problems with importing and exporting CPM schedules in Spider Project.

In Spider Project activity work hours are those that are working in calendars of activities and all resources belonging to assigned crew (team). It is possible to assign several crews working independently of each other (for an example - several shifts).

Users of other tools select if to use activity OR resource calendars.

Besides Spider Project users can determine special calendars for dependency time lags and use volume lags that are not available in other tools.

When there is a need to export or import CPM schedules it applies certain restrictions on using activity, resource and lag calendars in each tool. 

Patrick Weaver
User offline. Last seen 3 days 19 hours ago. Offline
Joined: 18 Jan 2001
Posts: 373
Groups: None

Hi Alex,

The correct calculations of CPM schedules, using both Activity-on-Arrow and Precedence Diagramming (PDM) methods are set out in:  https://mosaicprojects.com.au/PDF-Gen/Schedule_Calculations.pdf

Where most of the problems you describe come from are the innate scheduling errors built into the PDM notation. The only way to achieve a 100% consistent analysis is to use Finish-to-Start links exclusively. As soon as SS, FF and SF links are introduced there is the potential for erroneous results. This is before the issues Ben Taunt describes come into play.  For more on this see: https://mosaicprojects.com.au/PMKI-SCH-012.php#Process4

Ben Taunt
User offline. Last seen 20 weeks 4 days ago. Offline
Joined: 16 Jan 2012
Posts: 113
Groups: None

Hi Alex,

The issue of moving data between different software products is one we see regularly with Powerproject, as our customers often work alongside users of other products (namely P6 and MS Project).  And of course there are just simply differences in what the three products do - off the bat, simple things such as MS Project not supporting multiple tasks per line or buffer tasks.

To help users of Powerproject to understand the limitations of data exchange, we have documented these in our help files:

https://help.elecosoft.com/powerproject/english/16.0.02/Content/HTML_Top...

https://help.elecosoft.com/powerproject/english/16.0.02/Content/HTML_Top...

However, when done with the knowledge of the limitations, it can be a very powerful approach.  No longer should a client organisation mandate a particular software solution and contractors using different platforms can work in harmony.

I'm aware of a very high-profile job in the UK where the client mandated the use of P6, but in reality just wanted a weekly XER file from the contractor.  The contractor used Powerproject throughout the job, as that was their preferred tool, exporting to XER each week without the client ever realising it didn't originate from P6...

We've actually done a webinar on how to work alongside a main project controls system (P6) with Powerproject - you can watch it back here: https://register.gotowebinar.com/recording/6199216305613507600

Ben @ Powerproject