Reporting Activity Relationships with Laaaaag

Using lags in a CPM network is widely discouraged and is considered not “best practice” in the CPM community. In fact, using lags is probably the leading cause of faulty CPM networks. In Zümmer, there are actually 12 Analysis Reports (see illustration above) that deal with identifying various issues related to the use of lags.

Finding all the Relationship lag in a Primavera P6 CPM network can be a very time consuming effort. Unfortunately, there is no filter specification that can directly list all lags in the CPM network without first creating a P6 Report. After all that work, the output is not very appealing, not easy to understand and not ready for prime-time distribution.

In this article, we examine Report #28 – “Activity Relationships with Lags”. This report is the most general of the lag related Analysis Reports. The other remaining 11 reports, which will be covered in other articles, isolate specific anomalies resulting from using lags in an unconventional manner.

In the sample report output below, each relationship containing a lag value is clearly and individually paired. In addition, the Activity Status of the predecessor and successor is listed along with each Original Duration, the type of Relationship and lag value between the two activities.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

Tracking & Reporting Logic Changes

Tracking logic changes can be a nightmare, especially when it comes to large CPM networks with ever changing scope and conditions. Many schedule specifications require that for each logic change, a description for the basis of each change is provided and specifically identifying the affected activities by Activity ID. In other words, the Owner is not just interested in what changed, but more so, why the change was made. Making matters worse, typically each change requires an individual explanation.

Zümmer provides you with seven (7) Comparison Reports designed to neatly account for every logic change between Project Updates.

1&2) Comparison Reports #06/07 – Added/Deleted Logic – These reports list and total the added/deleted logic changes between the Control and Modified Project ID. The reports sort by Predecessor Activity ID.

3) Comparison Report #10 – Added/Deleted Predecessors by Activity ID – groups predecessor logic changes by Activity ID. The action taken, Added or Deleted Predecessor, is coded as AP or DP. The total count is the sum of Reports #06 and #07.

4) Comparison Report – Added/Deleted Successors by Activity ID – is the same as Comparison Report #10 except the action taken, Added or Deleted Successors, is coded as AS or DS. The total count is the same as in Report #10.

5) Comparison Report – Changed Logic By Activity ID – (Illustrated Below) combines the Added/Deleted Successors report with the Added/Deleted Predecessors report. Since every logic change affects activities in pairs (the predecessor and the successor), this report provides an excellent reference document identifying each activity and all the logic changes affecting it.

6&7) Comparison Report – Changed Logic that Increases/Reduces Total Float – Are subsets of Item #5 above.

The Change Logic by Activity ID reports also displays, added/deleted activities, status indicators, and Total Float values.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

How to: Audit Global Activity Code Usage

For those of you who routinely receive and/or submit P6 schedules, chances are you will eventually wind up with more Global Activity Codes that you can account for.

This is due to importing/exporting P6 schedules that are assigned to Global Activity Codes. If the Global Activity Code does not exist in your database, P6 creates a new Global Activity Code with the same name. Over time, your list of Global Activity Codes can grow to an unmanageable amount. For this reason, many project specifications prohibit schedule submittals containing Global Activity Codes.

In P6, it is exceedingly difficult to determine which Global Activity Codes are used by which Projects. In Zümmer, there is a much more efficient way to determine Global Activity Code usage. From the “Other Reports” menu, select “Global Activity Code Usage by Code/Project”, then either Preview or Print (See illustration below).

To eliminate Global Activity Code usage, open the Projects listed, and then reassign the Global Activity Code to a Project Activity Code. Later you can delete the Global Activity Codes you no longer need.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

Not Started Activities with no Active Predecessors

If an uncompleted activity’s predecessors are all complete, then it would be reasonable to expect that the activity in question should be in progress. The possible exception is when a predecessor completes just prior to the Data Date allowing the successor activity status to be “not started”.

In any event, not started activities without active predecessors should be examined further to determine if the status should be updated or if a logic revision is required.

Zümmer Analysis Report #25 – “Not Started Activities with No Active Predecessors” lists all activities that:

a) have not started and;
b) the “immediate” predecessor(s) are all complete.

The column titled “ES Var To Data Date” lists the variance between the activity’s Early Start (ES) and the Data Date. If the variance is small or Zero, then this is typically an indication that the activity is “Riding the Data Date”; (meaning the Data Date is controlling the ES for the activity). If the variance is large, then this is typically an indication that the activity is restrained (commonly by the Retained Logic Rule) by an uncompleted “distant” predecessor. 

Upon review of the schedule logic shown above and in the illustration below:

Line Item #1, Activity A1040, with and ES Variance =0, is “Riding the Data Date” and its immediate predecessor, A1020 – Activity B is complete.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

Activity Relationships with Long Lag

In many Construction Project CPM Schedule specifications, the maximum Original Duration for “on-site activities” is limited to a certain value. A typical threshold limit is twenty (20) work-days.

