Skip to main content

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:

TypeNameDescription
FSFinish-to-StartTask B starts when Task A finishes
SSStart-to-StartTask B starts when Task A starts
FFFinish-to-FinishTask B finishes when Task A finishes
SFStart-to-FinishTask 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.

Example: A shift handover where the new shift cannot end until the old shift starts.

Creating Dependencies

Drag and Drop Method

  1. Hover over a task to see connector points (small circles on the task bar)
  2. Click and drag from one task's connector to another task
  3. Release to create the dependency
  4. A line appears connecting the two tasks

Using the Predecessor Column

You can also type dependencies directly in the Predecessor column:

  1. Enable the Predecessor column (click column menu → enable Predecessor)
  2. Double-click the Predecessor cell for the task you want to link
  3. Type the predecessor using the format described below
  4. Press Enter to save

Default Type

New dependencies default to Finish-to-Start (FS). You can change the type after creation.


Predecessor Notation

The Predecessor column uses a compact notation to define dependencies. This allows you to quickly enter dependencies by typing rather than dragging.

Basic Format

[TaskID][Type][Lag]
ComponentDescriptionRequired
TaskIDThe WBS number or row number of the predecessor taskYes
TypeDependency type: FS, SS, FF, or SFNo (defaults to FS)
LagDays of delay: +N for lag, -N for leadNo (defaults to 0)

Examples

EntryMeaning
3Depends on Task 3, Finish-to-Start, no lag
3FSDepends on Task 3, Finish-to-Start, no lag
5SSDepends on Task 5, Start-to-Start, no lag
2FFDepends on Task 2, Finish-to-Finish, no lag
4SFDepends on Task 4, Start-to-Finish, no lag
3FS+2Depends on Task 3, Finish-to-Start, with 2-day lag
5SS+3Depends on Task 5, Start-to-Start, with 3-day lag
2FS-1Depends on Task 2, Finish-to-Start, with 1-day lead (overlap)
7FF+5Depends on Task 7, Finish-to-Finish, with 5-day lag

Multiple Predecessors

To link a task to multiple predecessors, separate entries with commas:

EntryMeaning
3,5Depends on Task 3 AND Task 5 (both FS)
3FS,5FSSame as above, explicit notation
2FS+1,4SSDepends on Task 2 (FS, 1-day lag) AND Task 4 (SS, no lag)
1,3,5Depends on Tasks 1, 3, and 5 (all FS, no lag)

Real-World Examples

Scenario 1: Simple sequence

Task 2 starts after Task 1 finishes. Task 3 starts after Task 2 finishes.

TaskNamePredecessor
1Framing(none)
2Electrical1
3Drywall2

Scenario 2: With curing/drying time

Task 2 starts 3 business days after Task 1 finishes (allowing concrete to cure).

TaskNamePredecessor
1Pour concrete(none)
2Set posts1FS+3

Scenario 3: Parallel work after a predecessor

Tasks 2, 3, and 4 all start after Task 1 finishes, but can run in parallel.

TaskNamePredecessor
1Rough framing(none)
2Electrical1
3Plumbing1
4HVAC1

Scenario 4: Task depends on multiple predecessors

Task 3 cannot start until BOTH Task 1 AND Task 2 are complete.

TaskNamePredecessor
1Electrical(none)
2Plumbing(none)
3Inspection1,2

Scenario 5: Overlapping tasks with lead time

Task 2 starts 1 day before Task 1 finishes (overlap for efficiency).

TaskNamePredecessor
1Install cabinets(none)
2Install countertops1FS-1

Scenario 6: Tasks that must finish together (FF)

Task 2 finishes when Task 1 finishes (cleanup completes with painting).

TaskNamePredecessor
1Painting interior(none)
2Final cleanup1FF

Scenario 7: Complex dependencies

A realistic construction sequence with mixed dependency types.

TaskNamePredecessor
1Foundation(none)
2Framing1FS+2
3Roofing2
4Electrical rough2
5Plumbing rough2
6Insulation4,5
7Drywall6FS+1

