Dependencies
Dependencies define relationships between tasks, ensuring proper sequencing and automatic date calculations.
Overview
Dependencies (also called links or predecessors) connect tasks to show that one task depends on another. When you move a predecessor task, dependent tasks automatically adjust their dates.
Dependency Types
The Gantt chart supports four dependency types:
| Type | Name | Description |
|---|---|---|
| FS | Finish-to-Start | Task B starts when Task A finishes |
| SS | Start-to-Start | Task B starts when Task A starts |
| FF | Finish-to-Finish | Task B finishes when Task A finishes |
| SF | Start-to-Finish | Task B finishes when Task A starts |
Finish-to-Start (FS)
The most common dependency type. The successor task cannot start until the predecessor finishes.
Example: "Install drywall" cannot start until "Frame walls" is complete.
Start-to-Start (SS)
Both tasks start at the same time (or with a lag).
Example: "Pour foundation" and "Inspect foundation" start together.
Finish-to-Finish (FF)
Both tasks finish at the same time (or with a lag).
Example: "Final walkthrough" finishes when "Punch list" finishes.
Start-to-Finish (SF)
The successor task cannot finish until the predecessor starts. This is the least common type.
Creating Dependencies
Drag and Drop Method
- Hover over a task bar to reveal the terminals (connection points at start and end)
- Click and drag from one task's terminal to another task's terminal
- Release to create the dependency
- A line appears connecting the two tasks
The terminal you drag from determines the dependency type:
- From end terminal → Creates Finish-to-Start (FS) or Finish-to-Finish (FF)
- From start terminal → Creates Start-to-Start (SS) or Start-to-Finish (SF)
Using the Predecessor Column
Type dependencies directly in the Predecessor column using WBS notation:
- Click in the Predecessor cell
- Type the predecessor (e.g.,
3or3FS+2d) - Press Enter to save
See Predecessor Notation for the complete syntax reference.
Default Type
New dependencies created by dragging default to Finish-to-Start (FS). Change the type by double-clicking the dependency line.
Editing Dependencies
Changing the Type
- Double-click the dependency line to open the editor
- Select a different type from the dropdown (FS, SS, FF, SF)
- Click Save
Adding Lag Time
Lag adds a delay between dependent tasks:
- Double-click the dependency line
- Enter a value in the Lag field (e.g., "2d" for 2 days)
- Lag is measured in business days
- Click Save
Negative Lag (Lead Time)
Use negative lag to create overlap:
-2don an FS dependency means Task B can start 2 days before Task A finishes- Useful when work can begin before the predecessor fully completes
Deleting Dependencies
Method 1: Right-Click Menu
- Right-click on the dependency line
- Select Delete dependency
Method 2: Edit Dialog
- Double-click the dependency line
- Click Delete
Method 3: Clear Predecessor
- Click in the Predecessor cell
- Delete the text
- Press Enter
Automatic Date Calculation
When dependencies exist:
- Moving a predecessor recalculates dependent task dates
- Changes cascade through the entire chain
- The schedule updates automatically
Example Cascade
Task A (5 days) → Task B (3 days) → Task C (2 days)
If you move Task A forward by 2 days, Task B and Task C automatically move forward 2 days.
Viewing Dependencies
Dependency Lines
- Gray lines: Non-critical dependencies
- Red lines: Critical path dependencies
- Arrows indicate dependency direction
- Rounded corners for visual clarity
Predecessor Column
Shows dependencies using WBS notation:
5FS= depends on WBS 5, Finish-to-Start1.2SS+2d= depends on WBS 1.2, Start-to-Start, 2-day lag1;3;5= depends on multiple tasks
Common Patterns
Sequential Tasks
Tasks that must happen in order (FS dependencies):
Parallel Tasks
Multiple tasks starting after one predecessor:
Milestone Dependencies
Task cannot complete until multiple predecessors finish:
Constraints and Dependencies
Tasks can have both dependencies and constraints. When both exist:
- Dependencies calculate the earliest possible date
- Constraints set boundaries for scheduling
- The later date is used
If a task doesn't move with its predecessor, it likely has a constraint. See Task Constraints for how to remove them.
Troubleshooting
Dependencies Not Working
- Verify both tasks are in the same schedule
- Check that both tasks have valid dates
- Look for circular dependencies
Circular Dependencies
The system prevents circular dependencies (A → B → A). If you can't create a dependency, check for existing links that would create a circle.
Task Not Moving With Predecessor
The task likely has a constraint. Open the task editor, go to Advanced, and set constraint type to None.
Best Practices
- Use FS dependencies primarily - Most intuitive and common
- Don't over-link - Only create real relationships
- Use lag for buffers - Account for curing, drying, review time
- Review the critical path - Red lines affect project end date
- Document unusual dependencies - Note why SS, FF, or SF was used
Related
- Predecessor Notation - Complete syntax reference
- Critical Path - Understanding the critical path
- Tasks - Task management
- Business Days - How calculations work