1.3Links & Task Dependencies
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.
🔎 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
- Select two consecutive tasks and create a Finish-to-Start link (chain button, or entering the predecessor).
- For simultaneous tasks, use a Start-to-Start (SS) link; adjust the type via the dependencies box.
- Add an offset: a lag (+2 d for drying) or a lead (−1 d for an overlap).
- Change the duration of an upstream task and check that the whole chain shifts automatically.
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.
- 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.
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.
How do you correctly chain two dependent tasks?