Task dependencies let you define the order of completion—which assignments should be finished or started before something else can be started. By linking tasks, you create a dynamic project schedule in which changes to one task automatically update the rest of your timeline.
Jump to...
1. Understanding task dependencies
Task dependencies define the relationships between tasks, determining the sequence in which they should be performed. In Scoro, dependencies enable automated rescheduling. If a project plan changes or a task takes longer than expected, Scoro can automatically update the due dates of all dependent tasks and scheduled time entries. This automation considers your team’s actual utilization, looking for the next available time slots in their schedule to ensure the plan remains realistic.
To understand the dependency relationships, it is important to distinguish between the two roles a task can play:
- Predecessor: The "first" task in a relationship. This is the task that must be finished or started before another task can proceed.
- Successor: The "following" task. This is the task that depends on the predecessor's status to determine its own start or end date.
1.1. Task dependency types
There are four types of dependencies available in Scoro to model different workflows:
- FS (finish to start) – Task B cannot start until Task A is finished.
- SF (start to finish) – Task B cannot finish until Task A has started.
- FF (finish to finish) – Task B cannot finish until Task A is finished.
- SS (start to start) – Task B cannot start until Task A has started.
1.2. Buffer time
Buffer time allows you to add a specific gap or overlap between dependent tasks. It is measured in days.
- Lag time (positive number) adds a delay between tasks. For example, a buffer of 5 means the next task should start 5 days after the predecessor is finished.
- Lead time (negative number) creates an overlap between tasks. For example, a buffer of -3 means Task B can start 3 days before Task A is finished.
If no specific buffer time is defined, rescheduling a predecessor task won’t affect dependent tasks unless there is a direct conflict in task dates (e.g., the predecessor now ends after the successor was supposed to start).
2. Managing task dependencies
Task dependencies can be managed:
- In the task list
- In the task detailed view
- In the Gantt chart
- In a project template
- In a task bundle
2.1. In the task list
Before you can set task dependencies in the task list view, you need to enable the Dependencies data column:
- Click the View button, then click Data columns.
- Select the Dependencies data column and click Display.
To add a task dependency in the task list:
- Click the Predecessors or Successors button based on what you want to add.
- Select the correct task from the Add predecessor or Add successor dropdown field.
If this task already has any predecessors or successors, they’re shown below the dropdown. Hover over the relevant task and click on the pencil icon to modify the task dependency or on the X icon to remove it. - After selecting the task, you can choose the type of dependency and a buffer time between the tasks. Once done, click Save.
2.2. In the task detailed view
To add a task dependency in the task detailed view:
- Click the No predecessors or No successors button depending on what you want to add. If this task already has any predecessors or successors, the buttons will be named the same way as the predecessor or successor task.
- Select the correct task from the Add predecessor or Add successor dropdown field. If this task already has any predecessors or successors, they’re shown below the dropdown. Hover over the relevant task and click on the pencil icon to modify the task dependency or on the X icon to remove it.
- After selecting the task, you can choose the type of dependency and a buffer time between the tasks. Once done, click Save.
2.3. In the Gantt chart
To add task dependencies in the Gantt chart, click on the first task’s start or end indicator and drag it to the other task’s start or end indicator.
To delete a saved task dependency, double-click the dependency line and confirm the deletion.
If something takes longer to finish or plans change, their due dates are automatically updated when adjusting tasks on the chart (moving them or dragging them longer/shorter).
All dependent tasks and scheduled time entries are then rescheduled, taking into account your team’s actual utilization and identifying the next available time slots in their schedules.
A phase acts as an umbrella for the tasks under it; moving the whole phase also moves all related (not done) tasks and time entries.
2.4. In a project template
When creating or modifying a project template, use the Back-to-back phases toggle to effortlessly set up a waterfall project. It automatically creates finish-to-start (FS) type dependencies between project phases and milestones, and you can adjust the length of the dependent phases later in the project’s Gantt chart.
When the Back-to-back phases toggle in the project template is disabled, you can manually set the start date for each phase and milestone.
2.5. In a task bundle
Before you can set task dependencies within a bundle, the tasks’ start and end dates must be set so they are recalculated correctly when setting the dependencies.
When creating or modifying a task bundle, you can use the Predecessor column to set dependencies between tasks in that bundle.
There are two ways to set dependencies between tasks in a task bundle:
-
With the predecessor start and end handles: Click and drag a task's predecessor start or end handle to another task's start or end handle. The start and due dates of each task will be updated automatically.
-
By manually entering the predecessor details: Click on the field between the predecessor start and end handles, then enter the number of the predecessor task, and specify the dependency type.
- You can add a buffer via a plus sign after the order number.
- To discard the changes you've entered manually, press the Escape key to close the modal.