1.3 · Links & Task Dependencies

Level 1 · Beginner: Tasks, Durations & Scheduling

1.3Links & Task Dependencies

Goal: Chain tasks with typed and offset dependencies, for a realistic schedule that recalculates itself.
Estimated time: 14 min · self-paced reading · If you only have 5 min: read “The essentials in 30s” + the diagram.

The essentials in 30 seconds

  • Tasks are chained by dependency links: the most common is Finish-to-Start (FS).
  • Offsets refine the link: a lag (+) to wait, a lead (−) to overlap.
  • It is the logic of links, not entered dates, that lets Project recalculate — and later find the critical path.

Running mini-case — Meriem chains the tasks of a site

Meriem plans a client site: after the foundations comes the structure, then the services. Rather than entering dates by hand, she links the tasks: “Erect the structure” in Finish-to-Start after “Pour the foundations”. For the painting, she adds a lag of 2 days, to let the plaster dry. For writing the site report, she allows an overlap with the measurement collection via a lead of 1 day. When the client delays delivery of the foundations by a week, Meriem changes a single duration: the whole chain shifts automatically. She remembers: you link tasks according to the reality of the site, refine with offsets, and the schedule stays consistent because it relies on links, not frozen dates.

Standalone case for this section: it returns in the course, the diagram, the script and the 48h challenge of section 1.3.

1. Dependency links

A schedule is not a list of isolated tasks: they are chained. Dependency links define this order. The most common is Finish-to-Start (FS): task B can only start when A is finished.

There are also Start-to-Start (SS), Finish-to-Finish (FF) and, more rarely, Start-to-Finish (SF). You link tasks by selecting two rows and then clicking the link (chain) button.

2. Offsets

You refine with offsets: a lag (e.g. “+2 days” for drying time) or a lead (e.g. “−1 day” for a partial overlap).

The lag lengthens, the lead tightens. You enter them on the link (e.g. “5FS+2 d” = Finish-to-Start with a 2-day lag), which makes the schedule far more realistic.

3. Link rather than date

It is this dependency logic — and not hand-entered dates — that lets Project calculate the schedule and, later, find the critical path. Meriem only fixes a date when it is genuinely imposed (see section 1.4).

Result: if an upstream task's duration changes, the whole chain shifts by itself and the schedule stays consistent.

Common misinterpretation: “I give each task fixed dates, that is the same as linking them.” No. Links describe the project's real logic (“B needs A to be finished”) and let Project calculate the dates; if A is late, B shifts automatically. Fixing dates creates rigid constraints that freeze tasks and break recalculation. You always link rather than date by hand. And you choose the link type according to reality, not forgetting offsets (drying, overlap). Meriem builds a network of dependencies, not a collection of dates.
Chaining tasks Typed and offset links that let the schedule recalculate itself. Finish-to-Start (FS) Bstarts when A finishesSS / FF Start /finish togetherOffsets Lag (+) orlead (−)
Typed and offset links that let the schedule recalculate itself.
Text version of the diagram (SEO / screen readers / translation): 1) Meriem, project manager in an engineering & construction company in Algiers, chains the tasks of a site by linking them rather than entering dates: “Erect the structure” in Finish-to-Start after “Pour the foundations”. 2) She refines with offsets: a 2-day lag for the plaster to dry, a 1-day lead to overlap the measurement collection and the report writing. 3) When the client delays the foundations by a week, she changes only one duration and the whole chain shifts automatically. Lesson: you link according to reality (FS most often) and refine with lag/lead, which keeps the schedule consistent and prepares the critical path.

🔎 Concrete example — 🔎 Concrete example — Lag and lead

Refining links to match the field:

Lag (+): “5FS+2 d” = 2 days of drying before chaining.
Lead (−): “−1 d” = partial overlap.
→ the lag lengthens, the lead tightens.

Result: a realistic schedule that shifts by itself.

Reflex: link rather than date by hand.

Section vocabulary

Dependency (link)
An order relationship between two tasks, defining which one conditions the start or finish of the other.

Simple example: Meriem links “Structure” to “Foundations” with a dependency.

What it is not: isolated tasks, with no order defined.

Reflex: task order → a link.

Finish-to-Start (FS)
The most common link: the successor task starts when the predecessor is finished.

Simple example: Meriem sets “Structure” in FS after “Foundations”.

What it is not: starting a task before the previous one is finished for no reason.

Reflex: by default → Finish-to-Start.

Start-to-Start / Finish-to-Finish
SS: both tasks start together; FF: they finish together.

Simple example: Meriem starts “Quality control” in SS with the services installation.

