Support / Building schedules

Set Date Constraints

A constraint pins an activity's dates to something other than its logic, such as a permit date, a delivery, or a contract milestone. Use them sparingly. Logic should drive the schedule, and owner specs often cap hard constraints at 5% of activities.

Set a constraint

Show the Constraint column if it's hidden (the ▾ next to the Activity header). Click the cell, choose a type, and pick a date for the types that need one.

The eight types

TypeNameEffect
ASAPAs soon as possibleThe default. Starts as early as logic allows
ALAPAs late as possibleStarts as late as possible without delaying successors
SNETStart no earlier thanCan't start before the date
SNLTStart no later thanMust start by the date
FNETFinish no earlier thanCan't finish before the date
FNLTFinish no later thanMust finish by the date
MSOMust start onStarts on the date
MFOMust finish onFinishes on the date

SNET and FNET are "soft". They only push work later. The others are "hard" and can hold an activity in place even when logic says it's late.

Negative float

If logic pushes an activity past an SNLT, FNLT, MSO, or MFO date, its total float goes negative. That tells you the schedule can't meet the date as planned. Negative float is a warning to act on, not an error to hide by removing the constraint.

Constraints added by progress updates

When you run Update progress, unfinished activities that were ASAP or SNET get an SNET constraint at the data date, so no remaining work is forecast in the past. See Record progress.

Long-lead items

Project tools ▾ → Long-lead sets an SNET constraint from a vendor's promised delivery date on the delivery activity, so its successors slip if the delivery does. See Track long-lead procurement.

Schedule from finish

To work back from a contractual completion date for the whole project, use Schedule from finish on the project's Overview tab instead of constraining individual activities.