Trap: “Must Finish By” constraint at 00H: 00M

If in the User Preference window, the Dates-> Time option is set to “Do not show time”, then P6’s schedule calculation of Total Float values could be incorrectly calculated when a date is entered in the Project –> Schedule Date –> Must Finish By textbox.

When time is not shown and a date is entered in the Must Finish by textbox, the time stored by default is:  00H: 00M. This means that the date shown will not be considered during P6’s schedule calculations during the backward pass. This oversight causes every Total Float value to be 1 day less than the correct Total Float value.

In the illustration below, the “Analysis Charts 1 of 2” reports 4 activities with negative float even though the “Must Finish By” date matches the Contract Completion Milestone in the schedule.

Zümmer’s Analysis Charts, Analysis Statistics and Project Settings reports provide the red alert message “Possible Bad Planned End Date – Check Planned End Date Hours” under the Planned End box when the “Must Finish By” constraint date contains “00H: 00M” as the time value.

When this situation occurs, first return to the User Preferences window then change the Time option setting to either “12 Hour (1:30 PM)” or “24 Hour (13:30)”.

Second, return to the Projects-> Dates option. the “Must Finish By” option will now show with the Hours, Minutes as “00:00”.

Then change the hours and minutes setting to reflect the ending hour and minutes settings for the Project (typically 17:00/5:00 PM or 16:00/4:00 PM) as shown below.

Lastly, recalculate the Project as normal. The resulting Total Float values will now correctly include the Finish date during the backward pass process.

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

Determining Added or Deleted “Driving Path” Activities

Regardless of the settings for Project->Define Critical Activities:

(a) Total Float less than or equal to; or

(b) Longest Path,

…after a schedule calculation, P6 will mark certain activities on the ‘Driving Path’. The term ‘Driving Path’ is not defined in P6, however, upon observation of the internal database table “Task”, the field name “Driving_Path_Flag” is set to “Y” for activities that are on the longest overall path as shown below.

Changes to the Driving Path between Project updates are possible, however, in P6, those changes are difficult to determine without first assigning a Project as a baseline.

In the illustration below, The Original Duration for Activity “LH930 – Paint Building Interior” was increased from 30 to 35 days causing the activity to fall on the Driving Path. Consequently, 3 activities were removed from the Driving Path.

Zümmer reports these changes in Comparison Reports #22/23 – Added/Deleted Driving Path Activities. Shown Below:

Comparison Report #22 – Added Driving Path Activities
Comparison Report #23 – Deleted Driving Path Activities

Copyright 2019 FoxQuest Systems, Inc. – All Rights Reserved

Analysis Statistics (1 of 2) – Information at your fingertips.

Zümmer’s, Analysis Statistics Report is the next level of detail from the Analysis Charts. The first of two reports neatly displays 6 key Project elements on 1 page. This matrix type report is ideal for Schedule Manager reporting. The illustration below is a sample of a typical Analysis Statistics Report.

1) Activity Status: Details the Status of every activity categorized by Activity Type.

2) Criticality: Details the Criticality State of every remaining activity categorized by Activity Type.

3) Constraints: Counts every Primary & Secondary Constraint and groups by Constraint Type.

4) Relationships: Categorizes all relationships based on Type. The R/A Factor (# of Relationships/# of Activities), measures the complexity of the CPM network, the higher the number, the more complex the CPM network. The L/A Factor (# of Lags/ # of Activities), measures the use of lags in the CPM Network. The higher the number, the more lag usage in the CPM Network.

5) Calendar: Lists all the Calendars used on the Project with individual Type, Hrs/Period, Totals and % Usage.

6) Additional Project Specifications and the Criticality Threshold values are clearly listed.

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

How to end up with Negative Float without any constraints

Negative Total Float typically means that the Project is not meeting completion requirements (usually represented by a Constraint) and therefore efforts must be initiated in order to recover from the realized impacts.

However, Negative Total Float can occur even if the Project has no constraints whatsoever. In the illustration above, the Data Date is Monday, June 6 and Task C is assigned to a 7 Day Calendar with an Original Duration of 3 Days. Finish Milestone D is assigned to a 5 Day Calendar. Therefore, the Early Finish for “C” is Saturday, June 11. Since “D” is assigned to a 5 Day Calendar, it cannot end on Saturday, therefore, P6 calculates the Early Start as Monday, June 13 at 08:00 AM.

On the Backward Pass, the Late Finish for “D” and “C” are calculated as Friday, June 10 at 05:00 PM but that is 1 Day earlier than the Early Finish for “C”. Therefore the calculated Total Float for “C” is -1. The Backward Pass propagates that result back through the CPM network to “A”.

In a CPM network with many activities, and multiple calendars, it’s possible that this effect could accumulate resulting in “False Negative” Total Float values.

The solution in this illustration is to reassign “D” to the 7 Day Calendar. Then recalculate the schedule.

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

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