Expert, flexible training in the use of the most powerful scheduling software program in the world: Primavera P6 by Oracle. Call today! (916) 779-4145
Primavera Scheduling

All posts tagged Gantt Chart

Primavera SchedulingProper scheduling requires an understanding of driving relationships. These are the most important relationships in the schedule because they drive the start and finish dates of the activities that follow. So it stands to reason that all critical path relationships are driving. In Primavera P6, driving relationships appear on the Gantt Chart as solid lines: red for critical path and black for non-critical activities. When “crashing” the schedule we must focus on driving relationships in order to move up the start dates of critical path activities, thereby shortening the project duration.

Now, if every activity had only one predecessor we could ignore talking about the counterpart to driving relationships: the non-driving relationships. After all, if there is only one person in front of you performing a task, how could they not be driving your work? Well, there is one possible exception. Activity constraints can, in some situations, drive activity dates. For example, if the successor wants to start on August 3rd because the predecessor finishes the day before (i.e. the classic Finish-to-Start relationship) adding an activity constraint that pushes back the start date means that the constraint is driving, not the predecessor.

Finish-to-Start relationships make it easy to separate driving from non-driving relationships. If Activity C is waiting for both Activity A and Activity B to finish, whichever predecessor finishes last is the driving relationship. (I am assuming that both relationships have zero lag, but it is considered bad form to use any lag other than zero days with Finish-to-Start relationships). Where it gets more interesting is when the predecessor relationships are Start-to-Start and Finish-to-Finish. So here is my favorite example from our P6 102 class:

  • The predecessor has a duration of 20 days
  • The successor has a duration of 15 days
  • There are two predecessor relationships coming from the same activity
  • One of the predecessor relationships is Start-to-Start with a lag of 8 days
  • The other predecessor relationship is Finish-to-Finish with a lag of 5 days

Which predecessor relationship is driving?

Keep in mind there is only one predecessor activity, but there are two relationships. I will always add a Finish-to-Finish relationship to a Start-to-Start relationship. It is my insurance policy. I doubt that most Primavera users realize that if you only have a Start-to-Start relationship, the predecessor can finish on the last day of the project without causing a delay. For this reason I consider the Start-to-Start relationship by itself to be an open end – even though technically the predecessor does have a successor.

To be clear, “open end” refers to an an activity that is missing a predecessor or successor. The Schedule Log will display activities that are missing predecessors or successors under the “Warnings” section.

Non-driving relationships appear as dotted lines on the Gantt Chart. Pro tip: the Time-Scaled Logic Diagram (TSLD) in Visualizer (Tools > Visualizer) allows users to choose different colors and line styles for driving and non-driving relationships. There is also the option to show only driving relationships. TSLD also has the unusual feature of placing more than one bar on the same row if the bars do not overlap. This reduces the number of rows in the printout substantially.

Getting back to my earlier question, the Finish-to-Finish relationship is the driving relationship, and the Start-to-Start relationship is non-driving. Here is a visual representation:

 

Note that all durations are in calendar days to make the ordinal days and working days match.

Let’s take a look at the math. The successor is scheduled to start 8 days after its predecessor. The successor has a duration of 15 days. So the successor finishes on day 23 (8 + 15) when only this relationship is considered. But the successor is also supposed to finish 5 days after its predecessor, and the predecessor has a duration of 20 days. As a result, the successor now finishes on day 25 (5 + 20). The Finish-to-Finish relationship adds two more days to the sequence between these activities.

We should also realize that the successor cannot start 8 days after its predecessor because the Finish-to-Finish relationship is dragging the successor by its tail. P6 has a dilemma. The successor’s 15 day duration must be contiguous (other than on specified non-work days according to the calendar). In order to meet both the Start-to-Start and the Finish-to-Finish requirements, the successor would need to be two days longer. In which case both relationships would be driving.

The original Primavera scheduling program, P3, had an option to allow non-contiguous durations. P3 would “stretch” the successor so that both relationships could be fulfilled. But the displayed duration of the successor would not change. I suppose this did confuse some people because the length of the activity bar was occasionally quite exaggerated compared to the displayed duration. P6 dropped this feature, perhaps for good reasons. We must now recognize that not all of our specified conditions can always be met.

Driving and non-driving relationships can also be identified in the Activity Details at the bottom of the Activities window. Select the Predecessors, Successors or Relationships tabs. The columns shown in these tabs can be customized to show the Driving box, which is found in the General category of columns. I always display this box. The example I provided is rather simple because there is only one predecessor activity. Imagine if there are several predecessors starting on different dates and more than one relationship type!

Schedules can get very complex rather quickly because of the available relationship types. Ah, the old days when all relationships types were Finish-to-Start, things were rather simple. What we called the “I-J” or “Activity-on-Arrow” method of scheduling basically disappeared in the mid-1990s. But I am still a big fan of Finish-to-Start relationships because they are the most conservative relationships. I try to make about 80% of my relationships Finish-to-Start.

Keep in mind that as logic and durations are revised, what used to be driving may now be non-driving, or vice versa. Schedules are never static. Out-of-sequence work can also create new situations not previously anticipated. Similarly, new activities representing scope changes or unexpected events can alter the importance of relationships. But ultimately, if the start date of a task just seems wrong, driving relationships must be analyzed first. Don’t let the non-driving relationships become a distraction.