Back to BlogLead vs Lag in Project Management, With Dated Examples
Fundamentals

Lead vs Lag in Project Management, With Dated Examples

Lead vs lag in project management: lag is a forced wait, lead is a deliberate overlap entered as negative lag. Dated examples for FS, SS, FF and SF links.

Onplana TeamUpdated 7 min read

Lead vs lag in project management comes down to a single sign on one field. Lag is a positive offset that forces a successor task to wait after its predecessor; lead is a negative offset, entered as negative lag, that lets the successor start before its predecessor is done. In Onplana you type it on the link, so FS+2d is a two-working-day wait and FS-1d is a one-day overlap. Mix up which one is which and a schedule either shows dead time nobody explained, or overlap nobody approved.

Lead vs lag in one paragraph

Lag adds enforced wait time to a dependency (curing time, an approval cycle, an environment build). Lead subtracts time by letting the successor start early, entered as a negative lag value. Both attach to any dependency type, Finish-to-Start, Start-to-Start, Finish-to-Finish, or Start-to-Finish; the dependency type decides which dates the offset counts from, and the sign decides whether the successor waits or jumps ahead.

Lead vs Lag: The Core Definitions

Lag Lead
Sign Positive Negative
Effect on schedule Adds enforced wait time Removes time by overlapping work
What it represents A real-world constraint (curing, approval, provisioning) A deliberate decision to start early on partial input
Typical entry FS+2d FS-3d
Risk if wrong Schedule pads out with unexplained idle time Successor starts on work that isn't stable yet

Lag models a constraint that exists whether or not anyone schedules around it: concrete needs 3 days to cure before framing starts, so the dependency carries FS+3d regardless of who is managing the project. Lead models a choice: development starts from near-final mockups 3 days before design formally signs off, entered as FS-3d. Confusing the two means either padding a schedule with wait time nobody can justify, or starting real work on an input that was never actually approved.

Lag: Enforced Wait Time, With a Dated Example

A Finish-to-Start dependency with lag is the most common place lag shows up. With no lag, a successor starts on the working day after its predecessor finishes. Say "Code Freeze" finishes Monday, August 3. "QA Environment Provisioning" needs 2 business days before testing can safely begin, so "QA Testing" is linked FS+2d: it cannot start until Thursday, August 6 (Tuesday and Wednesday are the wait), even though the predecessor already finished. The 2-day gap is not slack the PM invented; it is a real constraint the schedule has to respect or the test results are unreliable.

Lag also shows up on Start-to-Start links. "Content Writing" starts Monday, August 3. "SEO Editing" is linked SS+2d, so it can't start until Wednesday, August 5, once the first few drafts exist to edit against. Without the lag, SS would let editing start the same day as writing, before there's anything written.

Lead: Deliberate Overlap, With a Dated Example

Lead is the same mechanic run in reverse: a negative number that lets the successor jump the queue. Take that same "Code Freeze" to "QA Testing" link, but suppose the QA team can validate against a release candidate build a day before the formal freeze completes. The link becomes FS-1d: if Code Freeze finishes Monday, August 3, QA Testing starts that same Monday instead of Tuesday, working from the near-final build.

Finish-to-Finish with lead is common in documentation work. "User Acceptance Testing" finishes Friday, August 14. "Release Notes" is linked FF-1d, meaning release notes must be substantially done 1 day before UAT finishes, so a -1d lead pulls the release-notes finish date to Thursday, August 13, forcing the writer to work from the UAT team's earlier findings rather than waiting for the final sign-off.

Lead and Lag Across All Four Dependency Types

The four dependency types each measure lead and lag from a different pair of dates, which is why the same "2 days" means something different depending on which type carries it. All four, with lag, are on every Onplana plan including Free; how the four links are drawn and entered is covered separately.

Link Offset measured from With lag (+) With lead (-) Typical use
Finish-to-Start (FS) Predecessor finish Wait after it ends (FS+2d) Start before it ends (FS-1d) Curing, provisioning, approvals
Start-to-Start (SS) Predecessor start Start a set time after it starts (SS+2d) Rare; usually a data-entry error Writing, then editing
Finish-to-Finish (FF) Predecessor finish Finish a set time after it ends (FF+1d) Finish before it ends (FF-1d) Testing, then release notes
Start-to-Finish (SF) Predecessor start Finish after the other starts (SF+1d) Rare; a gap in cover Handover and cutover

The diagram below shows the same 2-unit offset applied as lag (a gap) and as lead (an overlap) across a Finish-to-Start pair, so the schedule movement is visible rather than abstract.

