According to the Project Management Body of Knowledge (PMBOK), all tasks should have a dependency. That’s because, in project management, all tasks are related. And by not indicating task order and relationships, you can inadvertently put your project schedule in harm’s way.
How so? Well, unclear directives, a lack of focus, and an unrealistic schedule are all main drivers of project failure. Since dependencies not only help dictate workflow, but also priorities and timeline, it’s often in everyone’s best interest to include them after the work breakdown structure is complete.
Here we’ll give you a crash course in task dependencies. Defining all the terms and outlining all the benefits. We’ll also give you step by step instructions for adding dependencies to your project’s Gantt chart in Ganttic. By the end you’ll see why your projects really do depend on dependencies.
What are Task Dependencies?
Dependencies are relationships between tasks. And their role is to highlight the order in which tasks need to be completed before moving on to the next job or project phase. For example, let’s say you have 2 tasks – Task A and Task B. If Task B requires the completion of Task A, then Task B is dependent on Task A.
All this may sound simple, but in complex projects with several interdependent tasks, things may get messy. Which is why setting a clear workflow via task dependencies is so important for keeping projects on track.
Project management software has you covered when you want to use dependencies. Especially when it comes to visual planning tools like a Gantt chart. That’s because they make it super easy to spot which tasks are dependent on which. Usually this is represented by an arrow going in the direction that the tasks should occur and linking everything together.
If you are using spreadsheets, many do not support dependency graphs and a workaround must be used. That doesn’t mean it’s impossible, just a bit of extra work. There’s plenty of tutorials to add the right dependency formula to your project spreadsheet, as well as templates.
Key Terms: Predecessor and Successor
Before you can begin establishing dependencies, it’s important to define which tasks are dependent on which, and which need to happen first. This means identifying the predecessors and successors.
Predecessor – A task, whose start and end dates control the start and end times of subsequent tasks.
Successor – The subsequent task, the start and end dates are controlled by the predecessor.
With all this in mind, there are 4 ways that these predecessor and successor tasks can relate to one another.
Finish to Start (FS) – Predecessor ends before the successor can start.
Start to Start (SS) – Predecessor starts before the successor can start.
Finish to Finish (FF) – Predecessor ends before the successor can end.
Start to Finish (SF) – Predecessor starts before the successor can end.
The most common relationship between tasks is the Finish to Start relationship – meaning Task B cannot start until Task A is complete. This is pretty logical if you think about it, since a wall cannot be painted until it’s built, and a product cannot be shipped until it’s packaged.
Types of Dependencies
There are 4 common types of task dependencies you may come across.
Mandatory vs. Discretionary Dependencies
Mandatory dependencies are sometimes known as hard logic dependencies. These are legally or contractually required within the project’s statement of work. The flip side of this is known as discretionary or soft logic dependencies. These relationships are not set in stone, and instead are implemented due to team preferences, best practices, or conventions.
Mandatory Dependencies – A contractor can only be booked far in advance for a specific date, so all preceding work must be completed beforehand.
Discretionary Dependencies – A bonus is given to early completion, so it’s in everyone’s best interest to do this first.
Tip: In Ganttic you can add a note to tasks specifying whether the dependencies are mandatory or discretionary.
Internal vs. External Dependencies
Dependencies can occur within the same project or amongst different projects in the portfolio. These are known as internal and external dependencies. Internal dependencies occur within the same project. While external dependencies are between two tasks within different projects.
Internal dependencies – For a project “building a new website,” a web dev team must first generate the wireframes before work can begin on the design.
External dependencies – For the same project, the web dev team must wait for images from an outsourced graphics design firm before proceeding with their next step.
Tip: In Ganttic you can create both internal and external dependencies. Easily spot external dependencies via different taskbar coloring options for swift management.
Similar to cross-project dependencies, you can have cross-resource dependencies. Because much like a relay, the different tasks in a project may be handed off to different people at different points. Ganttic supports all these kind of dependency types.
Leads and Lags
Sometimes there’s a time gap between tasks. This gap goes by 2 names – lead and lag time, depending on when the gap occurs.
Lag time – Generally thought of as the “delay” between predecessor and successor tasks. This is the amount of time that must pass before the successor can begin.
If your construction project requires pouring concrete on the base, you know you need to wait a week for it to cure, before you can start with the framing phase. That gives a lag time of 7 days.
Lead time – This can be seen as “overlap” between the two tasks. Converse to a delay, this is how far a predecessor can be advanced in regard to its successor. Lead is only applicable to Finish to Start relationships.
Your voiceover actors need the video footage to be complete before recording. But if some of the clips are ready, the actors can get started earlier.
Why Use Leads and Lags?
It’s often beneficial to schedule this gap when creating dependencies. Doing so can prevent people from jumping the gun and rushing in head-first into costly mistakes. By indicating dependencies as well as their lead and lag times, you can schedule everything right, the first time.
Maybe you know that a certain amount of time needs to pass before proceeding to the next task. For example, If a supervisor needs to sign off on a report, but they aren’t available until next week, you can automatically schedule in the lag time into the overall timeline. All this helps to ensure that your project schedule is as accurate as can be.
But leads and lags also increase efficiency. If your design team is waiting on photographers, maybe they can move ahead with their work when just 3 out of the 10 photos are ready. This can possibly move up the project completion date or other milestones to an earlier time.
Why Use Dependencies in Project Management?
Projects don’t exist in a vacuum, and neither do the components that make up your projects. Task dependencies give projects an optimized workflow. And can provide a sense of order to what at first glance appears to be a mountain of work-related chaos.
Here’s a few more ways task dependencies may prove useful to your project management process.
- Saves time – If you’ve ever waited on someone to finish their work before you could proceed, then you know this pain firsthand.
- Prevents delays – Develop a clear roadmap and plan of action that accounts for various project constraints and resourcing needs along the way.
- No wastage of resources – Everyone is working towards the same goal with less downtime along the way.
- Lesser chances of errors – Clear visualizations of the course of events increases transparency and lessens costly mistakes and setbacks.
- Helps maintain deadlines – See the fastest route to get through a project and avoid any speed bumps.
- Effective scheduling – Book your team as well as outside contractors, freelancers, and rented equipment and keep to the schedule.
- Risk management – Map out different scenarios and find the best course of action.
- Change management – In the event of a delay or change in the project schedule, it’s easy to adjust the entire schedule.
Creating Dependencies in Ganttic
- Head over to Settings > Dependencies and make sure Task Dependencies are turned on. You can also customize the color of the dependency line here. Hit Save.
- Return to your View’s Gantt chart and click on a Task. You can start with a predecessor or a successor task.
NB! Ganttic supports all FS tasks. So while you can start with either the predecessor or successor, at this stage the two tasks cannot overlap. When you define the Lead time (step 4) you can have them overlap.
- Choose this task’s predecessors and successors. Click the checkbox at the end of any predecessor tasks or the at the beginning of any successor tasks.
- Define Lead and Lag Time.
Fixed Lag – the specified lag (delay) between dependencies will remain the same whether you move the successor or predecessor up or push it back.
Minimal Lag – the lag (delay) between tasks cannot be less than the specified time, but there is no cutoff to how much of a delay can be added to the successor task.
Fixed Lead – the lead (overlap) between dependencies will remain the same whether you move the successor or predecessor up or push it back.
Maximum Lead – the maximum amount of time a predecessor can be advanced and in which the tasks can overlap.
NB! All leads and lags are positive numbers.
- See and manage your Task Dependencies from the Task toolbar.
The green dots indicate whether that task has a dependency. Click on the button to edit or remove any dependencies. A task can have an unlimited number of dependencies.
Get Started with Dependencies Today
Adding task dependencies to your project workflow can bring focus and clarity for yourself, as project manager, and for your team. Create a clear roadmap for success and get started incorporating task dependencies into your project Gantt charts today.
If you have any questions, you can always book a free demo and we can go through the process together screen-to-screen. And if you want to see any other dependencies included in future updates, don’t hesitate to reach out.