There are 4 types of dependencies in project management viz. Mandatory, Discretionary, External, & Internal. You will find definitions, detailed description, and examples of different types of schedule dependencies in this article.
Some authors do not distinguish between project dependencies and activity relationships, which is incorrect. They are different from each other. You will also find similarities and differences between these terms in this article.
Project Dependencies are, in fact, Schedule Dependencies. It simply means that schedule of one task or activity is reliant on another one. To understand the foundational concepts, you should read my previous article for distinction between dependencies, assumptions, constraints, and risks.
Types Of Dependencies In Project Management
Mandatory Dependency
Mandatory Dependencies are either required by the law or contract and tsometimes they are inherent in the nature of the work. Due to these, the work must be done in a certain order. They are also called Hard Logic.
As an example, consider 2 activities A and B. If B has a Mandatory Dependency on A then it means action on B cannot be performed until Action on A has been completed. Let us look at following examples to understand:
- A: Requirements Documentation; B: Client Approval – Client cannot approve requirements until documentation is complete
- A: Lay Building Foundation; B: Construct a Floor – A floor of a building cannot be constructed until foundation is laid.
- A: Build Car Prototype; B: Perform Crash Testing – Crash testing on a care prototype cannot be performed unless the prototype itself is available.
Discretionary Dependency
Discretionary Dependencies are defined by the Project Team as a certain order of activities is more suitable for the nature of work. These are also called Preferred Logic, Preferential Logic or Soft Logic.
Sometimes, there is more than one way to define a sequence between 2 activities but the Project Team decides to take one sequence over the other. They choose a particular sequence because of the best practices or lessons learned from prior experiences.
As an example, consider 2 activities A and B. A and B can be independently performed or one can be performed after the other. The Project Team can chose to make B dependent on A. Let us look at following examples to understand:
- A:-Develop System Module X; B: Develop System Module Y – The project team can develop either X first or Y first but they decide to develop X first.
- A: Furnish Room R; B: Furnish Room S – The project team can furnish either room R first or S first but they decide to furnish S first.
- A: Book Airline Ticket; B: Buy Travel Insurance – The project team can book an airline ticket before buying travel insurance or do it other way around.
External Dependency
External Dependencies are defined between project activities and non-project activities. The project activities are done by the Project Team. The non-project activities are done by people who are external to the Project Team e.g. representatives from Client’s organization, Vendors’ organization or any other external groups within the same organization.
Generally, the Project Team has no control over non-project activities and hence the project schedule can be disrupted because of non performance of non-project activities.
As an example, consider 2 activities A and B. If B has an External Dependency on A then it would signify that B is a project activity while A is a non-project activity. Following examples will be helpful in understanding:
- A: Client Go-Ahead; D: Initiate Project: A project cannot be initiated before the client gives a go-ahead.
- A: Delivery of Equipment; D: Start Development: Project development cannot start until equipment is delivered.
- A: Approval of Building Plans; D: Start Construction: Construction of a building cannot be started unless the building plans are approved.
Internal Dependency
Internal Dependencies are defined between two project activities. Generally, the Project Team has complete control over the project activities.
As an example, consider 2 activities A and B. If B has an Internal Dependency on A then it would signify that both A and B are project activities. These are performed by the Project Team members. There is no involvement of any external party. Let us look at following examples to understand:
- A: Develop System; B: Test System
- A: Construct Wall; B: Paint Wall
- A: Assemble Machine; B: Pack Machine
Mandatory vs Discretionary and External vs Internal Dependencies
There are a total of 4 Types of Project Dependencies. However, only 2 are applicable at the same time. A dependency between 2 activities could be any one of the following:
- Mandatory-External
- Discretionary-External
- Mandatory-Internal
- Discretionary-Internal
Two activities cannot have Mandatory and discretionary at the same time. Similarly External and Internal cannot happen at the same time.
For example, the first example from the mandatory dependencies section above is also an external dependency, whereas the second example is an internal dependency.
Project Dependencies vs Activity Relationships
You would have noticed that I have not talked about activity relationships in this article.
Activity relationships are closely related to project dependencies but they have a different meaning. In some project management literature you will find the terms dependency and relationship used interchangeably, which is factually incorrect.
A dependency just suggests that one activity is reliant on another activity but a dependency does not tell how an activity is reliant on another. e.g. in one situation activity A will start after activity B starts but in another situation activity A would start after activity B finishes. In both these situations activity A is dependent on activity B but the relationships are completely different.
Like dependencies, there are 4 types of relationships – Finish to Start, Finish to Finish, Start to Start and Start to Finish.
All 4 dependencies can be expressed for all 4 relationships.
Over To You
How do you use dependencies in your projects? Do you document them in a separate log? Are they shared with different stakeholders? Can you share any examples from your project?
I would love to hear your thoughts in the comments section below.