Home › Guides › Lead Time vs Lag Time in Project Scheduling

Lead Time vs Lag Time in Project Scheduling

Two tasks are rarely linked end to exact start. Sometimes you can start the next one before the first is finished; sometimes you have to wait after it. Those two adjustments are lead time and lag time, and they are the difference between a schedule that reflects reality and one that is quietly wrong by days. They are simple once you see them the right way, and they trip up almost everyone at first because the names sound backwards.

By Uttam Regmi

Lead pulls a task earlier; lag pushes it later:
Lead (overlap)leadLag (wait)lag

The two words, defined

Lead time is an overlap. It lets a successor task start before its predecessor finishes, pulling it earlier. Lag time is a wait. It forces a delay after the predecessor finishes before the successor can start, pushing it later. Lead compresses the schedule; lag stretches it.

The trick to remembering: lead pulls work forward (you get a head start), lag holds it back (it lags behind). Everything else follows from that.

Lead time is negative, lag is positive

In scheduling tools, lead and lag are the same setting with opposite signs on a dependency. A finish-to-start link with two days of lag means "wait 2 days after A ends before B starts." The same link with two days of lead, entered as minus two, means "B can start 2 days before A ends." One number, one sign, opposite effects.

Finish → Start + LagALag 3dBB waits for A + 3d
Lag is an enforced wait after the predecessor; lead is an allowed overlap before it finishes.

When you need lead time

Use lead where work can safely overlap. Classic case: you do not have to finish writing all the documentation before editing begins, the editor can start on the first chapters while later ones are still being drafted. Adding a few days of lead to that link overlaps the two tasks and shortens the project without adding any resources. It is the cheapest form of schedule compression there is.

When you need lag time

Use lag where reality imposes a wait that is not work. Paint needs to dry, concrete needs to cure, a client needs three days to review, a shipment takes a week in transit. None of that is effort you can speed up by adding people, so it is wrong to model it as a task. Model it as lag: a gap on the link, with nobody assigned, that the schedule simply has to respect.

Side by side

 Lead timeLag time
Effectoverlap, starts earlierwait, starts later
Sign on the linknegativepositive
Schedulecompresses itextends it
Typical useoverlapping workdrying, curing, review, transit

How to add it in a tool

Lead and lag live on the dependency, not on the task:

  1. Create the link between the two tasks first (usually finish-to-start).
  2. Open the link and set its lead or lag value.
  3. Enter a wait as a positive number of days, an overlap as a negative one.
  4. Check the finish date, lead should pull it in, lag should push it out.

You can try this in the free gantts.app editor: link two tasks, add lag, and watch the second bar slide right.

A worked example

Worked example: painting a room. "Apply first coat" is finish-to-start before "Apply second coat". But you cannot paint over wet paint, the first coat needs a day to dry.
  • Add 1 day of lag to the link. The second coat now starts a day after the first finishes, with nobody idle in between, the schedule just waits.
  • Compare: if the second painter could start on the far wall while the first was finishing the near one, you would use lead instead, overlapping the two.
Same two tasks, opposite adjustment, and the finish date moves accordingly.

The short version

Lead time overlaps two linked tasks and pulls the schedule in; lag time inserts a wait and pushes it out. In a tool they are one value with opposite signs, negative for lead, positive for lag, set on the dependency, not the task. Use lead to compress work that can overlap, and lag to model real waits like drying, curing and review that no amount of effort can shorten.

Lead is an overlap, lag is a wait. Put them on the dependency, not the task: negative to pull work forward and compress the plan, positive to model the unavoidable waits that a task list would get wrong.

Templates that use this

Frequently asked questions

What is the difference between lead time and lag time?

Lead time is an overlap that lets a task start before its predecessor finishes, pulling the schedule earlier. Lag time is a wait that delays a task after its predecessor finishes, pushing the schedule later. Lead compresses the plan; lag extends it.

Is lead time negative or positive?

Lead time is entered as a negative value on a dependency, because it pulls the successor earlier. Lag time is positive, because it pushes the successor later. They are the same setting with opposite signs.

When should I use lag time?

Use lag for real waits that are not work you can speed up: paint drying, concrete curing, a client review period, shipping transit. Because no one is doing effort during a lag, it is modelled as a gap on the link rather than as a task.

When should I use lead time?

Use lead when work can safely overlap, for example an editor starting on early chapters while later ones are still being written. Adding lead overlaps the tasks and shortens the project without adding resources, making it a cheap way to compress a schedule.

Do lead and lag go on the task or the dependency?

On the dependency. Lead and lag describe the relationship between two linked tasks, so they are set on the link, not on either task itself. Create the dependency first, then add the lead or lag value to it.

Written by Uttam Regmi, founder of Synth88 Labs. An auditor by profession and a builder by passion, he creates privacy-first web and mobile apps from Dubai, UAE, gantts.app among them. More about the maker · LinkedIn · Medium · GitHub

Try it on your own plan

gantts.app is a free Gantt chart maker that runs in your browser. No account, no download, no watermark on exports.

Open the free editor