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
| Type | Name | Effect |
|---|---|---|
| ASAP | As soon as possible | The default. Starts as early as logic allows |
| ALAP | As late as possible | Starts as late as possible without delaying successors |
| SNET | Start no earlier than | Can't start before the date |
| SNLT | Start no later than | Must start by the date |
| FNET | Finish no earlier than | Can't finish before the date |
| FNLT | Finish no later than | Must finish by the date |
| MSO | Must start on | Starts on the date |
| MFO | Must finish on | Finishes 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.