Some planners find it hard to differentiate between Lag and Constraints in Primavera P6 and tend to use them interchangeably because, under certain very limited circumstances, they produce similar results apparently. These are, in fact, entirely different functions. Lag is used to delay (or advance in case of negative Lag) an activity by certain duration units due to some purely technical/logical reasons while Constraints are used, generally in addition to logical relationships, to depict ground realities that cannot be otherwise built through logical relationships (Dependencies) only.
Consider this example: we plan to prepare a concrete foundation and place certain equipment (after the foundation is ready after curing), connect pipework, and then perform the hydro test and box up finally.
As per plan foundation will be ready by 09 May 2023 and equipment can be placed on the foundation on 10 May 2023. We know that it will not be practically possible because the equipment will be delivered on 20 May 2023. Now this is a ground reality that cannot be built into logic because equipment can be logically placed immediately after the foundation is ready to receive it i.e., on 10 May 2023.
There may be a couple of ways to handle such situations in Primavera P6 Scheduling Software.
One way could be to put an 11-day lag between Curing (A1050) and Placement of Equipment on Foundation (A1060) as shown in the figure below:
After putting Lag, the new date for the Placement of Equipment on Foundation (A1060) comes out to be 21 May 2023 which seems logical as the equipment will be delivered on 20 May 2023. The problem seems resolved under the circumstances, but new problems will arise under various situations. For example:
- The Concrete Pouring activity (A1040) needs to be delayed by 2 days because of some modifications in the Bar Bending Schedule (BBS) suggested by the Client. Rebar Fixing (A1020) will now be completed in 9 days instead of 7. This will result in a delay in the planned completion date of the Curing (A1050) from 09 May 2023 to 11 May 2023 and the Placement of Equipment on Foundation (A1060) on 23 May 2023 instead of 21 May 2023. The plan will be showing the Placement of Equipment on Foundation (A1060) on 23 May 2023 whereas equipment will be available on 20 May 2023 causing a delay of 2 days in the Placement of Equipment on Foundation (A1060) without any logical reason. Every time there is a change in any of the predecessor activities, we will need to adjust the Lag in Primavera P6 Scheduling Software just to meet a certain date. This is illogical and, for a large-size project, impractical.
- In case, we plan to work day and night on Rebar Fixing (A1020) and Formwork (A1030) and try to complete both of these activities in 6 days each instead of 7 days resulting in Concrete Pouring (A1040) and hence the Curing (A1050) to be achieved 2 days early, the Placement of Equipment on Foundation (A1060) will be shifted forward by 2 days i.e. on 19 May 2023 which is not achievable because equipment arrival is expected on 20 May 2023. In order to achieve a certain date i.e., 21 May 2023, we would have to increase Lag by 2 days in Primavera P6 Scheduling Software which is again illogical and impractical for a large-size project.
- The equipment is expected to arrive 2 days early i.e., on 18 May 2023 instead of 20 May 2023. To accommodate this in Primavera P6 Scheduling Software, you will need to reduce the Lag between Curing (A1050) and Equipment placement by 19 days instead of 21 days.
You can see if you are using Lag to adjust dates then it will not only be illogical but may not address rapidly changing situations on an almost daily basis. Also, if the project is of large size and too many Lags have been used just to adjust dates, not only it will become difficult to obtain the Client’s approval but also it will become impractical to incorporate frequent changes in the schedule.
So, what is the solution? Obviously, the solution is using suitable constraints in addition to the Logic (Relationships/Dependencies). There are various options available for types of Constraints in Primavera P6 Scheduling Software to choose from as per the situation. These types of constraints include:
- As Late As Possible – used to delay any activity to the maximum possible days as permitted by Free Float available for this activity.
- Finish On – used to fix the finish date of the activity to any date falling within Free Float available for this activity.
- Finish On or After On – used when some activity can only finish on or after a certain date.
- Finish On or Before – used when some activity can only finish on or before a certain date.
- Mandatory Finish – used when some activity must be finished on a certain date. One should try to avoid this stringent constraint as it can supersede any other logic or calendar constraints.
- Mandatory Start – used when some activity must be started on a certain date. One should try to avoid this stringent constraint as it can supersede any other logic or calendar constraints.
- Start On – used to fix the start date of the activity to any date falling within Free Float available for this activity.
- Start On or After – used when some activity can only start on or after a certain date.
- Start On or Before – used when some activity can only start on or before a certain date.
In the 1st situation as described above, you can use the “Start On or After 21 May 2023” constraint instead of Lag. Now in case any predecessor activity finishes early or is delayed, the planned start date of Placement of Equipment on Foundation (A1060) will be adjusted automatically as per the logic as shown below:
In the 2nd situation as described above, where Rebar Fixing (A1020) and Formwork (A1030) are being completed in 6 days each instead of 7 days, you don’t need to do anything as the “Start On or After 21 May 2023” constraint will take care of this situation as well and the planned start date of Placement of Equipment on Foundation (A1060) will remain unchanged i.e. 21 May 2023 because equipment delivery is expected on 20 May 2023 as shown below:
In the 3rd situation as described above, where Equipment is expected to arrive 2 days early i.e., on 18 May 2023 instead of 20 May 2023, you will need to change the constraint from “Start On or After 21 May 2023” to “Start On or After 19 May 2023”. This new constraint will take care of this situation and the planned start date of Placement of Equipment on Foundation (A1060) will change from 21 May 2023 to 19 May 2023 as shown below:
Conclusion:
Extreme care should be exercised keeping in mind the difference between a Lag and a Constraint in Primavera P6. Lag is used to delay (or advance in case of negative Lag) an activity by certain duration units due to some purely technical/logical reasons, for example, providing gaps between different coats of paint, etc. whereas Constraints are used, generally in addition to logical relationships, to depict ground realities that cannot be otherwise built through logical relationships (Dependencies) only. The difference between various types of constraints should be very clear before choosing a constraint as needed for an activity.
At Leopard Project Controls, our experienced scheduling consultants are here to help you navigate the complexities of project management—contact us today to optimize your scheduling strategies!