Free tool

Critical Path Method for Programmes: Float, Links and Lags

Nine activities in three components, with one set of durations, take 19 weeks when the components run independently. Add four links between them and the same work takes 28 weeks. The work did not change, only the dependencies. Most explanations stop at one project. A programme manager holds several schedules at once. The critical path can leave one component and run through another without anyone deciding that it should. This page gives you a calculation sheet you can copy, then runs one worked programme three ways: with no links, with two finish-to-start links, and with a start-to-start link carrying a two-week lag (a fixed delay added to a link between two activities) and a further finish-to-start link into go-live. It shows how float (spare time) moves and which weeks are shared. A slip in data migration would have cost nothing in the first schedule and costs a week-for-week delay in the third. All durations are in working weeks, and every figure can be reproduced by hand.

weeks
weeks
weeks
weeks
weeks
weeks
weeks
weeks

Programme duration (scenario C, working weeks)

—

P3 Platform test earliest start (week)
—

Assumptions

  • Durations are in working weeks on one five-day calendar, and the programme starts at week 0.
  • No date constraints, one calendar and no resource levelling, so zero float and the longest path coincide.
  • Links are those of scenario C: D3 waits for P2, P3 waits for D3, T2 starts after P3 starts plus the lag, and T3 waits for P3 and T2 to finish.
  • T1 Training content carries float and does not set the programme finish, so it is not an input.

By Sanjeev Kumar, Founder · Updated 10 Nov 2026

In brief

The critical path method calculates the earliest possible finish of a set of linked activities and the float of each activity. Activities with zero float form the critical path, the longest chain of dependent work. A link between components can move the critical path into a different component.

The sheet takes six inputs per activity plus one programme start week, and returns the earliest and latest dates, both floats, a critical flag and the programme duration. Enter durations in working weeks on one calendar, leave the link type as finish-to-start (FS), the other types being start-to-start (SS) and finish-to-finish (FtF), and the lag at zero unless the work demands otherwise, and start the programme at week 0.

InputUnitDefault
Activity ID and nametextnone
Componenttextnone
Durationworking weeksyour expected duration (use a three-point estimate if you only have a range)
Predecessor IDtextnone
Link typeFS, SS or FtFFS
Lagweeks0
Programme start (one value for the whole programme)week0

Use a five-day working week as the default. If one component runs on a different working calendar, convert its durations to the common calendar first. Multiple calendars distort the critical path (GAO Schedule Assessment Guide, Figure 32).

ResultFormulaSource
Earliest start (ES)Largest value given by the link rules below; the programme start for an activity with no predecessorPMI Practice Standard, section 2.2.1 (forward pass); link rules are our model
Earliest finish (EF)ES + durationPMI Practice Standard, section 2.2.1
Latest finish (LF)Smallest value given by the link rules below; the programme finish for an activity with no successorPMI Practice Standard, section 2.2.1 (backward pass); link rules are our model
Latest start (LS)LF − durationPMI Practice Standard, section 2.2.1
Total float (TF)LS − ES, or LF − EFPMI Practice Standard, section 3.4.2
Free float (FF)ES of the earliest successor − EF; for an activity with no successor, use the programme finish in place of the successor's ESPMI Practice Standard, section 3.4.2 (never negative)
Critical?TF = 0PMI Practice Standard, section 3.4.1, under the clean-model assumptions above
Programme durationLargest EFPMI Practice Standard, section 2.2.1

Link rules, as our sheet applies them (our model):

  • FS: successor ES ≥ predecessor EF + lag.
  • SS: successor ES ≥ predecessor ES + lag.
  • FtF: successor EF ≥ predecessor EF + lag.

The backward pass reverses these. For FS, predecessor LF ≤ successor LS − lag. For SS, predecessor LS ≤ successor LS − lag. For FtF, predecessor LF ≤ successor LF − lag.

