Activity Dependencies in Project Network

Activity Dependencies in Project Network Diagram cover

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 we can set them in most scheduling tools will be traditional here. Other types of activity dependencies in project management are not common. And we will describe it in a separate section of this article.

Traditional Activity Dependencies

1. Activity Dependency Types

Most common types 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 over after its predecessor finishes.
  • Start-to-Finish (SF) dependency: a successor activity can only be over if the predecessor activity is working.

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

These dependencies link the starts or finishes of dependent activities.

These 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 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. An example is liket this. One cannot process information until it arrives.

Discretionary dependencies reflect preferential logic. The order of activity execution follows discretionary reasons. An example as follows.  A-B pipeline can start from point A or from point B. After the direction, the order of construction of the pipeline sections becomes clear. And this order should be 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 external.

If an activity has more than one predecessor, all preceding dependency constraints should meet the project schedule. All dependencies define No Earlier Than time of activity execution. And, when an activity is in the plan, the latest time becomes a constraint. The dependency that defines this constraint in the current schedule is called driving. As the project executes, delays occur and the dependency that was not driving in the original schedule may 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

They 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.


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.

This means that the successor activity cannot start until 500 metres of its predecessor’s work volume is over. It is necessary to determine the volumes (in our case the number of joints or cubic metres) that correspond to a distance of 500 metres. If the volume of an activity is in different units.

Start to Finish Project Activity Dependencies

It is not sufficient to set the dependency for an activity start. The 500-meter distance is necessary for all the way until activity finish. If a successor operates by the crew with higher productivity than that of the predecessor’s crew, and the successor’s crew started when the 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 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 Dependencies

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.

Volume lags

Volume lags do not exist in most scheduling tools. It is therefore possible to replace them with timescales reflecting the duration of the operations by the previous and subsequent teams over a distance of 500 m. Time lags, however, require special attention during project execution. Because the work rarely goes in line with the plan. Time lag can expire before 500 meters. And therefore the values of time lags would require frequent adjustments.

3. Schedule optimization

This schedule can get better by increasing activity duration.

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

Activity Dependencies

Exhibit 3. Adjusted schedule of sample project

You can see that the Pipe Lowering activity duration increases by 3 days. This causes a 3-day reduction of project duration. Resources for 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. To achieve this, one may need to adjust the workloads of assigned crews.

Dependencies that require the synchronization of duration of activities relate to both SS and FF constraints. ANd these are ladder relationships.

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

Start to Finish

SF are rarely in use and, in most cases, it is erroneous. That is why they should not be in operateion. Nevertheless, in some cases SFs define real-life constraints that exist in some projects. This type of dependency control the changeover between two processes when the finish of an activity depends on its predecessor start.

An example: Contractor Site Security should be longer until Owner Security is in place.

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

Related posts

Leave a Comment