Task Constraints
Constraints are applied to your tasks to impose restrictions on the way that the task's start and finish dates are calculated. There are 8 types of constraints, which can be bucketed into the following 3 categories:
- Flexible constraints: These constraints do not have specific dates associated with them. Setting these constraints allows you to start tasks as early as possible or as late as possible, given other dependencies in your schedule.
- Semi-flexible constraints: These constraints require an associated date that controls the earliest or latest start/finish dates for a task. They allow flexibility on the task's dates, given other dependencies, as long as it does not violate the added constraint.
- Inflexible constraints: These constraints control the start or finish date for a task. They cannot move around in your schedule.
Constraint Name | Constraint Category | Description |
---|---|---|
As Soon As Possible (ASAP) | Flexible Constraint | Schedules the task to begin as early as possible. This is the default constraint for new Auto-scheduled tasks. For stand-alone tasks, this will always schedule tasks from the project's start date. |
As Late As Possible (ALAP) | Flexible Constraint | Schedules the task as late as possible, without delaying subsequent tasks. For stand-alone tasks, this will always schedule tasks backwards from the project's planned finish date. |
Start No Earlier Than (SNET) | Semi-flexible Constraint | Schedules the task to start on or after a specified date. Use this constraint to ensure that a task does not start before a specified date. |
Start No Later Than (SNLT) | Semi-flexible Constraint | Schedules the task to start on or before a specified date. Use this constraint to ensure that a task does not start after a specified date. |
Finish No Earlier Than (FNET) | Semi-flexible Constraint | Schedules the task to finish on or after a specified date. Use this constraint to ensure that a task does not finish before a particular date. |
Finish No Later Than (FNLT) | Semi-flexible Constraint | Schedules the task to finish on or before a specified date. Use this constraint to ensure that a task does not finish after a particular date. |
Must Start On (MSO) | Inflexible Constraint | Schedules the task to start on a specified date. |
Must Finish On (MFO) | Inflexible Constraint | Schedules the task to finish on a specified date. |
Constraints have higher precedence than task dependency, i.e. if a task is a successor task and also has a constraint date set, then the start/finish dates of the task will be determined by its constraint (type and date).