Key takeaways

  • The critical path method gives you the earliest programme finish and the float of every activity. The activities with zero float form the critical path, and a delay on any of them moves the finish date, unless the delay is recovered.
  • A link between components can move the critical path into a different component. In our worked programme, two links took the finish from 19 to 23 weeks and put a data activity on the critical path.
  • Float belongs to a path, not to one activity. Two activities that each show 5 weeks of float share the same 5 weeks.
  • A lag on a link adds its full length to the critical path and hides inside the link. Record it, give it a reason, and test whether an activity would show the work more clearly.

What does the critical path method calculate in a programme?

The critical path method calculates the earliest possible finish of a set of linked activities and the float of each activity. Float is the time an activity can slip without moving the finish. Activities with zero float form the critical path, the longest chain of dependent work. The Project Management Institute (PMI) Practice Standard for Scheduling describes the method as determining the minimum total duration, the earliest finish and the scheduling flexibility.

Terms used from here on:

  • Activity: one piece of work with a duration.
  • Predecessor: an activity that must reach a stated point before another can proceed.
  • Forward pass: working left to right to find the earliest start (ES) and earliest finish (EF) of every activity.
  • Backward pass: working right to left from the programme finish to find the latest start (LS) and latest finish (LF).
  • Total float (TF): how long an activity can be delayed without delaying the programme finish.
  • Free float (FF): how long an activity can be delayed without delaying any successor.

Zero float and the longest path agree only in a clean model. In most projects the critical path is no longer a zero-float path, because date constraints, several calendars and resource levelling distort the calculation (PMI Practice Standard, section 2.2.1). The same caution appears in the US Government Accountability Office (GAO) Schedule Assessment Guide. The sheet below assumes no date constraints, one calendar and no resource levelling, so zero float and the longest path coincide.

What does the critical path method show for three independent components?

With no links between components, the programme duration equals its longest component. Our example has three components: Platform (P), Data (D) and Training (T). Each is a chain of three activities. Platform runs 4 + 10 + 5 = 19 weeks, Data 3 + 6 + 4 = 13 weeks and Training 5 + 6 + 2 = 13 weeks.

Scenario A, all components independent (our worked example, durations in working weeks):

ActivityDurESEFLSLFTFFF
P1 Platform design4040400
P2 Platform build1041441400
P3 Platform test51419141900
D1 Data audit3036960
D2 Data cleanse63991560
D3 Data migrate4913151966
T1 Training content50561160
T2 Train users6511111760
T3 Go-live21113171966

The programme takes 19 weeks and the critical path is P1, P2 and P3. Data and Training each carry 6 weeks of float, the 19-week programme minus their 13-week chains.

Read this result as three separate schedules that happen to end together. A delay in Data or Training has to exceed 6 weeks before it matters. The result changes the moment one component needs something from another.

How do you read float without spending the same weeks twice?

Float is shared along a path, so two activities showing 5 weeks of float each have 5 weeks between them, not 10. In scenario B, D1 and D2 each show 5 weeks of total float. We tested this by adding weeks and recalculating:

  • Delay D1 by 5 weeks: the programme stays at 23 weeks, but D2's float is now 0.
  • Add one more week to D2: the programme becomes 24 weeks.

Total float and free float answer different questions:

  • Total float asks whether the programme finish moves. D2's total float is 5 weeks.
  • Free float asks whether the next activity is held up. D2's free float is 5 weeks too (D3 starts at week 14, D2 finishes at week 9), while D1's is 0 because D2 starts the moment D1 finishes.

Free float is measured to the earliest successor, so it can only be positive where a successor has a second predecessor that finishes later, or where the activity is last in its chain and the programme finish comes after it, as D3 and T3 do in scenario A.

