BRC Academy · Primavera P6

Relationships and lags

Relationships are the logic of a schedule. They tell Oracle Primavera P6 which work has to happen before other work can start or finish, and lags add waiting time or overlap to those links. When the logic is sound, a delay to one activity moves exactly the work it should. When it is not, a schedule can look complete and still be useless for measuring delay. This lesson covers the four relationship types, lags and the lag calendar, driving relationships, and what an owner checks in a contractor's logic.

Learning outcomes

  • Describe the four P6 relationship types and when each one fits construction work.
  • Add, edit and review relationships and lags in P6 Professional, and explain which calendar P6 uses for lag.
  • Identify driving relationships and read them in Activity Details, the Gantt chart and Trace Logic.
  • Apply owner rules for lags, relationship types and open ends using P6's Check Schedule report.

The lesson

Four relationship types

Oracle describes a relationship as the way an activity relates to the start or finish of another, and says relationships combined with durations are what P6 uses to calculate dates [1]. An activity can have as many as it needs, you can add a comment to each one, and you can link to activities in other projects, which P6 calls external relationships [1]. There are four types (Figure 1):

  • Finish to Start (FS). The successor starts after the predecessor finishes. It is P6's default for all activities, milestones included [1][2].
  • Start to Start (SS). The successor starts after the predecessor starts [2]. Used for overlapping work: the second crew starts once the first has made room.
  • Finish to Finish (FF). The successor finishes after the predecessor finishes [2]. Used to stop the follow-on trade finishing ahead of the trade it follows.
  • Start to Finish (SF). The successor cannot finish until the predecessor starts [3]. It is rare in construction, and an owner should ask why it is there.
The four relationship types in P6 Four panels, each with a blue predecessor bar above a successor bar and a navy connector. Finish to Start: the line leaves the right end of the predecessor and enters the left end of the successor, which starts after it. Start to Start: the line leaves the left end of the predecessor and enters the left end of the successor, which starts later and overlaps. Finish to Finish: the line leaves the right end of the predecessor and enters the right end of the successor, which finishes after it. Start to Finish: the line leaves the left end of the predecessor and enters the right end of the successor, which cannot finish until the predecessor starts; marked as rare. Finish to Start (FS)default Predecessor Successor Start to Start (SS)overlap Predecessor Successor Lag here = how far the successor's start trails Finish to Finish (FF)follow-on Predecessor Successor Start to Finish (SF)rare: ask why Predecessor Successor
Figure 1. The four relationship types and where each connector attaches. P6 draws relationship lines the same way: from the right end of a predecessor for FS and FF, from the left end for SS and SF. Source: BRC, based on Oracle Primavera P6 Professional Help v26, Relationships and View activity relationships in the Gantt Chart [1][4].

Lag: waiting time and overlap

Lag is time added to a relationship. Positive lag delays the successor; negative lag lets it begin before the predecessor completes [2]. An FS link with 5 days of lag says "start five working days after the predecessor finishes". An SS link with 10 days of lag says "start ten working days after the predecessor starts". Negative lag on an FS link (often called a lead) is harder to read and harder to defend, because it ties the successor to a finish date that has not happened yet.

Lag is counted on a calendar, and which one is a project setting. Choose Tools, Schedule, click Options and look at Calendar for scheduling Relationship Lag on the General tab. The choices are the predecessor's calendar, the successor's calendar, a 24 Hour Calendar or the project default calendar. If nothing is selected, P6 uses the successor's calendar [5]. Oracle adds a warning: lag entered in a unit other than hours is converted to hours using the predecessor's calendar [5]. On Northgate's 8-hour day, a lag typed as 5d is 40 hours. Counted on a 24 Hour Calendar, that is less than two calendar days, not five.

Adding and editing relationships

In P6 Professional, choose Project, Activities, select the successor, open Activity Details and click the Predecessors tab (or the Relationships tab, which shows predecessors and successors together). Click Assign, pick the predecessor, then double-click the Relationship Type and Lag fields to change them [6]. To link to another project, use the Display Options bar in the Assign Predecessors dialog and choose Select Project [6]. You can also drag between bars in the Gantt chart or boxes in the Activity Network. Oracle's tip is worth adopting for reviews: add the Predecessor Details column to the Activity Table to see every predecessor with its type and lag on one line [6].

