Manage Dependencies in MS Project

-- Vivek Prakash

Gantt Chart

In the last two posts we discussed about why managing dependencies are important and how to identify dependencies. In this post I will discuss assigning and managing dependencies using MS Project 2010.

Using DSM, you can identify dependencies, decide which activity to do first which one later, which activities in sequence and which tasks in parallel and which tasks need to be done collectively by one group or person. If we execute the activities in the identified order, we reduce the probability of a situation where one activities is not moving forward because it is waiting for some other activity to complete i.e. we reduce idle wait time & rework and improve the overall productivity.

Now when we execute activities, things may not happen exactly as expected as it is difficult to think of all future scenarios at the planning stage. We need to keep a continuous watch on the progress of various activities and keep tuning the plan accordingly. MS Project or similar schedulers play a critical role in keeping a continuous watch on the progress, understanding the impact of any delay or early completion and adjusting the schedule.

There are 4 type of dependencies in MS Project. Finish to start (FS), Start to start (SS), Finish to finish (FF) and Start to finish (SF). The most common relationship is FS i.e. successor activity has to wait until predecessor is completed. SS means both predecessor and successor can happen in parallel and same is the case with FF. I have not seen any practical usages of SF, so we discuss first three relationships only. FS is basically a …


…sequential relationship  while SS & FF are parallel relationship. A & B are in SS relationship when they are waiting for same input and they are in FF relationship when they provide input to same task following them. SS & FF both can also be achieved using two FS links.

There are lead and lag that may be applied on the relationship. Lead means starting successor even before predecessor finishes like starting construction before design is signed off. Lag is a mandatory idle wait time between two tasks that mean the predecessor is  finished but you need to wait for some time to start the successor. For example to paint, wall has to be plastered but when plaster is done, you need to wait for 3 days for wall to dry before painting.

MS Project has 8 constrains that can be applied on the relationship. They are of three types. Flexible which are As soon as possible (ASAP) and As late as possible (ALAP). Semi flexible which are Start no later than (SNLT), Start no earlier than (SNET), Finish no later than (FNLT) and Finish no earlier than (FNET). Inflexible which are Must start on (MSO) and Must finish on (MFO).

A good schedule does not contain semi flexible or  inflexible constraints. You should use FS, SS or FF relationship with ASAP or ALAP constraints. This keeps the schedule flexible, independent of hard dates and provide accurate impact of any delay or early completion on the schedule. This helps in revision or adjustment of the schedule. Task relationship is important in identifying critical path and keeping control over the project to complete it on time.