Two further rules for reading the sheet:

  1. Watch near-critical activities, those whose float sits within a narrow band of zero. Our recommendation: treat activities with total float within 10% of the programme duration as near-critical (2.3 weeks at 23 weeks), and write the band down so it is applied the same way each cycle.
  2. Recalculate at every status update. A programme-level critical path changes as work is updated, and a failure on a component's own critical path can pull that component onto the programme critical path at any time (GAO Schedule Assessment Guide, "Program and Project Critical Paths"). Track both levels.

Which checks make a programme critical path trustworthy?

A programme critical path is trustworthy when it passes six checks, each with a clear pass or fail. They follow the checks in PMI's Practice Standard and GAO's guide, plus our recommendations on ownership and recalculation.

  1. No open ends. Pass: only the start and finish have no predecessor or no successor. Fail: any other activity with a missing predecessor or successor.
  2. Every lag justified. Pass: each lag has a written reason, and replacing it with a named activity of the same duration changes nothing except clarity. Fail: a lag nobody can explain.
  3. Constraints tested. Pass: removing each date constraint on a non-finish activity leaves the critical set unchanged. Fail: the set changes, meaning the constraint, not the logic, is driving the dates.
  4. Link owners named. Pass: every cross-component link has a named owner on both sides (our recommendation). Fail: a link nobody owns.
  5. Near-critical list written. Pass: a stated float band and a list of activities inside it. Fail: no band, so no list.
  6. Both levels compared. Pass: after each update you can name the component currently driving the programme and compare it with each component's own critical path. Fail: you cannot say which component drives the date.

Where does programme scheduling fit in Program Management Professional (PgMP®) preparation?

Programme schedule integration sits in the largest domain of the PgMP® exam. PMI's PgMP Examination Content Outline (March 2024) gives Program Life Cycle Management 44% of the exam. Its Task 9 reads "Establish the program management plan and schedule by integrating plans for constituent projects/components". Schedule management, techniques and tools also appear in its knowledge list.

If you are moving from running projects to running programmes, the same dependency logic carries into the exam and the role. Our PgMP® certification training page sets out what the fee buys. The PgMP Self-Paced Mentorship Program gives structured learning, application guidance and exam preparation. It includes 24+ hours of video modules, 1,000+ exam-preparation questions with detailed explanations and 24 PDUs (professional development units). As of November 2026, it is priced at US$549 per enrolment; pricing varies by market, so ask us for the figure that applies to you.

A free discovery consultation is available before you enrol: write to support@augmentconsultancy.com.

Keep reading

Frequently asked

You subtract 1 only if you count days inclusively, with the first day of the project as day 1. In that convention an activity finishing on day 9 lets a successor start on day 10, so the gap is the successor's start minus the finish minus 1. If you start at 0 and count a finish as the end of the period, free float is simply the successor's early start minus the activity's early finish.
Yes, when two chains tie for the longest duration, both have zero float. A project can have multiple critical paths, and this carries higher risk, because failing to meet any one of them can delay completion (PMI Practice Standard, section 3.4.1). Managing it means watching each chain, and a small slip on either one moves the finish.
Float on a shared path is better held by the programme manager than by any single activity owner. This is our recommendation: ask owners to report float use at each status update, and record any use of float in the programme schedule.
No: with date constraints, multiple calendars or levelled resources an activity can show zero float without being on the longest path, so check the longest path separately. Zero float and the longest path agree only in a clean model, one with no date constraints, a single calendar and no resource levelling.

Sources

  1. 1.Practice Standard for Scheduling, Second Edition (©2011), Project Management Institute
  2. 2.Schedule Assessment Guide: Best Practices for Project Schedules, GAO-16-89G (December 2015), US Government Accountability Office
  3. 3.PgMP Examination Content Outline (March 2024), Project Management Institute

Talk to a certification expert

Share your details and the program you are interested in.

Augment Consultancy.

Helping professionals worldwide achieve PgMP® and PfMP® certification through expert mentoring, practical learning, and proven success.

© 2026 Augment Consultancy

Powered by PageLens.ai

Talk to a certification expert.