Select topic

Task Dependencies – Types, Management, & Examples

Task dependencies is a tool that allows us to define and track complicated task relationships in projects.

Depending on the project, there are several types of task dependencies to choose from. However, they all serve the same purpose – defining how project tasks relate to each other and clarifying their order.

Types of Task Dependencies

When it comes to defining the types of task dependencies, there are two main schools of thought.

The first way to define task dependency types is to look at how the tasks depend on each other. Is the dependency resource, people, project, or team-based? Depending on the type, managing such relationships will be slightly different and require specific skills.

The second approach categorizes dependencies into 4 types according to when a successor task follows a predecessor task. The four types are as follows:

  • Finish to Start
  • Finish to Finish
  • Start to Start
  • Start to Finish

This approach is found in most project management guides and is also closely related to visualizing projects on a Gantt chart.

Let’s discuss both these approaches in detail for more context.

Tools with flexible dependency management?

Here you will find a top3 short-list of tools which have best functionality around dependnecies. Detailed comparison can be found in best visual project management tools post. Read more in that writeup to find out how did we compare tools where each tool excelled the others.

  1. Teamhood – most flexible and versatile project management tool with dependencies
  2. Jira – most powerful dependencies for Agile type of working
  3. Trello – most simple dependency tracking for personal use or very small teams

1. Dependencies Based on Commonalities

One way to categorize task dependencies is by looking at what these dependencies talk about. In such a case, we can say that most tasks are dependent on one of the following 4:

  1. Resources
  2. Specific person
  3. Project
  4. Team

1. Task Dependencies Between Resources

Resource-based task dependencies talk about tasks that have to share the same resource.

For example, if a specific machinery is needed to complete tasks. In such a case, only a certain amount of tasks can be worked on at the same time. Thus, creating a dependency where a new task can only be started once the previous one has already been finished.

In such cases, teams usually draw visual dependencies between tasks or use a Kanban board with WIP limits.

2. Task Dependencies Between People

Dependencies between people are similar to resource-based dependencies. In this case, however, certain tasks have to wait because there is a limited amount of manpower.

To visualize such bonds, most project managers rely on advanced project management or workload management software. Allowing us to understand the capabilities of each team member and assign adequate workload to each.

workload management

Learn more about workload management.

3. Task Dependencies Between Projects

Another type of relationship is found when there are dependencies between projects.

This task dependency in project management can happen due to various reasons. One project’s progress may be dependent on another project’s outcome. They may share resources or facilities. Either way, such projects become dependent on each other and must be coordinated.

To visualize dependencies like this, most teams use Gantt charts, or Timeline views that visualize multiple projects on one screen. Allowing them to understand their relationships and make well-informed decisions.

timeline view

If you are looking for such a tool, take a look at the best project timeline management tools.

4. Task Dependencies Between Teams

Last but not least, the dependency type on this list is between teams.

Similarly to projects, teams often have to share resources and are closely related to each other’s work. Thus, it comes as no surprise that we can find task relationships between different teams.

Just like with the previous type, most teams use the workload view and Gantt charts to visualize such relationships. Teamhood offers all the above-mentioned features in the free version – you can try them out today.

types of task dependencies

Like what you see? Pick your solution from the best project management tools list.

2. Predecessor-successor relationships

Another way to understand task dependencies is to analyze the start and finish dates of the dependent tasks. The two important terms to know here are the Predecessor and the Successor.

A predecessor task determines the start or finish date of another task.

A successor is a task whose start or finish date is determined by another task. In short, a successor follows a predecessor.

Now that we got this terminology cleared up, let’s look into the 4 types of such task dependencies.

  1. Finish to Start
  2. Finish to Finish
  3. Start to Start
  4. Start to Finish

1. Finish to Start dependency

Finish to Start is the simplest and most common out of the four task dependency types. As such, you will see the use of such task dependencies in most projects.

The Finish to Start dependency states that – the predecessor task must be finished before a successor task can be started. In other words, one task must be finished before the other task can start.

Finish to Start Example

To better understand these dependencies, imagine you are responsible for the construction of a new building. In such a case, a finish-to-start task dependencies example could be the relationship between tasks ‘Get building permissions’ and ‘Lay foundation’. Before starting to lay the foundation of your new building, you would have to get all of the building permits. Or in other words, you would have to finish one task before starting another.

Finish to Start task dependencies

2. Finish to Finish relationship

The Finish to Finish task dependency is a little more complicated. It states that the successor task cannot be finished before the predecessor task is finished.

This is usually applied to tasks that are being worked on at the same time, but one of them cannot be truly finished before the other one is complete. Contrary to the previous task relationship, the use of this and the following two dependencies is sometimes debated between project management professionals. Raising the question of the necessity for such relationships. However, I will cover them to give you the full picture.

Finish to Finish Example

Now, let’s go back to the example of our building and, this time, think about working on the interior. At this stage, many things are happening simultaneously. For example, ‘Put in drywall’ and ‘Put in the electrical installation’. Both of these tasks will be worked on simultaneously; however, the electrical installation cannot be finished before all of the drywalls are in, creating a finish-to-finish dependency.

Finish to finish task dependency

3. Start to Start dependency

This third type of task dependency is similar to the previous one. Start to Start states thatthe successor task cannot be started before the predecessor task has been started.

Again, this often relates to tasks that are being worked on at the same time, but it is important to start one task, before the other can be started.

