- Sequential dependencies: One task must be completed before another can start.
- Context dependencies: The result of one task is used as input for another.
- Subtask dependencies: A task consists of multiple subtasks that must be completed before the parent task is considered done.