Your Primavera P6 schedule has a binding outside contract constraint date that doesn’t coincide with your schedule’s forecasted project completion date. Because of this, you need to monitor both the project’s estimated completion date and the binding contract completion date on your schedule. Come along as we demonstrate the best way to describe both in one schedule.
Scheduling is similar to writing a story on how a project is performed. The start and stop of the schedule are also somewhat like describing the starting and stopping of a train. You have several tasks or milestones that must take place to get the train up to speed. And several tasks or milestones that describe the train coming to a stop. The beginning may be described by notice to proceed or contract award date milestones followed by a project start milestone. Describing the ending, particularly if you have a contract constraint date that does not coincide with estimated project completion date may be a little more involved.
This article demonstrates the best way to display and monitor both the estimated project completion date and binding contract completion date on one Primavera P6 schedule.
The ideal situation, which we will model, is when the contract completion date falls later than the estimated project completion date. In Figure 1 we have our demonstration Primavera P6 schedule.
Figure 1
This P6 schedule has two paths: the critical experimental path and the non-critical modeling path. Currently, we are defining critical activities as tasks that have zero total float.
We want the schedule to highlight both the estimated project completion date and the binding contract completion date. To do this we first change the name of ‘project complete’ to ‘project completion date’. Second we insert the activity finish milestone ‘contract completion date’. To properly define the ‘contract completion date’ finish milestone we must add a ‘finish on’ constraint to hold it in place on the actual contract completion date.
However, there is a problem in doing this. A constrained milestone, even though not relationally connected to any activity, causes us to lose our critical or longest path depending on the selected scheduling options. Note that in our demonstration we compute the longest path. To define the ‘contract completion date’ activity in a way that does not lose our longest path we must do two steps:
- Insert a relationship between ‘project completion date’ and ‘contract completion date’
- Add an appropriate amount of lag to this relationship
Figure 2
In Figure 2 we have inserted a finish-to-finish (FF) relationship between ‘project completion date’ and ‘contract completion date’, and, additionally modified the FF relationship by adding a lag. We also adjusted the lag (five days), accordingly, so the ‘contract completion date’ milestone finished exactly on the contract’s specified binding contract completion date constraint.
Both the FF relationship and lag were inserted between ‘project completion date’ and ‘contract completion date’ because, otherwise, we would have lost our longest path. Again, we need both the relationship and proper lag definition. The lag must be adjusted, accordingly, so that there is zero total float along the critical or longest path.
Even though our ‘contract completion date’ is now held in place by the FF relationship and lag we still want to insert the ‘contract completion date’ ‘Finish On’ constraint. In Figure 3, we insert the ‘Finish On’ constraint, so that we will be warned by negative total float when the estimated ‘project completion date’ slips.
Figure 3
As displayed in Figure 4, we define critical activities as the longest path.
Figure 4
This was done to align our schedule with the preference of some scheduling guidelines. After recalculating the schedule we see in Figure 5 that our longest path held.
Figure 5
Finally, in Figure 6 we demonstrate what happens when we enter progress actuals that delay our estimated ‘project completion date’ by three days.
Figure 6
Well, on the Gantt chart the delay simply shifted right the ‘project completion date’ and the ‘contract completion date’. So from the Gantt chart we cannot tell there is a problem. However, the activities table total float column is displaying three days negative total float on both the ‘project completion date’ and the ‘contract completion date’, so we know there is a problem. The question is how bad is our delay? The best way to tell is by mentally shifting left the ‘contract completion date’ by three days to its original date, and we’ll observe that we still have two days between the updated ‘project completion date’ and the ‘contract completion date’. So we still are on target.
It is also possible to reduce the lag on the ‘contract completion date’ by three days to view the schedule with the original ‘contract completion date’, Figure 7.
Figure 7
Now you can clearly see on the Gantt chart the two day separation between ‘project completion date’ and ‘contract completion date’, however we also lost our negative total float warning. But that’s okay, we know we are still ahead of the contract schedule by two days.
Summary
It is possible in Primavera P6, to display both the forecasted ‘project completion date’ and ‘contract completion date’ in a way that provides warning when the estimated ‘project completion date’ slips.
When you insert the ‘contract completion date’ with a ‘Finish On’ constraint, remember to insert an appropriate relationship and amount of lag between the estimated ‘project completion date’ and the ‘contract completion date’. This way you won’t lose your longest path and/or critical path.
One more thought, if you want to reset the ‘contract completion date’ and still see a slipping estimated ‘project completion date’ you could place a ‘Finish On’ constraint on the forecasted ‘project completion date’. This would be in addition to the ‘Finish On’ constraint of the ‘contract completion date’. Inserting this constraint though may steer your P6 schedule away from the scheduling guidelines, which tend to be particular about the addition of constraints.