Activity Dependencies in Project Network Diagram cover

Activity Dependencies in Project Network

Projects consist of activities that depend on each other. These activity dependencies dictate the constraints on the order of activity execution. The constraints that are described in the PMBOK Guide and other project management standards and can be set in most scheduling tools will be called traditional here. Other types of activity dependencies in project management are not common and will be described in a separate section of this article.

Traditional Activity Dependencies

1. Activity Dependency Types

Most common types of activity dependencies supported by most scheduling tools include:

  • Finish-to-Start (FS) dependency: a successor activity cannot start until the predecessor activity is complete
  • Start-to-Start (SS) dependency: a successor activity cannot start until the predecessor activity has started
  • Finish-to-Finish (FF) dependency: a successor activity can only be completed after its predecessor is completed
  • Start-to-Finish (SF) dependency: a successor activity can only be completed if the predecessor activity has started.

Please note that all these dependencies are of No Earlier Than type. It means that the successor can be executed any time after the dependency condition is met.

These dependencies link the starts or finishes of dependent activities.

Acitivty Dependencies in project management can have Lags or Leads.

A lag is an amount of time that must be added to the moment when dependency condition is met before the linked event (successor activity start or finish) can happen.

A lead is an amount of time that must be deducted from the moment when dependency condition is met before the linked event (successor activity start or finish) can happen. Leads can also be called negative lags.

Both lags and leads can have their own calendars. Most scheduling tools suggest selecting calendars of the predecessor or successor activities, or to use 24/7 calendar as a lag or lead calendar.

2. Activity Dependency Attributes

Dependencies can be Mandatory (Hard) and Discretionary (Soft).

Mandatory dependencies usually reflect technological restrictions on the order of activity execution, safety requirements, contract conditions, or other constraints that must be taken into account. An example: one cannot process information until it is delivered.

Discretionary dependencies reflect preferential logic: the order of activity execution is selected based on discretionary reasons. An example: A-B pipeline can be built starting from point A or from point B. After the direction is selected, the order of construction of the pipeline sections is defined and this order must be set in the project model.

When a project belongs to a program or project portfolio, its activities can depend on other projects’ activities. These dependencies are called external.

If an activity has more than one predecessor, all preceding dependency constraints must be met in the project schedule. All dependencies define No Earlier Than time of activity execution and, when an activity is scheduled, the latest time is selected as a constraint. The dependency that defines this constraint in the current schedule is called driving. When the project is executed, delays happen and the dependency that has not been driving in the initial schedule can become a driving dependency later.

Advanced Options

Traditional activity dependencies in project management link activity start and finish points with time lags. In real life, however, other types of dependencies and lags exist too.

Thus, Spider Project software permits using not only Time but also Volume lags, and set Double Lag or Point-to-Point dependencies.

Volume lags define a volume of work that must be done on a predecessor activity before the successor activity starts in SS dependencies, or a volume of work that must remain to be done on the successor activity after the finish of its predecessor in FF dependencies.

Double Lag or Point-to-Point dependencies link intermediate points of dependent activities (e.g. 60% of an activity’s volume of work must be completed before the completion of 20% of the successor’s volume of work).

Double lag dependencies are usually set in high-level schedules.

As was already noted, all types of dependencies define Not Earlier Than constraints on the order of activity execution. Spider Project users, however, can also set strict dependencies.

Strict Dependency defines the Just In Time constraint on the order of activity execution. In particular, if two activities are linked with a strict FS dependency, the successor activity must start immediately after the predecessor’s finish instead of No Earlier Than. If for some reason a successor must be delayed, the predecessor must be delayed too. Activities linked by the strict dependency are “glued” to each other.

Activity Dependency Examples

1. FS Dependencies ( Finish-to-Start Relationship)

Finish to Start

FS dependency is the most common. It means that a successor activity can only start after the preceding activity is completed.


  • Information cannot be used until it is generated and submitted
  • Walls cannot be built before the foundation is completed
  • Formwork can only be removed after a certain time lag following the wall concreting

Most dependencies in the detailed schedules of most projects are of FS type.