Driving relationships

An activity can have several predecessors, but usually only one sets its start. That link is the driving relationship. P6 marks it in the Driving column of the Predecessors and Relationships tabs. In the Gantt chart and Activity Network, driving relationships are drawn as solid lines and non-driving relationships as dashed lines [7][8]. P6 EPPM Help states the test P6 applies: the relationship has free float of zero or less, and the activity has no Start On or Finish On constraint and no actual finish [7]. A non-driving predecessor with a day or two of relationship float is close to driving and worth watching.

To follow the logic of one activity, choose Layout Options, Show on Bottom, Trace Logic. P6 draws the selected activity with its predecessors to the left and successors to the right [9]. It is the fastest way to answer "what is holding this up?" in a meeting.

Screenshot to come
Screenshot to come: P6 Professional v26, project NDC-BL00 (EPS NDC.SUB), Project, Activities, activity A4100 Cast tilt-up panels selected, Activity Details Relationships tab showing predecessor A3500 twice (SS 10d, FF 3d) and successor A4200 (FS 5d), with the Driving, Relationship Type, Lag and Comments columns visible

Northgate worked example

Northgate Distribution Centre (fictional) is a tilt-up warehouse built by Halvorsen Builders Ltd. (fictional) for Northgate Logistics Inc. (fictional); see the Northgate fact sheet. In Halvorsen's baseline NDC-BL00, the tilt-up wall panels are cast on the floor slab and lifted into place once they have cured. The link from the slab (WBS 3.2) to the panels (WBS 4) uses three of the four relationship types (Figure 2). Dates are Halvorsen's illustrative baseline dates between the M4 and M5 contract milestones.

  • A3500 Slab-on-grade, 25d, Mon Apr 12 to Fri May 14, 2027.
  • A4100 Cast tilt-up panels, 25d. SS 10d from A3500, because casting can start on the first slab pours while later pours continue. Start Mon Apr 26. Also FF 3d from A3500, so casting cannot finish until three days after the last pour. With Victoria Day (Mon May 24) off, it finishes Mon May 31.
  • A4200 Erect tilt-up panels, 14d. FS 5d from A4100 for the panel cure, so erection starts Tue Jun 8 and finishes Fri Jun 25, 2027.
  • M5 Tilt-up panels erected, Finish Milestone, FS from A4200, Fri Jun 25, 2027.
Northgate slab to tilt-up panels: SS, FF and FS with lag A Gantt chart from April 12 to June 28, 2027. A3500 Slab-on-grade runs April 12 to May 14. A4100 Cast tilt-up panels runs April 26 to May 31, linked from the slab start by a solid driving Start to Start line with 10 days of lag, and from the slab finish by a dashed non-driving Finish to Finish line with 3 days of lag that would allow a finish on May 19. A4200 Erect tilt-up panels runs June 8 to June 25, linked from the end of casting by a solid Finish to Start line with a 5-day cure lag shown as a gap. The M5 milestone diamond sits at June 25. Apr 12 May 1 Jun 1 Jun 28 A3500 Slab-on-grade · 25d A4100 Cast tilt-up panels · 25d A4200 Erect tilt-up panels · 14d M5 Tilt-up panels erected Fri Jun 25 SS 10d FF 3d (not driving) FS 5d cure lag Solid line = driving · dashed line = not driving
Figure 2. Halvorsen's logic from the slab to the M5 milestone (illustrative baseline dates). The SS link drives casting; the FF link is satisfied with time to spare, so it is not driving. Source: BRC, based on the Northgate fact sheet and Oracle Primavera P6 Professional Help v26, Relationships and Schedule Options [1][5].
View the data
ActivityDurationPredecessor linkStartFinish
A3500 Slab-on-grade25dFS from footings and underslab workMon Apr 12, 2027Fri May 14, 2027
A4100 Cast tilt-up panels25dSS 10d and FF 3d from A3500Mon Apr 26, 2027Mon May 31, 2027
A4200 Erect tilt-up panels14dFS 5d from A4100Tue Jun 8, 2027Fri Jun 25, 2027
M5 Tilt-up panels erected0dFS from A4200NoneFri Jun 25, 2027