Start to Start example

In our building example, let’s say it is time to ‘Paint the exterior’. This task cannot start before the task ‘Assemble scaffolding’ has been started as well. Both of these tasks can be and are being worked on at the same time, however, scaffolding must start before the painting can begin.

start to start dependency

4. Start to Finish dependency

Lastly, the Start to Finish task dependency states that the successor task cannot be finished before the predecessor has been started.

This is the most complicated and most debated dependency out of the four. Some project managers say it should not be used at all, and others defend its usage and benefit. I will leave it up to you to decide if this is something you would want to use. In short, this dependency says that the successor task must continue up until the predecessor task is ready to be started.

Start to Finish example

In the case of our building, Start to Finish dependency could be found between tasks ‘Provide building administration’ (successor) and ‘Handover building administration’ (predecessor). Here, the company that built the building must continue to administer that building up until the chosen supplier is ready to take over. Since the successor task is completed before the predecessor, this is the most complicated dependency to use and understand.

start to finish dependency

Task dependency management in different methodologies

Setting and managing task dependencies differs according to the type of project management methodology you use.

Gantt chart dependencies

If you are after the traditional look, such as in the examples above, you will find the most use of the Gantt view. You can use the Gantt chart to plan out tasks or phases of a project in a calendar-like view and draw dependencies between them to specify important relationships and order. This view is especially helpful for long-term planning and figuring out the exact dates when the project will be finished.

With more advanced project management tools, task dependencies can be set to reschedule automatically. This way, if one task is running late, the dependent tasks are rescheduled, giving you a clear understanding of when the project will be finished. One thing to note with automatic rescheduling – most tools will stay true to the original slack. (The difference between the finish date of the predecessor and the start date of the successor)

So if Slack was first set at 2 days, it would stay at 2 days even after the rescheduling happens.

task dependency gantt chart 

List View Dependencies

Another common view in the project management field is a List. This approach to task management is usually taken by smaller teams or when managing one part of a larger project. However, it can prove useful in various scenarios. The biggest advantage of such an approach is seeing various fields of information for all of the tasks.

In task management tools like Teamhood, you can choose to add fields such as – status, schedule, assignee, estimate, budget, dependencies, task creator, create date, item age, and any of the custom fields (such as contract value). In such a view, task dependencies are usually marked with special symbols that indicate if a task is waiting on ❗ or blocking ⛔ another task. To see the task in question, you simply click on the icon.

task dependencies in list view

Kanban Board Task Dependencies

Lastly, more managers are looking to include dependency management in their Agile or Kanban boards. This visual project management tool has proven especially useful in helping teams manage their workload more effectively. Thus, it comes as no surprise that task dependency features are now also available in the Kanban board tools.

Just like with the List view, on a Kanban board example, you will not see lines going from one task to another to define a task dependency. Instead, the work item cards will contain specific symbols to identify if it is waiting on something ❗ or blocking something ⛔. To see more details on each dependency or add a new one, open the item details.

task dependencies Kanban board

Task Dependency Benefits

There are several clear benefits that using task dependencies in your projects will bring.

  1. It will allow you to plan out the project. Listing your project tasks and understanding their dependencies will allow you to set better estimates and prepare for time-constrained projects. You will know what has to be done and when.
  2. Task dependencies will help calculate project length. By knowing how all of the project tasks are related and estimating their duration, you can calculate the project end date.
  3. They will help you adjust in case of delays. If any of the planned tasks are late, you will be able to see what other tasks it affects and adjust accordingly.
  4. Easier delegation and fewer scheduling conflicts. By setting a clear plan, you will be able to see which resources are needed for what tasks and can ensure the focus is always on the right effort. More on task scheduling software.
  5. Context mapping. By creating and managing task dependencies, project managers can document each task fully, how it was approached, and its relationships. This gives valuable information to the project manager and context for the team.

Dependency Management in Teamhood

Curious to try out task dependency management for your project? Teamhood supports all three views discussed above—Gantt, List, and Kanban. This provides a good option for those wanting to mix Kanban Gantt in their application.

Moreover, you can use all three views for your project simultaneously.

Start making your projects profitable

Optimize with Top Kanban tool

Get Started


Frequently asked questions

  • What are the 4 types of dependencies in project management?

    In project management, there are four types of dependencies:

    Finish-to-Start (FS): A task cannot start until the previous task is completed

    Finish-to-Finish (FF): A task cannot finish until the previous task is finished

    Start-to-Start (SS): A task cannot start until the previous task has started

    Start-to-Finish (SF): A task cannot finish until the previous task has started

  • What is an example of a dependent task pattern?

    An example of a dependent task pattern is when Task B depends on Task A. Task B cannot start until Task A is completed, and Task A cannot finish until Task B has started.

  • What is the most common type of dependency?

    The most common type of dependency is the Finish-to-Start (FS) dependency, where a task cannot start until the previous task is completed.

  • How do I manage task dependencies?

    To manage task dependencies, you can use project management tools like Gantt charts or dependency diagrams. These tools help visualize the relationships between tasks and ensure that tasks are completed in the correct order. Additionally, you can use software development tools like npm or Yarn to manage dependencies in your codebase.

Teamhood uses cookies, to personalize content, ads and analyze traffic. By continuing to browse or pressing "Accept" you agree to our Cookie Policy.