Skip to content
Relationships and constraints

Relationships and constraints

Relationships describe how work depends on other work. Constraints describe a date requirement. Together with durations, calendars, actuals, and the status date, they determine the forecast.

Understand predecessors and successors

For “Install equipment” to follow “Prepare base,” Prepare base is the predecessor and Install equipment is the successor. Connecting them is more useful than typing two unrelated dates because later changes to preparation can then affect installation.

Type Meaning Example
FS — Finish-to-Start Successor start depends on predecessor finish Begin installation after the base is ready
SS — Start-to-Start Successor start depends on predecessor start Begin inspection after installation starts
FF — Finish-to-Finish Successor finish depends on predecessor finish Finish cleanup after installation finishes
SF — Start-to-Finish Successor finish depends on predecessor start End a temporary service after its replacement starts

Use the type that expresses the work. SS and FF relationships do not imply the same handoff as FS, and SF is uncommon.

Add and review relationships

  1. Open the schedule in Edit mode.
  2. Select the activities involved and use Link or the row context menu’s relationship controls. Choose the intended relationship type where offered.
  3. Review the predecessor/successor fields to confirm the direction and endpoints.
  4. Turn on Links in the timeline and calculate the schedule to inspect the result.

Use the relationship editing controls to adjust the type or lag, and Unlink to remove a relationship. Do not assume visual row order alone creates dependencies.

For a dense network, select the relevant activities or use Driving Path so the important connections are easier to see. A structural WBS row is not a valid substitute for linking its actual work activities.

Use lag for a real interval

Positive lag introduces a delay between relationship endpoints. Negative lag allows overlap. For example, an FS relationship with two working days of lag delays the successor beyond the predecessor’s finish.

Syncify measures relationship lag on the predecessor activity’s calendar. This matters when the two activities have different shifts or workweeks. A two-day working lag is not necessarily 48 elapsed hours.

Use a separate activity for work that needs its own owner, duration, progress, or review. A long lag called “curing,” for example, may be harder to monitor than a visible curing activity. Review negative and long lags in the Quality panel rather than treating every lag as an error.

Set a constraint

Select an activity, open Details, and inspect Constraints. Use the primary and, when needed, secondary constraint fields with their dates.

Constraint family Use when…
Start/Finish On or After There is a genuine earliest allowed date
Start/Finish On or Before There is a date limit to test the plan against
Start On / Finish On A specific date needs to be represented with a bounded soft constraint
Mandatory Start / Mandatory Finish A hard date override is explicitly intended
As Late As Possible Work should be placed using the applicable late-date behavior

Start and finish milestones have side-specific constraint rules. A constraint needing a date must have the right date as well as the right type. See CPM calculation reference for exact behavior.

Use constraints to represent external requirements, not to conceal incomplete logic. Hard overrides can produce a bar at a required date even when the network tells a more complicated story. Review float and surrounding relationships after adding one.

Why a relationship may not appear to move a date

Check whether the activity is completed, already has an actual start, has a stronger driving predecessor, is constrained, or uses a different calendar. The calculation mode also affects remaining work that has started out of sequence.

If automatic scheduling is off, the forecast may need an explicit Calculate. If the file is an import, review warnings: external relationships and Microsoft Project summary-task relationships may be omitted.

Resolve a logic loop

A cycle occurs when work depends, directly or indirectly, on itself. If calculation reports a loop, inspect the activities and relationships involved. Correct the erroneous direction or remove the invalid dependency; repeatedly pressing Calculate will not resolve contradictory logic.

Before a large logic change, save a version. Afterward, compare key milestone dates, inspect Quality, and trace the driving path to the important finish.