Reading the links

The SS 10d link drives casting: it sets the start on Mon Apr 26. The FF 3d link would allow casting to finish as early as Wed May 19, but casting's own 25 days take it to May 31, so the FF link has float and is not driving. It still earns its place: if the slab slipped two weeks, the FF link would stop casting from "finishing" on unpoured slab.

The FS 5d link is a cure period. It is real waiting time, not work, so lag is a reasonable way to show it. Halvorsen's file uses the default lag calendar, the successor's, so the five days are working days: Tue Jun 1 to Mon Jun 7. If someone switched the lag calendar to 24 Hour without re-entering the lag in hours, the 5d would become 40 continuous hours and erection would move earlier on paper while the concrete cured no faster. The owner records the lag calendar setting with the baseline for exactly this reason.

The review

The owner's scheduler runs Tools, Check Schedule Report on NDC-BL00 [10]. Its Relationships and Assignments tab checks the logic the specification cares about: activities missing predecessors or successors, negative lags, positive lags, long lags, the share of relationships that are Finish to Start, out-of-sequence progress, and dangling starts and finishes. A dangling start is an activity whose start is not driven by any predecessor, including one tied in only by FF or SF links [11]. The A4100 to A4200 lag shows up under positive lags, and the reviewer accepts it because the Comments field says "panel cure, per structural spec". An unexplained 15-day lag elsewhere goes back to Halvorsen as a question.

Owner's decision guide: activity, lag or link? A decision flow for any gap or overlap found in the logic. First question: is something being done in the gap, with a crew or a reviewer? If yes, make it an activity with a duration. If no, second question: is it real waiting time, such as concrete cure or a fixed notice period? If yes, accept a positive lag with a comment that explains it. If no, third question: does the second trade really overlap the first? If yes, use SS or FF links with a lag and a comment. If no, the gap is a plug: remove it and fix the logic. Is work being done in the gap? A crew, a reviewer, a supplier yes Make it an activity no Is it real waiting time? Cure, notice period, set time yes Positive lagwith a comment no Do the trades really overlap? Second crew follows the first yes SS or FF + lagwith a comment no It is a plug Remove the lag or constraint and fix the logic Negative lag and SF links: ask for the reason in writing
Figure 3. An owner's guide to any gap or overlap found in a contractor's logic. Source: BRC, based on Oracle Primavera P6 Professional Help v26, Check Schedule Relationships and Assignments tab [11].
Screenshot to come
Screenshot to come: P6 Professional v26, NDC-BL00, Tools, Schedule, Options, General tab of the Schedule Options dialog box, with Calendar for scheduling Relationship Lag set to Successor Activity Calendar highlighted
Screenshot to come
Screenshot to come: P6 Professional v26, NDC-BL00 Gantt chart filtered to A3500, A4100, A4200 and M5, relationship lines on, showing the solid driving SS and FS lines and the dashed non-driving FF line; Predecessor Details column visible in the Activity Table

Owner's move

  • Specify relationship rules. Every activity except the first has a predecessor and every activity except the last has a successor; each activity's start is driven by a start-side link and its finish drives a finish-side link.
  • Set limits on lag. No negative lag without the owner's acceptance, positive lag only for real waiting time, and a comment on every lag explaining it.
  • Ask for the share of FS links. A schedule built mostly of SS and FF links with lags is a set of assumptions about overlap. Check Schedule reports the FS share against a target [11].
  • Record the lag calendar. Note the Calendar for scheduling Relationship Lag setting with each baseline, and question any change at update time.
  • Use Trace Logic in meetings. When Halvorsen says an activity is held up, look at its driving predecessor together, on screen.