Finish-to-Start dependency: lag creates a gap, lead creates an overlap Lag (FS+2d): enforced gap Predecessor 2-day gap Successor Lead (FS-2d): deliberate overlap Predecessor Successor 2-day overlap: successor starts before predecessor finishes

Start-to-Start with lag delays the successor's start relative to the predecessor's start (content writing, then SEO editing 2 days later). Start-to-Start with lead would let the successor start before the predecessor even begins, which is unusual enough that most PMs treat it as a data-entry error rather than a real plan.

Finish-to-Finish with lag forces the successor to finish some time after the predecessor (final report finishes 1 day after the audit closes, to capture the closing notes). Finish-to-Finish with lead pulls the successor's finish date earlier, as in the release-notes example above.

Start-to-Finish, the rarest of the four, links a successor's finish to a predecessor's start. It shows up in cutover scenarios: "New Support Desk Live" (predecessor) starts, and "Legacy Support Staffing" (successor) must finish 1 day later (SF+1d), giving a 1-day overlap where both teams are staffed during handoff. A lead on an SF link would mean the legacy team stands down before the new desk is even live, which is the kind of gap circular and malformed dependency detection exists to flag before it reaches a live schedule.

When a Lead Is Actually a Resource Problem

A lag almost always represents something true about the world: concrete cures on its own schedule regardless of the project plan. A lead is different, because a lead is a claim, not a fact: it says the successor can safely start on unfinished input from the predecessor. That claim is sometimes right and sometimes a resource-availability compromise wearing a scheduling decision as a disguise.

The tell is whether the lead has a defined trigger. "Development starts 3 days before design finishes, once the component library is approved" is a real lead: the trigger is specific and verifiable. "Development starts 3 days early because the team is free that week" is not a lead, it is a resourcing decision that happens to compress the critical path on paper while quietly increasing rework risk, because the team is now building against a moving target. If a schedule review can't name what specifically is stable enough to start on, treat the negative lag as a red flag, not a win.

This is exactly the kind of pattern that's easy to enter once in a project plan and then never revisit as scope shifts underneath it. Run the free Schedule Health Check against your .mpp file to surface every lead and lag in the schedule at once, rather than hunting through the Gantt chart link by link, and cross-check the leads without a documented trigger before they turn into rework. For the mechanics of how a two-day slip on a dependency ripples through the rest of the plan, the critical path worked example walks through the forward and backward pass in full. When you deliberately overlap work to save time, that is fast-tracking, and every lead you add is a bet worth naming. The Onplana Gantt chart with critical path recalculates the dates as soon as you edit a link. Both posts, along with this one, live in the broader scheduling fundamentals library if you're working through the dependency model end to end.

Run the free Schedule Health Check Upload your .mpp file and see every lead, lag, and dependency flagged in one pass, no signup required. → Open the Schedule Health Check

lead vs lag project managementwhat is lag in a schedulenegative lagfinish to start with lagtask dependency typesProject SchedulingFundamentals

Frequently asked questions

What is the difference between lead and lag in project management?

Lag is enforced wait time between two dependent tasks, entered as a positive number. Lead is deliberate overlap, entered as negative lag, that lets a successor start before its predecessor finishes.

What is lag in a project schedule?

Lag is the number of working days a successor task must wait after the dependency condition is met before it can start. A Finish-to-Start dependency with 2 days of lag means the successor starts 2 days after the predecessor finishes, not immediately.

What is negative lag used for?

Negative lag, also called lead, models genuine overlap: work that can safely start before its predecessor is fully done, such as starting build work from near-final design mockups. It compresses the schedule without removing the dependency.

Can every dependency type carry a lead or a lag?

Yes. Finish-to-Start, Start-to-Start, Finish-to-Finish, and Start-to-Finish can all carry a lead or lag value; the dependency type sets which dates the offset is measured from, not whether an offset is allowed.

Do lead and lag work on every Onplana plan?

Yes. The Gantt chart, the critical path and all four dependency types with lag are on every Onplana plan, including Free. Enter the offset on the link, for example FS+2d for a two-day wait or FS-1d for a one-day overlap.

How do I know if a lead in my schedule is a real time saving or a hidden risk?

Check whether the overlapping work has a defined, stable starting point (an approved partial deliverable) or whether it is starting on a guess. A lead with no defined trigger is usually a resource-availability compromise disguised as a scheduling decision.

Ready to make the switch?

Start your free Onplana account and import your existing projects in minutes.