Available on Asana Starter, Advanced, Enterprise, and Enterprise+ tiers, as well as legacy tiers Premium, Business, and Legacy Enterprise.
Dependencies are the relationships among tasks that determine the order in which activities need to be performed. With task dependencies, you can mark a task as blocking another task, or blocked by another task.
Teams with collaborative workflows can easily see what tasks they’re waiting on from others and know when to get started on their portion of work. When the first task is completed, it will notify the assignee of the next task that they can start on their task.
Mark tasks as dependent on
To mark a task as dependent on:
- Click into the task and then click on Add dependencies in the sidebar
Next:
- Begin typing the name of the task you wish to be the precedent task
- Select the task in the typeahead that appears
- This task will now show what task it is Blocked by
The indication banner will only appear in the dependent task's details pane.
Drawing dependencies on your timeline
You can set dependencies directly on your timeline by clicking the connector icon that appears when hovering over a task and then dragging it to another task.
To draw dependencies on your timeline:
- Click on the connector icon when hovering over a task.
- Drag the connector over to the task you wish to mark as Dependent On.
Multiple dependencies
A single task can be dependent on multiple tasks, and multiple tasks can be dependent on a single task.
The precedent task will now show the tasks it is blocking, indicating other tasks are waiting on it to be completed. If a single task is dependent on multiple tasks, each precedent task will appear in the dependent task's details pane.
To remove a dependency, hover over an existing indication banner and click the X symbol that appears.
Notifications
The assignee of the dependent task will receive notifications for the following actions:
- The precedent task is marked complete
- The precedent task has its due date changed or removed
If a task is dependent on multiple tasks, you will only receive one notification when all precedent tasks have been completed.
Auto-shifting dates for dependent tasks
When changing the due dates of tasks with dependencies results in a due date overlap, this feature can auto-shift the due dates based on your preferences. Auto-shifting dates for dependent tasks is now available in list, board, calendar and timeline view.
There are three different dependency date shifting options to choose from in the project’s list, board, calendar and timeline view. To access the different date shifting options, click the 3-dot icon in the top right corner of your project’s list, board, calendar or timeline view, then select Dependency management options.
You can choose to maintain the buffer between dependent tasks, consume the buffer or ignore the buffer. You’ll find more information on all three options here.
Using the auto-shifting dates feature in list view
- Click on the due date that you wish to change to open the date picker.
- Click on Update to review dependent tasks.
Reviewing dependent tasks
- Select your new due date or date range.
- A grid with Dependent tasks and New due date will be populated.
- Click Save to change the due date and auto-shift the due dates of depending tasks.
Auto-shifting due dates in action
Once you’ve clicked Save you’ll notice that the due dates of the dependent tasks automatically change so that there is no overlap.
Using the auto-shifting dates feature in board and calendar view
- In either board or calendar view you will need to click on the task to open the task details pane.
- Click on the due date to open the date picker.
- Click on Update to review dependent tasks.
- Select your new due date.
- A grid with Dependent tasks and New due date will be populated.
- Click Save to save your new due date and auto-shift the dates of any dependent tasks.
Click here to see examples of auto-shifting in action in timeline view.
Dependency management options
There are three different dependency date shifting options to choose from.
To access the different date shifting options, click the 3-dot icon in the top right corner of your project’s timeline view, then select Timeline options. The options are explained further below.
Note the requirements for auto-shifting due dates to work properly are as follows:
- A task has been marked as dependent on another, either blocking or blocked by another task.
- The blocking and blocked tasks both have due dates set. Start dates do not interfere with this process.
- Tasks are not marked as complete. Changes in dates will not have an impact on completed tasks
Maintain due date buffer with lag shifting
Select Maintain buffer to maintain the amount of time between dependent tasks. This process is known as lag shifting.
In maintaining the buffer between dependent tasks, the due date of each task will move relative to the shifted task's due date while preserving the amount of time between them.
Consider the 3 tasks in the screenshot example provided.
- Choose party venue, due on June 1.
- Organize catering, due on June 3.
- Send out invites, due on June 10.
Choose party venue is blocking Organize catering, which itself is blocking Send out invites.
With lag shifting, moving the due date of Organize catering back by one week to June 8 means that the due dates of both Choose party venue and Send out invites also shift by one week to preserve the gap. The 2-day gap between Choose party venue and Organize catering remains, though the due dates have changed. The 7-day gap is also maintained between Organize catering and Send out invites.
In the second phase of the example, moving Organize catering's due date forward in time from June 10 to June 9 has the same effect - the due dates of both Choose party venue and Send out invites move by 1 day to maintain their respective gaps.
Consume due date buffer with slack shifting
Select Consume buffer to consume the amount of time between dependent tasks unless there's a conflict. This is also known as slack shifting.
Consider the 3 tasks in the screenshot example provided.
- Choose party venue, due on June 1.
- Organize catering, due on June 3.
- Send out invites, due on June 10.
Choose party venue is blocking Organize catering, which itself is blocking Send out invites.
With slack shifting, moving the due date of Organize catering to June 7 will have no impact on either of the other tasks, since it does not cause a due date conflict. Similarly, the buffer between Organize catering and Send out invites is not maintained - the 7-day gap becomes a 3-day gap.
In the second phase of the example, Organize catering is still blocked by Choose party venue. Moving the due date of Organize catering forward in time to May 31 will result in a dependency due date conflict. Therefore, the due date of Choose party venue must move forward in time to accommodate this. The due date of Choose party venue moves forward one day in order to respect the dependency, and receives a new due date of May 30.
Ignore due date buffer
Select None to ignore the amount of time between dependent tasks, even if there's a conflict. With this option, the buffer will neither be maintained or consumed. Conflicts between due dates of dependents tasks will also not be considered.
Consider the 3 tasks in the screenshot example provided.
- Choose party venue, due on June 1.
- Organize catering, due on June 3.
- Send out invites, due on June 10.
Choose party venue is blocking Organize catering, which itself is blocking Send out invites.