Common mistakes

  1. Using lag as a hidden activity. "FS 20d" for shop-drawing review hides who is doing the work and how long the owner has. Make it an activity.
  2. SS links with no finish-side link. The successor's finish floats free, so a delay to the predecessor's finish never reaches it.
  3. Typing lag in days on a 24 Hour lag calendar. P6 converts it using the predecessor's hours per day, so 5d becomes 40 hours [5].
  4. Linking to summary bars. Relationships to WBS Summary activities are ignored when P6 schedules [12].
  5. Reading every line as driving. Only solid lines drive. A dashed predecessor can slip without moving the successor, up to its relationship float.

Quick quiz

  1. P6's default relationship type is:

    1. Start to Start
    2. Finish to Finish
    3. Finish to Start
    4. Start to Finish
  2. If no calendar is selected for scheduling relationship lag, P6 uses:

    1. The predecessor's calendar
    2. The successor's calendar
    3. A 24 Hour Calendar
    4. The global calendar
  3. On Northgate's 8-hour calendar, a lag typed as 5d on a 24 Hour lag calendar equals:

    1. 5 calendar days
    2. 5 working days
    3. 40 hours
    4. 120 hours
  4. In the Gantt chart, a dashed relationship line means the relationship is:

    1. External
    2. Critical
    3. Not driving
    4. Negative lag
  5. A3500 to A4100 has an FF 3d link that allows a finish on May 19, but A4100 finishes May 31. That link is:

    1. Driving
    2. Not driving
    3. Ignored by P6
    4. An error
Show answers and explanations
  1. C. Finish to Start is the default for all activities, including milestones [1].
  2. B. P6 uses the successor activity's calendar when no lag calendar is selected [5].
  3. C. Lag in days is converted to hours using the predecessor's calendar: 5 × 8 = 40 hours [5].
  4. C. Solid lines are driving; dashed lines are non-driving [8].
  5. B. The link is satisfied with time to spare, so it has relationship float and does not set the date [7].

Key terms

Relationship
A logic link between two activities that ties the start or finish of one to the start or finish of the other.
Lag
Time added to a relationship. Positive lag delays the successor; negative lag lets it begin before the predecessor completes.
Lag calendar
The calendar P6 uses to count lag, set in Schedule Options; the successor's calendar if none is chosen.
Driving relationship
The predecessor link that actually sets an activity's date.
External relationship
A relationship to an activity in another project.
Dangling activity
An activity whose start is not driven by a predecessor, or whose finish does not drive a successor.

References

  1. Oracle. Relationships. Primavera P6 Professional Help, Version 26.
  2. Oracle. Relationships Detail Window of the Activities Page. Primavera P6 EPPM Help, Version 26.
  3. Oracle. Start to finish relationship. Primavera P6 Professional Help, Version 26.
  4. Oracle. View activity relationships in the Gantt Chart. Primavera P6 Professional Help, Version 26.
  5. Oracle. General tab - Schedule Options dialog box. Primavera P6 Professional Help, Version 26.
  6. Oracle. Add predecessor relationships. Primavera P6 Professional Help, Version 26.
  7. Oracle. Working with the Activity Network. Primavera P6 EPPM Help, Version 26.
  8. Ten Six Consulting. Primavera P6 Professional trace logic feature. Updated February 18, 2025.
  9. Oracle. View activity relationships in Trace logic. Primavera P6 Professional Help, Version 26.
  10. Oracle. Check a schedule. Primavera P6 Professional Help, Version 26.
  11. Oracle. Relationships and Assignments tab - Check Schedule dialog box. Primavera P6 Professional Help, Version 26.
  12. Oracle. Schedule a project. Primavera P6 Professional User Guide, Version 26.

Verified on November 6, 2026.

Next lesson in this trackScheduling (F9) and the schedule log

PMI, PMP and PMBOK are registered marks of the Project Management Institute, Inc. Oracle and Primavera are trademarks of Oracle. Microsoft Project is a trademark of Microsoft. BRC Academy is not affiliated with or endorsed by these organizations.

← All BRC Academy lessons

Have a program that's slipping, or about to start?

Book a 30-minute call. We'll tell you where your schedule and budget are exposed, and what an owner's rep would change, before you commit to anything.