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.

Creating Dependencies

Drag and Drop Method

  1. Hover over a task bar to reveal the terminals (connection points at start and end)
  2. Click and drag from one task's terminal to another task's terminal
  3. Release to create the dependency
  4. 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:

  1. Click in the Predecessor cell
  2. Type the predecessor (e.g., 3 or 3FS+2d)
  3. 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

  1. Double-click the dependency line to open the editor
  2. Select a different type from the dropdown (FS, SS, FF, SF)
  3. Click Save

Adding Lag Time

Lag adds a delay between dependent tasks:

  1. Double-click the dependency line
  2. Enter a value in the Lag field (e.g., "2d" for 2 days)
  3. Lag is measured in business days
  4. Click Save

Negative Lag (Lead Time)

Use negative lag to create overlap:

  • -2d on 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

  1. Right-click on the dependency line
  2. Select Delete dependency

Method 2: Edit Dialog

  1. Double-click the dependency line
  2. Click Delete

Method 3: Clear Predecessor

  1. Click in the Predecessor cell
  2. Delete the text
  3. Press Enter

Automatic Date Calculation

When dependencies exist:

  1. Moving a predecessor recalculates dependent task dates
  2. Changes cascade through the entire chain
  3. 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-Start
  • 1.2SS+2d = depends on WBS 1.2, Start-to-Start, 2-day lag
  • 1;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:

  1. Dependencies calculate the earliest possible date
  2. Constraints set boundaries for scheduling
  3. 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

  1. Use FS dependencies primarily - Most intuitive and common
  2. Don't over-link - Only create real relationships
  3. Use lag for buffers - Account for curing, drying, review time
  4. Review the critical path - Red lines affect project end date
  5. Document unusual dependencies - Note why SS, FF, or SF was used