Dependencies define the logical order of work. They are the backbone of any Gantt chart and the reason scheduling software exists — manually tracking how a delay in one task ripples through 50 others is impossible without them.
Why dependencies matter
When you link tasks with dependencies, LoopGantt becomes a scheduling engine, not just a calendar. Change a task duration or move a date and the entire downstream schedule recalculates instantly. This is called schedule cascade and it saves hours of manual re-planning after the inevitable scope changes.
Dependencies also reveal your project's critical path — the longest chain of dependent tasks. Any delay on the critical path delays the project end date. Tasks not on the critical path have float (slack) — they can slip without affecting the delivery date.
The four dependency types
FS — Finish-to-Start (most common)
Task A ████████
Task B ████████
Task B cannot start until Task A finishes.Use for sequential work: "Write the report" → "Review the report". This is the default and covers ~80% of real-world dependencies.
SS — Start-to-Start
Task A ████████████ Task B ████████ Task B cannot start until Task A starts.
Use for parallel work that can begin together but must be coordinated. Example: "Architecture design" and "API specification" can start at the same time, but the spec depends on architecture being underway.
Add a lag (SS+3) to say "B starts 3 days after A starts" — useful when you need A to be partially done before B begins.
FF — Finish-to-Finish
Task A ████████████
Task B ████████
Task B cannot finish until Task A finishes.Use when two tasks must wrap up together. Example: "QA testing" and "Beta testing" should end at the same time so the team can move to submission together.
SF — Start-to-Finish (rare)
Task A ████████ Task B ████████ Task B cannot finish until Task A starts.
The rarest type. Useful in just-in-time and shift-handover scenarios. Example: the night-shift worker (B) cannot leave until the day-shift worker (A) arrives. In most software projects, you will rarely need SF.
Lag and lead time
Every dependency can have a lag (positive number) or lead time (negative number):
| Notation | Meaning |
|---|---|
| FS+2 | B starts 2 days after A finishes |
| FS-1 | B starts 1 day before A finishes (overlap) |
| SS+5 | B starts 5 days after A starts |
| FF+0 | B finishes exactly when A finishes |
Lead time (negative lag) lets you model realistic parallel work — for example, starting integration testing 2 days before development officially finishes.
Rules in LoopGantt
- Phases cannot have dependencies. Link the tasks inside phases instead.
- Circular dependencies (A → B → A) are automatically detected and rejected.
- A task can have multiple predecessors — it will start only after all predecessors satisfy their constraints.
How to add a dependency
- Click the successor task to open the task editor.
- Go to the Dependencies tab.
- Click + Add Predecessor.
- Select the predecessor task, choose the type (FS/SS/FF/SF), and optionally set lag days.
- Click Save. The chart reschedules immediately.
You can also drag a dependency line directly on the Gantt: hover over the right edge of a bar until the connector icon appears, then drag to the target task.