This post was originally published on July 12, 2019, and updated most recently on April 11, 2021.
No task exists in isolation. Even something as simple as making a cup of coffee involves interconnected elements. You need to ask your colleague whether they want one, go to the kitchen, find your special mug, brew the coffee, and so on.
Each stage of the process determines the outcome of the next stage. Constraints like a line in the kitchen or you’ve run out of coffee will have an impact on the outcome. This relationship between one task and the next is what’s known as a dependency — and it’s a big part of project management (and coffee-making, obviously).
Here’s the twist: Dependencies aren’t just related to tasks. Dependencies can refer to all kinds of relationships. For example, you and your team are dependent on the finance team to pay your wages, which you depend on for mortgages, rent, food, and so on. Dependencies can also exist both within and outside of your team or organization.
What are dependencies in project management?
Project dependencies refer to the relationship between two activities or tasks. This relationship is usually logical, constraint-based, or preferential: completion of one task usually relies on the completion of another.
For example, if you’re at an ATM and you need to check your balance, your first action — inserting your card — is dependent on the cash machine being on. If the machine is out of order and the next one is a 20-minute walk away, there will be at least a 20-minute delay to you receiving the information you need.
Dependency terms you need to know (and what they mean)
This is a restriction that limits your ability to progress. Classic constraints in the project management world include a lack of budget, resources, expertise, or time.
Sometimes, these constraints can birth new dependencies. For example, if several ATMs have stopped working and you only have one mechanic who knows how to fix the problem, then the repair of one machine is dependent on the repair of the others.
This is the amount of time you have to complete a task or activity without impacting the following activities.
Say Task B can’t start until five days after Task A is complete. If you start Task B two days early, then the lead time is two days. This would happen if beginning Task B was not dependent on any constraints.
This refers to any delay time. So, if Task B didn’t start until six days after Task A was complete, then the lag time is one day.
4. Critical Path
Critical path refers to the longest chain of dependent activities from the beginning to the end of a task. Altering any of the activities will impact the end time of the project.
Tip: You can use a PERT chart to help you work out how long it’ll take you to complete each task and design your project’s critical path.
How do constraints impact quality?
If you’re a project manager (or even if you’re not), chances are you’ll be familiar with the cost-time-scope triangle. For those unacquainted with the concept, it’s a diagram — like the one below — that shows how scope, cost, and time can affect quality.
For example, if someone on the team is out sick, the PM needs to consider the dependencies and work out how this absence will impact project delivery. They may decide to accept the delay or hire external help — which will impact the cost. It’s a balancing act.
The different types of dependencies you need to know
Logical dependencies are those that you can’t avoid. For example, a student can’t graduate until they pass their course. Some logical dependencies are internal and within your control. Others are tied to different departments or third parties.
Resource-based dependencies are built around constraints. For example, if there is only one engineer who knows how to fix ATMs, then the other broken machines will be fixed sequentially because there aren’t enough experts to repair the machines simultaneously.
Preferential dependencies are those that are based around convenience or best practice. In other words, they are at the discretion of the project manager and usually focus on quality. For example, an ad agency might prefer their copywriters to give their work two proofreads, but under a tight schedule, the manager may decide one is enough. This will reduce the time, but may compromise the quality of the work.
A Finish to Start (FS) dependency is the most common type. It refers to a logical, sequential situation. For example, proofreading can’t start until the article has been written.
Start to start dependency means the predecessor (Task A) must start before the successor (Task B) can begin. This refers to events that can happen almost simultaneously, but with a slightly staggered start. For example, fact-checking can begin shortly after article writing has begun. This dependency is usually tied to resources.
To use another example, say you’re baking a cake. To make the most efficient use of your time, you should make the batter first. Then, while you’re waiting for it to cook, you can make your frosting. This task is dependent on you completing the cake batter, but if another baker helps you out, then that dependency no longer exists because you have more resources.
Finish to finish dependencies refers to a situation where the predecessor (Task A) must finish before the successor (Task B) can finish. For example, you must bake the cake before you can decorate it.
How to keep on top of your dependencies
1. Work out your dependencies
First, you need to make sure you’ve considered all of your dependencies and their associated constraints. You can do this by yourself, or better yet, host a quick brainstorming session to hear everyone’s thoughts. Gathering the opinions of others also means you’re less likely to overlook something.
Once you’ve covered the foreseeable disruptive circumstances, find solutions to manage the impact of disturbances.
2. Identify your critical path
This will help you work out the longest possible time your project will take to complete. The best way to work this out is with a PERT chart. Once you have this information, you can use it to help you inform your scheduling, budgeting, and resource requirements.
3. Share your information
Run this information past the wider team and give them the opportunity to provide feedback one last time. Then, once everyone’s agreed on the dependencies, constraints, and critical path, take it to the stakeholders. Make sure your critical path is included in your project charter and that all parties are informed if you make any adjustments as the project progresses.
4. Maintain order
It’s important to keep track of all your dependencies, both before and after project kick-off.
Cloud-based project management software is the ideal way to manage all this information because you can add, assign, and track tasks in real-time with your colleagues. The more timely your information, the better you and your team can adapt to changing circumstances and work with constraints as they happen. We recommend using our own tool, Backlog, to help keep your team’s tasks progressing on schedule.