2. SS (Start-to-Start Relationship) and FF (Finish-to-Finish Relationship) Dependencies

SS and FF dependencies mean that activities linked by these activity dependencies in project management can be executed in parallel but usually with some time or volume lags between their start or finish points.

Start to Start

In most cases when an activity can only start after its predecessor’s start, the successor activity cannot finish before its predecessor finishes and, thus, these activities must be linked by both SS and FF dependencies.

Finish to Finish

Let’s discuss these dependencies, using a small sample project of construction of a 10-km pipeline section.

Activity Dependencies in Project Network Diagram

Exhibit 1. Pipeline section construction Gantt Chart

This project consists of the following activities: Trench Digging, Pipe Welding, Pipe Joint Coating, Pipe Lowering into the Trench, and Backfilling. The crews assigned to these activities have different productivities that define activity duration. These crews use heavy equipment and, for safety reasons, they must maintain at least 500-meter distance between them.

It means that the successor activity can only start after 500 meters of its predecessor’ volume of work are completed. If an activity’s volume is measured in different units, it is necessary to determine the volumes (in our case, number of joints or cubic meters) that correspond to 500-meter distance.

Start to Finish Project Activity Dependencies

It is not sufficient to set the dependency for an activity start. The 500-meter distance must be maintained all the way until activity finish. If a successor is executed by the crew with higher productivity than that of the predecessor’s crew, and the successor’s crew started when the required minimal distance between the crews was achieved, this distance will become less than required very soon. Therefore we must set additional FF dependency with a lag that reflects the 500-meter distance between the crews. If the successor’s productivity is higher, FF dependency will become driving and the distance between the crews will be always longer than 500 meters. As a result, all activities in our schedule are linked by both SS and FF dependencies with volume lags.

The network diagram of our sample project is shown in Exhibit 2. Driving dependencies in this diagram are shown with bold arrows, and you can see that SS dependencies are driving dependencies for all activities except Pipe Lowering into the Trench. For this activity, the outbound FF dependency of the Joint Coating activity is driving.

Activity Dependency Examples for pipeline construction

Exhibit 2. Pipeline section construction Network Diagram

We have created both SS and FF dependencies between the same activities. It is not permitted in some software tools like MS Project, but there are workarounds such as adding a milestone activity with an FS dependency from the successor activity, and linking the predecessor to this milestone with FF dependency.

Volume lags

Volume lags do not exist in most scheduling tools. Therefore they can be replaced by the time lags that reflect the duration of work performed over 500-meter distance by the preceding and the succeeding crews. Time lags, however, require special attention during project execution because the work is rarely performed exactly as planned. Time lag can expire before 500 meters are completed, and therefore the values of time lags would require frequent adjustments.

3. Schedule optimization

This schedule can be improved by increasing activity duration.

In Spider Project, this function is schedule adjustment. Adjusted schedule is shown in Exhibit 3 where grey bars show the dates in the initial schedule.

Using activity relationships on network diagram for Schedule optimization

Exhibit 3. Adjusted schedule of sample project

You can see that the Pipe Lowering activity duration increased by 3 days, which caused a 3-day reduction of project duration. Resources assigned to this activity dependencies in project management will work with a partial workload.

In many cases it is reasonable to synchronize durations of activities linked by both SS and FF dependencies. To achieve this, one may need to adjust the workloads of assigned crews.

Dependencies that require the synchronization of duration of activities linked by both SS and FF constraints are called ladder relationships.

4. SF (Start-to-Finish Relationship) Dependencies

Start to Finish

SF dependencies are rarely used and, in most cases, are used erroneously. That is why they should better be avoided. Nevertheless, in some cases SF dependencies define real-life constraints that exist in some projects. This type of dependency is used to control the changeover between two processes when the finish of an activity depends on its predecessor start.

An example: Contractor Site Security must be prolonged until Owner Security is in place.

A successor activity in this dependency is usually of the hammock type with elastic duration.


Leave a reply

Your email address will not be published.


This site uses Akismet to reduce spam. Learn how your comment data is processed.

Log in with your credentials


Forgot your details?

Create Account