Task Dependencies
What Task Dependencies Are
A task dependency is a relationship between two tasks where one task’s start or completion depends on another. “Design the landing page” must finish before “Develop the landing page” can start. That relationship is a dependency. If the design task slips by two days, the development task automatically slips by two days.
Dependencies matter because they make the true sequence of work visible. Without them, a task list looks like a flat set of independent items. With them, you can see the critical path: the longest chain of dependent tasks that determines the earliest possible completion date for the whole project.
The Four Dependency Types
Finish to Start (FS). The most common type. Task B cannot start until Task A finishes. Example: “Develop the feature” cannot start until “Write the spec” is done. Over 90% of dependencies in typical task management are Finish to Start.
Start to Start (SS). Task B cannot start until Task A starts. Both tasks run in parallel after that. Example: “QA testing” starts when “Development” starts (testing the first components while development continues).
Finish to Finish (FF). Task B cannot finish until Task A finishes. Example: “Documentation” cannot be marked complete until “Development” is complete (because docs need to reflect the final implementation).
Start to Finish (SF). Rarely used. Task B cannot finish until Task A starts. Example: a night shift cannot end until the day shift starts. Most teams never encounter this type.
When to Use Dependencies
Use dependencies when tasks have a genuine sequential relationship: one task produces an output that another task needs as an input. Common scenarios include design → development → QA pipelines, data collection → analysis → reporting chains, and approval workflows where a review must happen before publication.
Do not use dependencies for soft preferences (“I would like to do Task A before Task B but I could do either first”). Over using dependencies creates rigid sequences that reduce team flexibility. If two tasks can genuinely be done in any order, leave them independent.
Dependencies in Task Management Tools
ClickUp supports all four dependency types with visual indicators in List, Gantt, and Timeline views. When a blocking task is overdue, dependent tasks are flagged. Asana supports Finish to Start dependencies on its Starter plan and above. Trello does not support native dependencies without Power Ups. Jira supports all four types and visualizes them in its timeline roadmap.
The Gantt chart is the most common visualization for dependencies. Tasks appear as horizontal bars on a timeline, with arrows connecting dependent tasks. When you drag one task to a new date, all downstream dependent tasks shift automatically. ClickUp’s Gantt view and Asana’s Timeline view both support this drag and reschedule behavior.
Commonly Confused With
| Term | Key Difference |
|---|---|
| Subtasks → | Subtasks break one task into parts (decomposition). Dependencies link separate tasks in a sequence (ordering). A subtask is part of its parent. A dependent task is a separate task that relies on another. |
| Blockers | A blocker is an obstacle preventing a task from progressing (waiting for client feedback, missing access). A dependency is a planned sequential relationship. Blockers are unplanned; dependencies are designed. |