Q & A: “How Do You Know When to Use a Constraint or Lag?”

Written on . By CPM Solutions


“P6 lets me add constraints and lags to activity relationships. How do you know when to use a constraint or lag on an activity and which one is best for each situation?”


This question seems to be a favourite in our P6 training courses. Not all relationships are the same when it comes to project planning. External and internal factors can impose challenges that project managers have to deal with ASAP! There is no specific rule that says when to use a constraint or lag on an activity, but based on what each does we can make an educated assumption.

First, let’s talk about constraints.


Constraints are set in P6 to specify a date or a point in time when an activity can begin or end. Constraints can also be imposed on the entire project. Constraints can be thought of as “rules” – they are concrete in the schedule. Constraints are imposed by external forces, like a delay in delivery of materials or a date a stakeholder requires the project to be finished. Constraints are best used on milestones but can also be used on individual activities. A rule of thumb is that the less constraints you use the better.

You can assign two constraints to an activity if it can only be completed in a specific time frame. For example, if a site is only available from Feb 1 to Feb 14 for a 5 day activity, you could assign a “Start On or After” constraint to Feb 1 and a “Finish On or Before” constraint to Feb 14 to have the activity completed between these dates.

Constraints can ignore network logic, if needed, to meet the requirements you set. In this way, constraints can affect your project schedule negatively if you do not complete predecessor activities on-time.

Overview of Constraints:

  • Constraints are used to set dates in the schedule that must be met.
  • Constraints directly affect the activity they are set to, and then indirectly affect the predecessor and successor activities.
  • Use constraints on milestone activities to meet deadlines.
  • Constraints Lare “rules” that cannot be changed.
  • Do not assign too many constraints, or network logic can be ignored.


Lags, on the other hand, do not set specific dates. Instead, you can set a delay or a lead time for a predecessor or successor activity. If you enter a positive number, you will delay the successor activity by the number of days specified. In contrast, if you enter a negative number (lead), you will reduce the length of time between the activity and its predecessor.

Lags are usually imposed by internal forces. For example, a lag could be due to drying time required for concrete laid. These are forces that are due to the nature of the activity, not by an external force. In this example, you could add a 10 day lag to wait for the paint or concrete to dry completely and to begin the next activity. The date of the next activity will change depending on when the predecessor activity is finished.

Overview of Lags:

  • Lags are used to set delays or lead time between two activities.
  • Lags affect the relationship between two activities (predecessor and successor).
  • Apply lags to any activity type, but usually task dependent or resource dependent.
  • Lags are calculated using the predecessor’s calendar.
  • Lags are used when an internal force causes an activity to be delayed.
  • Lags are more “controllable” within the schedule.


Both lags and constraints should be applied with caution because of the effect that it can have on the schedule. The main difference is that constraints should be used when there is an external force, whereas lags should be used when there is an internal force affecting the activity. As a best practice, always add a note in the activity Notebook tab to indicate why you are adding the constraint or lag to an activity so that other P6 users do not change anything without prior knowledge.

Have any questions about constraints or lags? Let us know!