We already discussed two types of schedule quality metrics: Missing Dependencies and Activity Constraints. Another important area to control is activity lags and leads.

A project delivery schedule must reflect real-life processes and the way how the work is going to be performed. Often processes include essential shifts between parallel or sequenced activities. The shift between activities is called dependency ‘Lag’ or ‘Lead’.

Lag is the amount of wait time between commencement and completion points of different activities.

Lead is the amount of acceleration time between commencement and completion points of different activities.

In simple words, a Lead is a negative Lag.

Is it good or bad to have Lags in the schedule?

Activity lags and leads are extremely important as they allow to optimise project delivery by performing tasks in parallel or overlapping activities. Project managers need to look at any opportunity to use lags and leads in their schedules.

It is hard to imagine a DELIVERY schedule without Lags. If a schedule doesn’t contain any lags, it is a good indicator that potentially the schedule is not used for delivery, only for reporting.

Also, there are many situations when dependencies with leads may require. It could a contractual obligation or ATAP (As Timely As Possible) scenario.

Example: The contract states that the Notification needs to be issued 30 days prior to the completion of construction.

However, lags/leads require special attention for a number of reasons:

  • They could be used to hide contingency or delay;
  • Some scheduling systems (like Primavera and Microsoft Project) don’t provide front-end access to the dependency table and lack features to control dependencies with Lags. It adds significant schedule risk to a project.


  • All lags must be explained. Only authorised and accepted lags should be in a schedule;
  • Clear process has to be established to manage dependencies with lags.

The Schedule quality assessment has to include metrics to control lags and leads.

