What is a Task Dependency? Definition, Types, and Examples
Projects without tasks are impossible. To complete a project, every team member should complete at least one task. Those tasks are typically connected or, in other words, dependent on each other.
What is task dependency?
A task dependency is a relationship that requires a particular order for tasks to be performed. It means that one preceding task relies on the other succeeding one.
The predecessor task defines the start or finish date of its successor task. When you create the dependency line between several tasks, you always start with the predecessor.
The end-to-end visualization of projects with the help of Gantt charts provides a bird’ eye view of your tasks, helping you track them easily. Here we describe how to effortlessly establish task dependencies and accompany the definition with dependencies types and clear examples.
Types of dependencies
PMI and reputable sources identify 4 types of task dependencies that may exist within one workflow:
- Mandatory dependencies are legally or contractually required within the project’s statement of work. They are also called hard logic dependencies.
- Discretionary dependencies (soft logic) are not mandatory. However, the scheduling of activities may be influenced by team preferences, best practices, or conventions.
- Internal dependencies establish relations between different activities within the project.
- External dependencies describe an input from an external source that is required before a task can proceed.
In project management, there are four ways tasks can relate to each other. Let’s give consideration and examples to each of them.
Finish to Start (FS for short)
This type of dependency means that Action A should be completed to give a start to Action B. This is a natural kind of project management connection; therefore, it is recommended to use FS wherever possible.
The Finish to Start dependency example
We cannot start digging a pit (B) without buying a spade (A).
It all looks simple enough in theory. However, you are here to get a thorough understanding of the task dependency process. Therefore, let’s figure out how to set task dependencies in project management with the help of GanttPRO.
How to set Finish to Start dependencies in GanttPRO
There are 2 ways to add Finish to Start dependencies in a project in GanttPRO:
1. Creating dependencies between tasks with the drag and drop feature. Just drag a small circle from the end of one task and drop it to the start of the other task. You will notice how easily GanttPRO connects them.
2. Adding dependencies with the help of task settings using the corresponding field. Open your task and choose the field “Task dependencies” where you can select the Finish to Start relations. It is also possible to lag time there. After defining the needed relation, select a task with which you want to link in a dropdown next to the field.
Finish to Finish (FF for short)
Finish for Finish relationships means that task B can only finish when task A (its predecessor) has also ended.
The Finish to Finish dependency example
We cannot finish reading a book (B) before reading the last chapter (A).
How to set Finish to Finish dependencies in GanttPRO
1. You can do it right on your timeline. Grab a circle near the task and drag & drop an arrow, connecting the end of one task to the end of another, so that the arrow appears between them. The visualization will show you how simply and beautifully GantPRO does it.
2. Another way to create the Finish to Finish connection is to open “Settings”, define a task, and select the Finish to Finish dependency option. You will have to choose a task with which you want to link in a dropdown next to the field.
Start to Start (SS for short)
In Start to Start dependency, the successor can only start once the predecessor task it’s dependent on has begun.
The Start to Start dependency example
We can start managing a project (B) after we’ve prepared a solid project plan (A).
Let’s figure out how to establish Start to Start dependencies in GanttPRO.
How to set Start to Start dependencies in GanttPRO
Setting this kind of relation between project tasks can be also made with two options.
1. One of them is manually dragging & dropping. All you need is to connect the start of a particular task to the start of another task with the help of the beautiful arrow.
2. Alternatively, you can use GanttPRO settings. Open the task and find “Task dependencies”. Select the Start to Start option and choose a task that you want to connect in the drop-down near the field. Do not forget to lag time on the right side.
Start to Finish (SF for short)
Start to Finish is the relationship, where the finish of the successor task is controlled by the start of the predecessor. Start to Finish is seldom used, and generally, it is recommended to avoid this task relationship.
The Start to Finish dependency example
A new shift starts working (A) at a factory after the previous one has finished (B).
How to set Start to Finish dependencies in GanttPRO
Even though this is the rarest connection, you still have two options for how to set it up in GanttPRO.
1. The manual option will help you do this quickly and easily. You will need the drag & drop feature again: connect the start of one task to the end of another. Quite simple, isn’t it?
2. If you prefer to make changes in “Settings”, select the task you need, find “Task dependencies”, and choose a task that you want to connect in the drop-down near the field. Hopefully, you can handle it!
If some task dependency cannot be set, you will see a real-time notification at the top-right corner.
Note: you can always delete any dependency after clicking the History button. Choose the event you want to undo and then click the “Restore this version” button. Thus, you restore your chart to the state before a specific action has been implemented. Or you can simply left-click on a dependency on a chart and choose “Delete a link”.
What is the most common type of a dependency between activities?
The most common relationship is the Finish to Start relationship. It is pretty logical as a predecessor task A must be finished before successor task B can start.
What does predecessor mean in project management?
A predecessor is an activity whose start or finish controls the start or finish of another activity. There is also a successor, whose start or finish is controlled by the start or finish of another activity.
The role of predecessors and successors in project management is critical. Before you choose relationship types, you first need to identify predecessors in a project and also successors.
How to work with predecessors in GanttPRO
Perhaps you may still have a question about how to work with predecessors in GanttPRO. The beautiful interface of the tool helps to visualize the process of execution, providing you with all the details.
You may visualize dependencies on a diagram:
Or you may also add a special column “Predecessor”. Just сlick on the Plus icon and add the corresponding column.
With the help of the column “Predecessor”, you will see task numbering from the “Work breakdown structure” column. Thus, you will quickly see how any of your dependent tasks are connected.
Project management tool for visualizing task dependencies
Establish task dependencies of different types to streamline your project.Sign up for free
Task dependencies represent the order in which tasks must be performed. All types of relationships described above enable teams to work out the optimal task order, help in setting project milestones, and provide the fastest route through their projects.
Every type of task relationship is useful and on-demand. But remember that Finish to Start relationships are the most frequently used dependencies between activities.
As you can see, there is a lot to consider when it comes to task dependencies and their effective management. Regardless of a task dependency type, Gantt chart timeline tools like GanttPRO are built to organize and automate your processes. Set dependencies, estimate project duration, and deliver projects on time and in the most efficient way!
Very insightful, thanks!