Much like a relay race, projects are often completed by passing tasks from one team member to the next. Unlike a relay race, some project tasks require other tasks to move forward before they can be started. This relationship between tasks is known as a dependency.
As a project manager, understanding how dependencies work can help you define a clear and consistent plan before initiating the project itself. Here's what you need to know.
In general, a dependency is something that relies on something else.
General examples of a dependency:
Babies are dependent on caregivers
Plants are dependent on sunlight
Fish are dependent on water
As it relates to project management, a dependency is a task that relies on the completion of a different task.
Examples of dependencies in project management:
A company's PR statement is dependent on the CEO’s approval of the messaging
A reimbursement is dependent on an expense report submission
A bug fix is dependent on the identification of its root cause
As a project manager, it's important to keep tabs on all of your project dependencies so stakeholders are aware of when they need to begin their part of the project.
Before we discuss different types of dependencies, here are some key terms to understand.
A project constraint is a restriction that the project manager must adhere to as the project progresses. The most common project constraints are:
Cost: How much money you can spend to complete the project.
Time: How long it takes you to complete a project.
Scope: How much of the team's resources you can use.
In project management, the critical path is the chain of activities that result in a fully completed project. If any of the critical tasks or activities are delayed, this affects the timeline of the entire project.Critical path method: How to use CPM for project management
A blocker is anything that can prevent the completion of a project activity. Blockers can be internal issues, such as a team member being out for a week, or external, such as an outside vendor not fulfilling a purchase order on time.
While the concept of dependences is simple, they can come in many variations.
Also known as a causal dependency, these dependencies are parts of a project that are necessary for a project's completion. They're often the goal output for all of the preceding tasks and cannot run parallel with other tasks.
For example, you cannot delegate a task to someone else if you don’t have another person on your team. In this case, hiring another team member is considered a logical dependency.
Resource dependencies are project restraints as it relates to a limited amount of resources that you have for your project. If there are additional resources available for the project, this dependency would not be an issue.
For example, the progress of Project B is dependent on a single designer finishing Project A so that they have the bandwidth to complete Project B without getting overworked.참고: 리소스 관리를 시작하기 위한 가이드
Preferential dependencies are created by team-imposed processes, but are not necessarily required for a project to be completed.
For example, an editor may require one final review before sending an article to publish. While this is a step that's created by the team to ensure there are no mistakes, this step isn't necessarily needed for the project to be completed.
External dependencies are tasks that are dependent on outside factors that you or your team have no control over. Internal dependencies are more common, as they rely on things that your team can control.
A good example of an external dependency is when a weather phenomenon prevents a shipment of fresh fruit from arriving at a restaurant. A chef could have had a menu that required oranges, but due to a surprise frost, they're unable to create the dishes necessary. The chef was externally dependent on the orange vendor for creating specific dishes.
Some dependencies are specific to the two tasks involved. Here are the most common types of task dependencies:
Finish to Start (FtS): This is the most common task dependency. Task B cannot start until Task A is complete. This functionality is common in the Waterfall project management methodology.
Finish to Finish (FtF): Task B cannot finish until Task A is also completed. This is common with tasks that have subtasks within them; if the subtasks are not completed, you cannot complete the parent task.
Start to Start (StS): Task B cannot start before Task A starts. These are for tasks that are required to run in parallel with each other. A good example of this is a timed e-commerce launch. A social media marketer may want to post an announcement for a sale going live, right as a web developer pushes the correct web page to go live. The social media marketer does not start until the web developer starts to ensure that the announcement goes out at the same time.
Start to Finish (StF): Task B must start for Task A to be completed. This is important for situations that require overlap. An example of this would be coverage on a support line. A representative cannot leave until a different representative comes to relieve them of their duties so that there is always someone available to provide customer support.
Dependency management can seem overwhelming at first glance, but learning how to navigate it can set your projects up for success. Here are four tips to help you organize task dependencies.
Finding the right project management tool that works for your team can change the game in terms of internal dependencies. Using a task management tool that can house your project plan, project activity, and clearly identify dependent tasks can help your team stick to the project schedule.프로젝트 관리를 위해 Asana를 사용해 보세요
Visualizing dependencies is an easy way to better understand what tasks need to be completed and in what order. Using visual tools like a Gantt chart or a Kanban board can clearly show your team members what stage your project is currently in and which tasks are dependent.참고: 프로젝트 계획을 시각화하는 3가지 방법: 타임라인, 캘린더, 보드
When you're establishing a project plan, brainstorm all potential internal dependencies that you may encounter during your project. Do any of your team members have a heavier workload than normal? Are you working with any external vendors to complete this project? In the event that one part gets delayed, is the project team prepared for a shift in the schedule?
Realistically, you cannot monitor every single potential risk that might come up during your project, but you can monitor dependencies to ensure that deliverables are still completed on time.참고: 명확한 프로젝트 리스크 관리 프로세스 6단계
There's no such thing as over-communication when it comes to task dependencies. If one project stakeholder knows that a task is delayed, encourage them to communicate with the entire team so individuals can adjust their timelines accordingly.Read: 5 steps to creating a stakeholder engagement plan (with template)
Want to learn more about how you can better keep track of project dependencies? Learn more with Asana project management resources.