Project Management guide · Scheduling and time
Task Dependencies: Types, Examples and How to Manage Them
A task dependency is a logical relationship between two activities that controls when one can start or finish relative to the other. Dependencies turn a list of activities into a schedule that can calculate dates and a critical path.
Key takeaways
- Dependencies define the logical order of activities.
- The four types are FS, SS, FF and SF; FS is the most common.
- Classify them as mandatory or discretionary, and internal or external.
- Discretionary links are the main lever for fast tracking.
The four dependency types
| Type | Rule | Example |
|---|---|---|
| Finish-to-start (FS) | B cannot start until A finishes | Write the report, then review it |
| Start-to-start (SS) | B cannot start until A starts | Start proofreading once writing has started |
| Finish-to-finish (FF) | B cannot finish until A finishes | Testing cannot finish until development finishes |
| Start-to-finish (SF) | B cannot finish until A starts | The old system cannot be switched off until the new one has started |
Finish-to-start is by far the most common. Start-to-finish is rare and often a sign the logic could be written more simply.
Categories of dependency
| Category | Meaning | Example |
|---|---|---|
| Mandatory (hard logic) | Required by the nature of the work or a contract | Foundations before walls |
| Discretionary (soft logic) | A preferred order based on best practice | Finish design before starting build |
| External | Depends on something outside the project | Planning permission from the council |
| Internal | Within the project team's control | Developer finishes code before tester starts |
Discretionary dependencies are the first place to look when you need to fast track a schedule, because they can be changed if you accept extra risk.
How to identify and record dependencies
- List all activities from the activity list.
- For each activity ask: what must happen before this can start, and what is waiting for it to finish?
- Record the predecessor and successor and the type (FS, SS, FF or SF).
- Add any lead or lag, such as a 3-day wait for concrete to cure.
- Mark external dependencies clearly and assign someone to monitor them.
- Draw or generate a network diagram and check that every activity connects to the start and finish.
Worked example
A brochure project has four activities: A Write copy (5 days), B Design layout (4 days), C Proofread (2 days), D Print (3 days).
| Link | Type | Effect |
|---|---|---|
| A to B | SS + 2 days | Design starts 2 days after writing starts |
| A to C | FS | Proofreading starts when writing finishes (day 5) |
| B to C | FF | Proofreading cannot finish before layout finishes |
| C to D | FS | Printing starts after proofreading |
Using day 0 as the start: A runs 0 to 5, B runs 2 to 6, C runs 5 to 7 (its finish of 7 is after B's finish of 6, so the FF link is satisfied), and D runs 7 to 10. The brochure is ready after 10 days instead of 14 if all links had been finish-to-start.
Managing dependencies
- Review external dependencies in every status meeting and log them in a RAID log.
- Avoid hard-coded dates; let dependencies drive the schedule.
- Watch for activities with many predecessors, which are common points of delay.
- On Agile teams, make cross-team dependencies visible on a board or during PI planning.
Free templates for this topic
Frequently asked questions
What is a task dependency?
A logical link between two tasks that determines when one can start or finish relative to the other.
What are the four types of task dependencies?
Finish-to-start, start-to-start, finish-to-finish and start-to-finish.
Which type of task dependency is most common?
Finish-to-start: the successor cannot start until the predecessor finishes.
What is a mandatory task dependency?
A dependency required by physical, legal or contractual reasons, also called hard logic.
What is a discretionary task dependency?
A preferred sequence chosen by the team based on best practice, also called soft logic or preferential logic.
What is an external task dependency?
A dependency on something outside the project's control, such as a supplier delivery or a regulator's approval.
What is an example of a start-to-finish task dependency?
A new security guard shift must start before the previous shift can finish. It is the least common type.
How do task dependencies affect the critical path?
They determine which activities form the longest path. Changing or removing a dependency can change the critical path.
What is a task dependency in Agile?
Usually a piece of work one team needs from another team or system before it can complete a story.
How do I show task dependencies on a Gantt chart?
Most tools draw arrows between bars when you set predecessors; see Gantt chart.