Before reviewing the Lag metrics, let’s understand how lags work in real life and how scheduling tools could help us to simulate work with dependency lags.

    Lags & Leads

    There are 4 main types of dependencies and scheduling tools that allow each of them to have a lag or a lead. It gives us 8 possible theoretical scenarios of application lag/leads in a schedule.

    However, not all of these scenarios are actually valid scenarios.

    For example: ‘SS – 5 days’ scenario has a logical conflict. On one hand we said that the successor can only start after the predecessor has started. On another hand, we said that the successor can start before the predecessor.

    These scenarios have to be eliminated from the schedule. In this case a schedule quality metric to identify such scenarios becomes very handy.

    Time and Volume Lags

    By nature, there are two types of lags in projects: Time Lags and Volume Lags.
    Time lags are required when by PROCESS, there is a requirement to have a “wait” TIME between activities.

    Volume lags are required when by PROCESS, a successor activity could commence only after the required volume of work of the predecessor is achieved.

    When ‘volume lag’ is presented by ‘time lag’ it may create an unexpected issue. If the predecessor activity has started but didn’t progress as planned (and the minimum required volume is not achieved), the schedule will incorrectly show that the successor activity already could commence.

    Lag Calendars

    The duration of a ‘Time Lag’ depends on the applied calendar.


    A 24h lag may mean 1 day with 24*7 calendar and 3 days with 8*5 calendar.

    A lag may have a different calendar from predecessor and successor activities calendars.


    Home Renovation project requires to deliver the heavy sofa to a room, after paining of all walls in this room is completed

    • The painting could be performed between 5pm-10 pm (Mon – Sat);
    • The Delivery is only possible between 8am – 12pm (Mon – Fri);
    • It is technically required 16 hours the painting to dry;

    In a schedule, it is going to be “FS+16 hours” dependency, but the predecessor, the successor and the lag calendars are going to be different.

    It is hard to simulate such a scenario in Microsoft Project or Primavera. Below we will review a potential workaround.

    Lags in Scheduling Systems

    Scheduling systems have different levels of maturity and features to manage lag.



    Primavera doesn’t support Volume lags and offers four options to manage lag calendars.



    • Predecessor Activity Calendar,
    • Successor Activity Calendar,
    • 24-Hour Calendar, and
    • Project Default Calendar.


    For whatever reason, lag calendars setup has to be done in the ‘Schedule option’ dialogue window. It is a Project characteristic that has to be defined prior the schedule development being commenced, not during the calculation.

    • Unfortunately, users have to choose one of the options that will be applied to the whole schedule. It is not possible to apply a predecessor calendar lag in one part of the schedule and a successor calendar lag in another part of the schedule;
    • When the external schedule is analysed, it is important to know which setting in Primavera was used by the external party. Changes in this setting may result in different activity start and finish dates and even change the Project Critical Path;
    • Primavera users must be extremely careful when opening multiple projects as the Lag Calendar option could be different for each project. This is because all the project options are changed permanently to be the same as the Default Project and therefore some of your projects may not calculate the same way as they did before opening the projects together;
    • Primavera doesn’t provide front-end access to the dependency table and makes it extremely hard to control dependencies with lag and leads. There is possible to generate a report of activities with dependency lags but then users have to manually find and review each activity one by one.

    Microsoft Project

    Microsoft Project doesn’t support Volume lags and doesn’t provide options to manage lag calendars. The lag duration is always calculated on the successor calendar.

    Microsoft Project offers the users an opportunity to use % Time lags. While it may sound like a good workaround to a volume lag, users have to be extremely careful with using this feature. The tool calculates the duration of ‘% lag ’ in a very unusual way. They use a predecessor duration in hours as a 100% base but apply a successor calendar to calculate the actual duration of the lag.



    The ‘Activity A’ has the standard (8h*5d) calendar and the ‘Activity B’ has 24 hours calendar. These two activities have SS+50% dependency: 

    It is hard to understand why the lag has the 2 days of duration as it is shown in the ‘Start’ column and the Gannt Chart: 50% of the ‘Activity A’ is 5 days and 50% of the ‘Activity B’ is 24 hours. None of these options gives us 2 days!

    In this case, Microsoft Project calculates the dependency lag as:

    • 50% of predecessor duration in hours: 8h * 10d *50% = 40 hours
    • 24 hours calendar from the successor applied: 16 hours 27/06 (the successor starts at 8am) + 24 hours 28/06. So, the ‘Activity B’ starts at 12am 29/06:


    I think it is very confusing and applicable to real-life scenarios only when predecessor, successor and lag calendars are the same.

    Spider Project

    Spider Project supports Time and Volume Lags and allows specifying a calendar for each lag.

    Spider Project provides front-end access to the dependency table including lags attributes and notes.

    Users can add a note that explains the reason for each Lag and identifies changes in lags by adding a column ‘Lag difference from compared schedule’ and applying a filter in the table. 

    Additionally, when Spider Project users apply a filter in the dependency table, the filtered dependencies could be reflected in the Gantt Chart view. For example, a user may want to show only activities with changed lags.

    Schedule Export Issue

    The misalignment in approaches to managing lag calendars in different scheduling tools creates a massive issue when a schedule needs to be exported from one tool to another.
    This is one of the examples of such an issue:


    I can offer a workaround, for both Primavera and Microsoft Project users to apply lag calendars correctly. If between predecessor and successor add a technical milestone, it would be possible to specify the milestone’s calendar that represents the lag calendar.

    This workaround should solve the lag calendar issue but adds unnecessary complexity to the schedule and hopefully one day Oracle and Microsoft can add lag calendars to their scheduling tools as already realised in Spider Project.


    Points to consider

    • Leads require special attention as in some cases it may result in a reverse logic when a successor activity requires to start (or even finish) before the predecessor activity commenced. 
    • It is possible but not easy to find dependency Lags in Primavera and Microsoft Project schedules. The general consensus of Primavera and Microsoft Project experts is that the use of relationship lag should be minimal if it’s used at all. Such suggestions solve the control issue but limit projects to simulate work as it is going to be performed in real life. Other consultants proposed workarounds to identify activity with lags via reports:


    Reports are useful but still require a lot of effort. Based on the report users still need to identify each activity manually in the schedule, one by one.  


    Replacing lags and Leads with activities

    Another workaround recommended by consultants is replacing Lags/Leads with activities.

    This might be not a bad idea, but it is important to understand that such an approach solves one problem and creates many others. Lags, compared to activities, don’t represent project work, they don’t have associated costs or resources, and should be excluded from project performance. This workaround may impact the calculation of project progress and EVM metrics. It is hard to distinguish real activities from ‘lag activities’. Additionally, this approach required changes to other schedule quality metrics, (‘activities without resources’ as an example).


    How to use an activity instead of lead?

    Leads could be replaced by activities through the way of creating a ‘lead activity’ with FF dependency to the predecessor and SS dependency to the successor.

    DCMA 14 Points Schedule Assessment Lead/Lag metrics

    DCMA 14 points Schedule Assessment includes two metrics to control lag and leads.

    Metric 2: Lead
    The DCMA requires no leads (0%) to be used in the schedule.

    Metric 3: Lags
    Total number of activities with lags should not exceed 5% of the activities within the schedule.

    As described above there is very beneficial to use lags and leads as it may help to shorter project delivery. The number of lags/leads in the schedule depends on the nature of the project. 5% is just an indicator to review schedule closely but not an automatic schedule quality issue. I would recommend planners and schedules learn how to control lags and leads, instead of restricting them in the schedule.


    It is possible to build a filter to identify activities with predecessor (or successor) “lag” (or lead) in Microsoft Project, but not in Primavera.


    Activities with Lags (MS Project)


    Activities with Leads (MS Project)

    The ‘Predecessor’ and ‘Predecessor Details’ columns in Primavera don’t show the plus (“+”) symbol for lags. The minus symbol (“-“) for leads is shown, but Primavera in these columns shows activity code (Not activity ID), and the code may contain the minus “-“ symbol.

    Alex Lyaschenko

    PMO | Portfolio Planning & Delivery | PMP | P3O Practitioner | AgilePM Practitioner | Six Sigma