In project management, one of the first things you do is divide a larger project into smaller stages.

It allows you to delegate tasks and activities more efficiently. But you can’t just initiate all these stages at the same time. Some rely on others to finish before it makes sense to start them.

For example, you can’t hang clothes before you wash them. That would serve no purpose — unless you just like watching clothes sway in the wind. You have to respect the functional order to deliver a positive result.

Like sorting the laundry, washing it, and then hanging it to dry — most projects get more complex than that, but that’s the gist of it.

In this article, we’ll cover functional dependencies in-depth, explaining what they are, why they’re essential, and how you can use them to manage your projects better.

What are dependencies in project management?

In project management, a dependency is when a deliverable or task requires another to be progressed before you can start it.

For example, you can’t start baking a cake until you’ve mixed all the ingredients, or launch a new product before finishing your campaign and landing page.

Project dependencies

They’re often referred to as task dependencies, as they describe the relationship between different activities and tasks.

But not all dependencies are created equal. Some are 100% mandatory, while others are optional.

Let’s take a closer look.

Get started with

What are functional dependencies?

A functional dependency, also known as a mandatory dependency, is when you’re 100% reliant on something to happen before you can move forward.

When manufacturing physical products or constructing houses, there are a lot of functional dependencies.

Visualized through a Gantt chart, you can see how the different phases are inherently connected.

Gantt chart dependencies

There’s a natural constraint to when something should take place. You can’t start framing with no foundation, and you can’t assemble the walls without the frame in place.

These functional dependencies aren’t just present for physical products. You can’t start testing code that hasn’t been written yet. You can’t launch a marketing campaign with no ads or landing pages.

But how can you tell when it’s mandatory and when it’s not?

How do you tell if a dependency is functional or nonfunctional?

The easiest way to figure out if a dependency is functional or not is to answer a few questions.

  • Is it possible to finish the task independently of other tasks?
  • Could you start task B before A — or C or D — without significant consequences to the final result?

If the answer to these questions is no, you’re looking at a functional or mandatory dependency. If the answer is yes, it’s nonfunctional, also known as discretionary or preferential.

Even if you technically can start the tasks independently, you may have other reasons to stick to a particular order. For example, you may not want to hire unfamiliar contractors to pad the workforce enough to run multiple phases simultaneously.

Circumstances dictate whether respecting nonfunctional dependencies makes sense.

For example, you can start drinking water before you’ve finished chewing and swallowed your food. That’s not a mandatory task order. But most of the time, we follow it to avoid turning good food into tasteless sludge.

But sometimes it makes sense to break this preferential dependency. Like sipping a cold drink instantly after some molten hot pizza cheese threatens to incinerate your tongue.

Functional dependencies are more complex than C after B after A.

The most common — and straightforward — functional dependency is finish to start. You 100% complete one task before you can begin the next. Makes sense, right?

But not all mandatory dependencies follow this rule.

Sometimes, just starting A is enough to let the team working on B to start working efficiently.

This table shows how different dependencies can work.

Types of task dependencies

(Image Source)

And it’s not just one or the other. Two tasks may have a functional start to start and finish to finish relationship.

For example, say one team begins painting the interior walls as soon as a drywall slab is up. They can’t start until the first piece is up, and they can’t finish until the last drywall is done.

See how it can get complicated? And that’s just one subset of potential dependencies.

Why is it important to know which dependencies are functional?

Understanding which dependencies are functional or mandatory is crucial to plan your project accurately.

In critical path analysis — a technique many project managers use to create the ideal project schedule — you add up the longest string of dependent tasks to figure out your project length.

Critical path analysis diagram

If these dependencies aren’t functional, that means you’re creating an imaginary constraint. The schedule will be longer than it needs to be.

For example, if you prefabricate wall segments, you don’t have to wait until the foundation has dried to get that done.

After all, preferential dependencies can often be moved around or removed entirely if you need to condense the project schedule.

Impact on change management

Understanding functional dependencies isn’t just crucial for the initial planning stage. It’s also vital when adapting your schedule if things don’t go according to plan.

According to a 2020 study by McKinsey, large projects exceed their schedule by 30-45%, on average.

You need to understand how different risks will impact functional chains of tasks and deliverables. Otherwise, you can’t effectively change the schedule.

For example, if a shipment of concrete is delivered too late, it’s not just going to delay the foundation pouring. It also impacts all the other work that must happen on-site.

That’s something to consider during initial risk assessment and ongoing change management.

Get started

How helps you manage functional dependencies

Once you understand which dependencies you can’t ignore, you need to find the best way to manage them.

A spreadsheet and manually drawn flowcharts can work, but it makes it hard for remote teams to work on it together., on the other hand, makes visualizing and finalizing your dependencies and schedules a breeze.

Add dependencies to any project plan, timeline, or schedule.

If you use our project timeline template, you can add dependencies directly to the board. All you need to do is click the empty item in each column and choose a deliverable.

Project timeline dependencies

If not, you can customize a project plan or schedule board by adding a dependency column. It only takes a few clicks.

Visualize and optimize the dependencies and schedule with our Gantt chart.

With, you can easily create an interactive Gantt chart for any board. By visualizing it, you can clearly see the different dependencies and how they impact the overall project.

Gantt chart split view in

You can then use the drag-and-drop feature to optimize the schedule. Extending tasks, shortening them, or moving them is as easy as the click of a button.

Set up automations to adjust schedules according to dependencies.

Do you manage complex projects with 100s of individual tasks or deliverables? Our automations will make planning a lot smoother for you.

For example, you can ensure that the start date of dependent items always reflects that. dependency automations

Or you can update dependent items to all change their status to “stuck” at the same time if one does. That will highlight the importance of solving some roadblocks and delays over others.

Factor in the potential impact in risk and change management plans.

With the relationship between tasks and deliverables mapped out, it’s time to consider the risks.

For example, if there’s a risk of the weather delaying one step, it could halt a whole chain of items or even the entire project.

A rainstorm or drop in temperature won’t just delay the concrete setting. It impacts everything that comes after.

Monitor project progress and adjust in real time.

Without access to real-time data, your project management team won’t function properly. With, you don’t just get that data, you can also customize how you want to display it.

Highlight the status of crucial activities — with tons of dependencies — or pivotal resources.

Custom dashboard in

Properly customized, a dashboard will feel like you’ve got a new assistant or coordinator on the team. It will help you make the right decisions and adjustments at the right time.

The right order is key to project execution

If you don’t respect the order in a project, you won’t get the results you want.

By focusing on functional dependencies, you can create the shortest possible critical path and make crucial adjustments when adapting to changes.

It helps you keep your schedules short and your costs as low as possible, without impacting the final result.

Use and customize our project timeline template to start mapping out dependencies in your project.

Get started