What it is not: forcing a Finish-to-Start where the tasks progress together.

Reflex: simultaneous → SS or FF.

Lag
A positive offset added to a link (e.g. +2 d of drying before continuing).

Simple example: Meriem adds +2 d between the plaster and the painting.

What it is not: chaining the painting onto plaster that is still wet.

Reflex: wait → a lag (+).

Lead
A negative offset allowing an overlap (e.g. −1 d: the successor starts before the predecessor ends).

Simple example: Meriem overlaps the report writing with the measurement collection (−1 d).

What it is not: waiting for 100% completion to start a task that can begin earlier.

Reflex: overlap → a lead (−).

In practice — In practice — Chaining tasks with links

  1. Select two consecutive tasks and create a Finish-to-Start link (chain button, or entering the predecessor).
  2. For simultaneous tasks, use a Start-to-Start (SS) link; adjust the type via the dependencies box.
  3. Add an offset: a lag (+2 d for drying) or a lead (−1 d for an overlap).
  4. Change the duration of an upstream task and check that the whole chain shifts automatically.
Your tasks are chained with typed and offset dependencies: a realistic schedule that recalculates itself when a task moves.

Step-by-step script — link tasks like Meriem (5 min)

1) Select two successive tasks and create a Finish-to-Start link (chain button or enter the predecessor in the “5FS” format). 2) For simultaneous tasks, choose Start-to-Start (SS) via the dependencies box. 3) Add an offset if the field requires it: lag +2 d (drying) or lead −1 d (overlap). 4) Change the duration of an upstream task and check that everything shifts. 5) Only fix a date by hand if it is genuinely imposed.

The lag lengthens, the lead tightens: both make the schedule realistic without breaking recalculation.

Copy-paste template — my task chain

Task A: ___
Task B: ___
Link type: Finish-to-Start (FS) / Start-to-Start (SS) / Finish-to-Finish (FF)
Offset: lag +__ d / lead −__ d
Link entry: “5FS+2 d”
Checked: changing A does shift B (yes / no)

Simple chain

Meriem links “Structure” in Finish-to-Start after “Foundations”, with no offset.

Drying time

Meriem adds a lag (+2 d) after the plaster before starting the painting.

Overlap

Meriem allows a lead (−1 d) between the measurement collection and the report writing.

Simultaneous tasks

Meriem uses a Start-to-Start link for the services installation and quality control, which progress together.

✓ Best practices

  • Use Finish-to-Start by default, other types according to reality.
  • Add offsets (lag/lead) to match the field.
  • Always link rather than fixing dates.

✗ Common pitfalls

  • Fixing dates by hand instead of linking.
  • Choosing a wrong link type.
  • Forgetting a real offset (drying, overlap).

Key takeaways

  • Dependency links define the order of tasks (the most common: Finish-to-Start).
  • Types: FS, Start-to-Start, Finish-to-Finish, Start-to-Finish; choose according to the reality of the work.
  • Offsets refine: lag (+) for a delay, lead (−) for an overlap.
  • It is the dependency logic (not entered dates) that enables recalculation and the critical path.

48h challenge — apply it tomorrow

Take a real chain of five tasks and link them like Meriem: a Finish-to-Start by default, another type if reality requires it, and at least one offset (lag or lead). Change the duration of an upstream task and check that everything shifts. Write in one sentence why linking is better than dating by hand.

Section exit checklist
  • I can create dependency links between tasks (FS, SS, FF).
  • I can add a lag or a lead on a link.
  • I understand that links, not dates, enable recalculation and the critical path.
Self-assessment 1-5: do I link my tasks instead of entering dates?Self-assessment 1-5: do I think about offsets (lag/lead) when the field requires them?

Frequently asked questions

Is it better to link tasks or give them fixed dates?

Always link rather than fix dates. Links describe the project's real logic (“B needs A to be finished”) and let Project calculate the dates. If A is late, B shifts automatically and the schedule stays consistent. Fixing dates creates rigid constraints that freeze tasks and break recalculation: at the slightest unexpected event, the schedule becomes wrong.

What is the difference between a lag and a lead?

A lag is a positive offset: you wait before chaining (e.g. +2 days of drying after the painting). A lead is a negative offset: you allow an overlap (e.g. starting the writing while the collection is almost finished). The lag lengthens, the lead tightens. Both are entered on the link (e.g. “5FS+2 d”) and make the schedule far more realistic.

Check your understanding

How do you correctly chain two dependent tasks?

Additional resources (optional, to go further)

Level 1 examFresh, harder questions to test what you've learned