Quick Reference Card

Want to...Type this
Simple dependency on Task 33
Finish-to-Start on Task 33FS or 3
Start-to-Start on Task 55SS
Finish-to-Finish on Task 22FF
Add 2-day lag after Task 33FS+2 or 3+2
Overlap with Task 4 by 1 day4FS-1 or 4-1
Depend on Tasks 1 and 31,3
Task 2 with lag, Task 5 without2FS+2,5

Editing Dependencies

Opening the Edit Dialog

  1. Double-click the dependency line
  2. The dependency editor opens

Changing the Type

  1. Open the dependency editor
  2. Select a different type from the dropdown (FS, SS, FF, SF)
  3. Save changes

Adding Lag Time

Lag adds a delay between dependent tasks:

  1. Open the dependency editor
  2. Enter a value in the Lag field
  3. Lag is measured in business days
  4. Save changes

Example: A Finish-to-Start dependency with 2-day lag means Task B starts 2 business days after Task A finishes.

Negative Lag (Lead Time)

You can also use negative lag to create lead time:

  • -2 days lag on an FS dependency means Task B can start 2 days before Task A finishes
  • Useful for overlapping tasks

Deleting Dependencies

Method 1: Click and Delete

  1. Click the dependency line to select it
  2. Press the Delete key

Method 2: Edit Dialog

  1. Double-click the dependency line
  2. Click the Delete button in the dialog

Automatic Date Calculation

How It Works

When dependencies exist:

  1. Moving a predecessor task recalculates dependent task dates
  2. Changes cascade through the entire dependency chain
  3. The schedule automatically updates

Business Day Calculations

Date calculations respect business days:

  • Weekends are skipped
  • Company holidays are skipped
  • Only working days count toward lag time

Example Cascade

Task A (5 days) → Task B (3 days) → Task C (2 days)
FS FS

If you move Task A forward by 2 days:

  • Task B automatically moves forward 2 days
  • Task C automatically moves forward 2 days
  • The entire chain shifts together

Viewing Dependencies

Dependency Lines

Dependencies appear as lines connecting tasks:

  • Lines show the direction of dependency
  • Arrows indicate which task depends on which
  • Different line styles may indicate different dependency types

Predecessor Column

Enable the Predecessor column to see dependency information in the task list:

  1. Click the column menu button
  2. Enable Predecessor
  3. The column shows predecessor task IDs and dependency types

Format: TaskID[Type][Lag]

  • Example: 5FS means "depends on Task 5, Finish-to-Start"
  • Example: 3SS+2 means "depends on Task 3, Start-to-Start, with 2-day lag"

Common Dependency Patterns

Sequential Tasks

Tasks that must happen in order:

Parallel Tasks

Tasks that can happen simultaneously with a common predecessor:

Milestone Dependencies

Use dependencies to ensure milestones aren't reached until prerequisites complete:

Troubleshooting Dependencies

Dependencies Not Working

  • Verify both tasks are in the same schedule
  • Check that both tasks have valid dates
  • Look for circular dependencies

Circular Dependencies

A circular dependency occurs when:

  • Task A depends on Task B
  • Task B depends on Task A (directly or through other tasks)

The system prevents circular dependencies. If you can't create a dependency, check for existing links that would create a circle.

Dates Not Calculating Correctly

  • Check the dependency type (FS, SS, FF, SF)
  • Verify lag time is correct
  • Ensure holiday settings are accurate
  • Check for conflicting dependencies

Can't Delete Dependency

  • Make sure you're clicking the dependency line, not a task
  • Try double-clicking to open the edit dialog and delete from there
  • Verify you have edit permissions

Best Practices

  1. Use FS dependencies primarily - Finish-to-Start is the most intuitive and common
  2. Don't over-link - Only create dependencies where there's a real relationship
  3. Use lag for buffers - Add lag time to account for curing, drying, or review time
  4. Review the critical path - Dependencies that affect the project end date are critical
  5. Document unusual dependencies - If using SS, FF, or SF, note why in the task description