When lags are used in a CPM network, the duration value used should be checked just like any activity. Since lags can be negative, then the absolute value of lags should be evaluated against the threshold limit for activities in the CPM network.

In Zümmer, the High Duration Threshold value set in the Criticality Duration Assignment window is used to determine if a lag falls in the “Long Lag” category. In the illustration above, the Duration Threshold High value is set to 20. The report identifies 5 relationships that exceed the threshold limit. Note for line item #5 below, the lag value is negative. In addition, the report defines the threshold criteria at the bottom of the page.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

How To: Perform a CPM Schedule Comparison

Comparing P6 CPM schedules in Zümmer is easy and intuitive!

 
Step 1:


From the Schedule Analysis & Comparison Module (See Illustration above), select the first Project ID in the Control grid, then select the second Project ID in the Modified grid. As you select, the tab descriptions to the right of the “Project Selection” adjust accordingly.

Step 2:

Click on the rightmost Tab. Then move the reports from Available Reports list to the Select Reports list.

In the illustration above, Comparison Reports 1 thru 20 are selected are ready for printing or previewing.

Check the “Include Summary” checkbox to print a Summary Comparison Report after all selected reports are printed. Lastly, click either Print or Preview and you’re done.

Copyright ©2019 FoxQuest Systems, Inc. All Rights Reserved

How To: Perform a CPM Schedule Analysis

Analyzing P6 CPM schedules in Zümmer is easy and intuitive!

Step 1:

From the Schedule Analysis & Comparison Module shown above, select the Project ID listed in either the Control or Modified grid. As you select, the 2 tab descriptions to the right of the “Project Selection” adjust accordingly.

Step 2:

Click on either Tab #2 or #3. Then move the reports from Available Reports list to the Select Reports list. In the illustration above, Analysis Reports 1 thru 20 are selected are ready for printing or previewing.

Check the “Include Summary” checkbox to print a Summary Analysis Report after all selected reports are printed. Lastly, click either Print or Preview and you’re done.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

How To: Identify and assess “Out of Sequence – In Progress Tasks”

Since a CPM Network is a “model” of reality, it’s likely that the actual activity sequence will differ from (i.e. out-of-sequence) the planned sequence. Therefore, identifying, assessing and adjusting in response to out-of-sequence events are necessary components to maintaining a functional and high-quality CPM schedule.

In general, the more out-of-sequence activities in the CPM network, the more likelihood that logic revisions are necessary. Zümmer’s Analysis Report # 24 – Out of Sequence in Progress Tasks Report not only lists the “In Progress” tasks that are out-of-sequence but also sorts the activities in order of # Days out-of-sequence.

In the illustration, the schedule is calculated using Retained Logic and the Data Date is 20-May-16. Task D started out-of-sequence and the calculated Early Start is 09-Jun-16. Zümmer defines the # of Days out-of-sequence as the difference between the Early Start and the Data Date. In this case, Task D is out-of-sequence by 20 Days.

Other Zümmer Analysis Reports that relate to Out-Of-Sequence type conditions include:

Analysis Report #23 – Not Complete with Started Successor and:

Analysis Report #25 – Not Started with No Active Predecessors.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

Tracking Activities With Constraints

Constraints allow a CPM network to model external dependencies that are outside of the standard predecessor-successor logic. P6 allows for various types of constraints. Unfortunately, keeping track of activities with constraints can be a difficult task especially if both Primary and Secondary constraints are used.

It’s important to realize that overly assigning constraints to a CPM network works against the algorithm date calculations during the forward and backward pass. Constraints should be kept to an absolute minimum. Also Constraints should be totally understood as to exactly how they affect the Early/Late Start/Finish dates as well as the Total Float value.

Constraints allow a CPM network to model external dependencies that are outside of the standard predecessor-successor logic. P6 allows for various types of constraints. Unfortunately, keeping track of activities with constraints can be a difficult task especially if both Primary and Secondary constraints are used.

In the Illustration above, the 9 possible Primary Constraints and 2 possible Secondary Constraint are listed.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved

Activity Name with Embedded Double Space

The Filters Module in P6 is a very powerful tool. However, when using – the “Activity Name equals/contains” option, problems could arise when Activity Names contain embedded double spaces. For example, in the illustration below, there are 4 ‘Review Bids’ activities. In this case, setting a Filter specification to: “Activity Name contains ‘Review Bids'” will only return 2 results. This is because 2 of the 4 activity names have embedded double spaces.

Checking for this condition using P6 alone is difficult and nearly impossible even in a moderately sized CPM Network.

In Zümmer Analysis Report #02, “Activity Names with Embedded Double Space”, not only lists all instances, but the ‘Set Group’ column even shows you where to look. Using Zümmer concurrently with P6 helps speed the process of eliminating embedded double spaces.

Copyright ©2019 FoxQuest Systems, Inc. – All Rights Reserved