Task dependencies

Available on Asana StarterAdvancedEnterprise, and Enterprise+ tiers, as well as legacy tiers Premium, Business, and Legacy Enterprise.

Visit our pricing page for more information.

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.

Join our Creating basic workflows in Asana virtual training and learn how to link related work using dependencies. Register now.

Mark tasks as dependent on


To mark a task as dependent on:

  1. Click into the task and then click on Add dependencies in the sidebar



Next:

  1. Begin typing the name of the task you wish to be the precedent task
  2. Select the task in the typeahead that appears
  3. 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.

Drawing Dependencies Gif

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

using auto-shifting

 

  1. Click on the due date that you wish to change to open the date picker.
  2. Click on Update to review dependent tasks.

Reviewing dependent tasks

review
  1. Select your new due date or date range.
  2. A grid with Dependent tasks and New due date will be populated.
  3. Click Save to change the due date and auto-shift the due dates of depending tasks.

Auto-shifting due dates in action

adjusted dates


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

screenshot_title

 

  1. In either board or calendar view you will need to click on the task to open the task details pane.
  2. Click on the due date to open the date picker.
  3. Click on Update to review dependent tasks.
  4. Select your new due date.
  5. A grid with Dependent tasks and New due date will be populated.
  6. 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.

screenshot_title

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.

Maintain buffer

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.

  1. Choose party venue, due on June 1.
  2. Organize catering, due on June 3.
  3. Send out invites, due on June 10.

Choose party venue is blocking Organize catering, which itself is blocking Send out invites.

screenshot_title

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.

Consume buffer
In consuming the buffer between two dependent tasks, the due date of one task will not move relative to the shifted task’s due date.

Consider the 3 tasks in the screenshot example provided.

  1. Choose party venue, due on June 1.
  2. Organize catering, due on June 3.
  3. Send out invites, due on June 10.

Choose party venue is blocking Organize catering, which itself is blocking Send out invites.

screenshot_title


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.

None

Consider the 3 tasks in the screenshot example provided.

  1. Choose party venue, due on June 1.
  2. Organize catering, due on June 3.
  3. Send out invites, due on June 10.

Choose party venue is blocking Organize catering, which itself is blocking Send out invites.

screenshot_title


With None selected, the amount of time between due dates is ignored entirely. In the example, the due dates change and do not respect the dependencies between the tasks. Blocked tasks can still be slated to be completed before tasks that they are dependent on.

Was this article helpful?

Thanks for your feedback