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.
Looking for a tool to manage task dependencies? Check out these.
When it comes to defining the types of task dependencies, there are two main schools of thought. The first way for defining task dependency types is by looking at how the tasks depend on each other. Is the dependency resource, people, project, or team-based. Depending on the type, management of such relationships will be a little different and require specific skills.
The second approach is categorizing dependencies into 4 types according to when a predecessor task is followed by a successor task. The four types are as follows – Finish to Start, Finish to Finish, Start to Start, and Start to Finish. This is the approach you will find in most project management guides and the one that is also closely related to visualizing projects on a Gantt chart.
Let’s discuss both of the approaches in detail for more context.
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 because of one of the following 4:
A 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.
With such dependencies, teams usually draw visual dependencies between tasks, or use a Kanban board with WIP limits.
Task dependencies between people are similar to the resource based dependencies. In this case, however, certain tasks have to wait because there is a limited amount of man-power.
To visualize dependencies like this, most teams use Gantt charts to plan out their projects.
Another type of task dependencies is found when there are dependencies between projects. This happens due to various reasons. One project progress may be dependent on another projects outcome. They may share resources, or facilities. In either way, such projects become dependant on each other and must be coordinated.
To visualize such bonds, most project managers rely on advanced project management software with workload management features, portfolio views, and Gantt charts.
Last, but not least dependency type on this list is between teams. Similarly to projects, team often have to share resources and are closely related to each other’s work. Thus, it comes to no surprise, that we can find task dependencies between different teams.
Just like with the previous type, most teams use the workload view and Gantt chart to visualize such relationships.
Another way of understanding task dependencies is by analyzing the start and finish dates of the dependant 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.
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 have a better understanding for these dependencies, lets imagine you are responsible for construction of a new building. In such a case, a Finish to Start dependency emxaple could be the relationship between such tasks – ‘Get buiding 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.
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 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 you 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 at the same time, for example ‘Put in drywall’ and ‘Put in the electrical installation’. Both of these tasks will be worked on at the same time, however, the electrical installation cannot be finished before all of drywalls are in, creating a Finish to Finish 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 othed are worked on at the same time, howver, scaffolding must start before the painting can begin.
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. With some project managers saying it should not be used at all and others defending 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 buiilding administration’ (predescessor). Here, the company that built the building must continue to administer that building up until the chosen supplier is ready to take over. Being that the successor task is completed before the predecessor, this is the most complicated dependency to use and and understand.
Setting and managing task dependencies differs according to what type of a project management methodology you use.
If you are after the traditional look, such as in the examples above, you will fond most use out 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 the order. This view is especially helpful for lon-term planning and figuring out the exact dates when the project is going to 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 dependant tasks are resheduled giving you a clear understanding of when the project will be finished. One thing to note with automatic recheduling – 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 will stay at 2 days even after the resheduling happens.
Another common view in project management field is a List. Such an approach to task management is usually taken by smaller teams or when managing one part of a larger project. However, it can prove to be useful in various scenarios. The biggest advantage of such an approach is seeing various feilds of information for all of the tasks.
In project 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.
Lastly, more and more managers are looking to include dependency management into their Agile or Kanban boards. This visual project management tool has proven to be especially useful in helping teams to manage the workload more effectivelly. Thus, it comes as no surprise as task dependency features are now also available in the Kanban board tools.
Just like with the List view, on a Kanban board 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 identigy 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.
There are several clear benefits that using task dependencies in your projects will bring.
Curious to try out task dependency management for your project? Teamhood supports all of the three views discussed above – Gantt, List, and Kanban.
Moreover, you can use all of three views for your project simultaneously.