A Little Bit of Lag in Our Lives can be Positive or Negative

Written on . By CPM Solutions

Planners are always plagued with the expectation to create realistic, yet extremely efficient plans (ex. as few activities as possible) with the pressure of looming contract deadlines that demand the schedule to be as short as possible.

Technically speaking, anything that represents time taken during the project can be shown on the path as an activity of some sort and we can break down every little action and event to truly paint a picture of what is happening. But that is not what other people want to see and no one wants to deal with massive schedules that are difficult to read.

There are so many options available in Primavera P6 that we can use to trim the fat off or tuck away things in the schedule. Between activities when we are establishing our logic and relationships, we are given the option of creating “lag”. Lag specifies an offset or delay between an activity and its successor. For example, before starting the next activity we may need to wait for concrete to cure, a leak test to be done, paint to dry, etc.

If you are a MS Project user, I found a great whitepaper that looks at lags and better planning methods.

Lags and Leads: What You Should Know

The lag itself is applied to the relationship itself and affects the start or finish of the successor activity. Primavera gives you the option to have both positive and negative values for lag. You can schedule your lag under four different calendar options which will apply this to the entire schedule:

1. Predecessor Activity Calendar

2. Successor Activity Calendar

3. 24-Hour Calendar

4. Project Default Calendar

**Be wary when using lag on delays that utilize a 24/7 calendar rather than your work calendar (ex. curing concrete, leak tests, drying paint, etc.) because they may finish on a non-work day. Additionally, if you are scheduling multiple projects, the lag option chosen for the default project will take precedence over other options chosen for other projects.

Positive lag can be performed on a simple example of two activities with a delay in between them:

Example: Activity A and Activity B with FS relationship with 5 days lag. There is a 5 day wait between the finish of A and the start of B.


Negative lag is called Lead Time. It’s available to use in P6, but there is a lot of surrounding controversy regarding the use of it because logic and realistic interpretation of the schedule is typically ignored:

Example: Activity A and Activity B with FS relationship with -5 days of lag. Activity A has 5 days “lead up time” to Activity B or Activity B needs to start 5 days before Activity A completes. It all depends on what the activity actually is and the reality of what is happening.


Alternatives to negative lag include:

1. Turning it into a SS+Lag; the only worry here is that there may be an open end if there is no FS successor, as well if there is a delay on the finish date, it may not delay the successor

2. Using both SS+Lag and FF+Lag on an activity; only possible in P6 and it adds a lot of complexity to your scheduling and usually one relationship will be chosen as the driving relationship (check this in your trace logic or activity network diagram)

3. Split up your predecessor into two activities and make the latter half a successor, but SS relationship with the other activity that is supposed to start halfway through the original task. This will introduce another type of complexity, easier to understand and more realistic, but will bloat the schedule:


For the most part, if critical path and logic is important to you, then alternative 3 is the best choice because it adheres to regular scheduling conventions and does not meddle with the precedence diagramming logic (forward and backward pass). Alternative 1 and 2 are not recommended because they can really affect float values and have very little visibility in P6. If critical path is not something that is on your list of worries and you’re maintaining daily schedules, then you can just stick with the original FS + negative lag shown in the example above as it is OK to use in those situations and as long as you’re not progressing the schedule (maybe you’re just doing look-ahead reports?).

If the client does not allow for negative lag, cost and effort of preparing the schedule will go up. If the client does not have specific requirements for lags and leads, then you can use them to your advantage to overlap or pad the schedule. However, you should avoid having too many “holes” in your schedule and hiding your finish dates.

Now, I’ve heard a lot of arguments made on the case for using lags and for the most part, it really depends on the nature of the activities and what the client requirements are for the schedule. Some of the arguments I’ve seen are:

–        “It’ll create a lot problems when you start updating the baseline”

–        “Total float values can be skewed and it distorts the CPM algorithm”

–        “As long you know what you are doing and it reflects what is happening in reality, it is OK”

–        “Using smaller lags work perfectly”

–        “Using negative lag implies that you know what will happen in the future, which is illogical. You cannot go back in time and start work before the last task has finished! Just the idea of it is ludicrous!”

The majority general consensus seems to be to avoid it altogether if possible and use other alternatives. As well, if you are not sure how it will affect your schedule, be sure to apply it on a simple test project or a copy of the project. Here’s just one of many examples where negative lag gave me some bizarre results:


If we can forget about what type of activities we’re dealing with and look at a stripped down, simplified network of activities, the above example I’ve created is a complete network without any open ends. Both Activity B and C are the same duration and have Activity D as a successor. I applied a -5 day lag to the successor of Activity B (I’m aware this does not make sense because both B and C are equally driving D; let’s just entertain the idea for the moment and see how it affects the calculation) and it changed the Late Finish of Activity B instead of on D. Positive float of 5 days is now applied to Activity B which does not make sense.

Even for a simple two activity test, you can see that when you start progressing it and if your first activity is extended by a couple of days, you need to adjust the start day of the successor activity, or else the negative lag value will not match what has been progressed. In short, do some testing first and try to balance best practices with client requirements.

Showing Lag on Your Gantt Chart

Remember that when you add lag (this goes for MS Project users as well), that it is not added to either the predecessor or successor activity durations. The lag duration is separate on its own, applied to the relationship, and is not visible on the Gantt chart or activity table unless you view it in the relationships tab:  


Because lag/leads are not visible in P6, you should customize a layout specifically for viewing lags in order to see them. By using notebook topics that are viewable and easily modifiable by all users, you can create labels on your Gantt chart.

1. For the predecessor activity that you have signed the successor lag to, create a notebook topic (you or your administrator can add additional topics to the list in the administrative settings) and modify with your preferred notes/shorthand for describing lag:


2. Go to your Layout dropdown menu or right-click on the Gantt chart for your Bars menu:


3. In your Bars menu, find and highlight your Current Bar Labels and in the Bar Labels tab, add a right-positon label with the notebook topic that you’ve specified with lag information:


4. Click Ok to save it to your layout and you should be able to view the information in label form on your Gantt Chart now:


Although it does take a little bit more manual work, it is still doable. You can move the labels around, change the font and row height to customize the layout to display better. Depending on how many lags you have inputted into your schedule, it may add more space on your table/Gantt chart.

Checking for Negative Lags in Your Schedule (WEB ACCESS INTERFACE ONLY)

Usually planners will try to keep their use of lags and leads under a certain percentage in their entire schedule. There is way for you to keep track of the big picture statistic if you want in P6 Web Access, the browser interface of EPPM.

1. Click on the Projects Tab

2. Click on the Activities Page/section 3. Click on the Actions dropdown menu

4. Go down to the “Run” options

5. Click on the “Check Schedule” option


6. In the Check Schedule dialog box, select the “Negative Lags – Relationships with a lag duration of less than 0” option and select the target percentage desired

7. Click “Check Schedule”


8. A Check Schedule Report dialog box will pop open for you to view your statistics and warnings