When you set a start (start date: The date when a task is scheduled to begin. This date is based on the duration, calendars, and constraints of predecessor and successor tasks. A task's start date is also based on its own calendars and constraints.) or finish date (finish date: The date that a task is scheduled to be completed. This date is based on the task's start date, duration, calendars, predecessor dates, task dependencies, and constraints.) for a task in Project, this means that you do not want that task to start or finish any earlier than that date. Constraints (constraint: A restriction set on the start or finish date of a task. You can specify that a task must start on or finish no later than a particular date. Constraints can be flexible [not tied to a specific date] or inflexible [tied to a specific date].) are applied to your tasks to impose restrictions on the way that the task's start and finish dates are calculated.
In this article
There are three types of constraints:
- Flexible 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, with the task ending before the project finish, given other constraints and task dependencies in the schedule.
- Semi-flexible constraints require an associated date that controls the earliest or latest start or finish date for a task. These constraints allow a task to finish at any time, as long as it meets the start or finish deadline.
- Inflexible constraints require an associated date that controls the start or finish date of the task. These constraints are useful when you need to make your schedule take into account external factors, such as the availability of equipment or resources, deadlines, contract milestones, and start and finish dates.
The following table lists the constraints provided in Project.
||As Late As Possible (ALAP)
||Schedules the task as late as possible with the task ending before the project ends and without delaying subsequent tasks. This is the default constraint for tasks when you schedule from the project finish date. Do not enter a task start or finish date with this constraint.
||As Soon As Possible (ASAP)
||Schedules the task to begin as early as possible. This is the default constraint for tasks when you schedule from the project start date. Do not enter a start or finish date with this constraint.
||Start No Earlier Than (SNET)
||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.
||Finish No Earlier Than (FNET)
||Schedules the task to finish on or after a specified date. Use this constraint to ensure that a task does not finish before a certain date.
||Start No Later Than (SNLT)
||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 Later Than (FNLT)
||Schedules the task to finish on or before a specified date. Use this constraint to ensure that a task does not finish after a certain date.
||Must Finish On (MFO)
||Schedules the task to finish on a specified date. Sets the early, scheduled, and late finish dates to the date that you type and anchors the task in the schedule.
||Must Start On (MSO)
||Schedules the task to start on a specified date. Sets the early, scheduled, and late start dates to the date that you type and anchors the task in the schedule.
If you manually enter a start date or a finish date for a task, Project changes the constraint type for that task to Start No Earlier Than (SNET) or Finish No Earlier Than (FNET). These semi-flexible constraint types force the task to start or end on the specified date regardless of subsequent changes that would otherwise affect the task's place in the overall project plan.
For optimal scheduling flexibility, we recommend that you allow Project to use flexible constraints to calculate the start and finish dates for tasks based on the durations (duration: The total span of active working time that is required to complete a task. This is generally the amount of working time from the start to finish of a task, as defined by the project and resource calendar.) and task dependencies (task dependencies: A relationship between two linked tasks; linked by a dependency between their finish and start dates. There are four kinds of task dependencies: Finish-to-start [FS], Start-to-start [SS], Finish-to-finish [FF], and Start-to-finish [SF].) that you enter. Only if you have unavoidable constraints, such as an event date that cannot be moved, should you consider setting a constraint for a task manually.
Constraining a task that is dependent on another task can produce unwanted results, as illustrated in the following example:
The task "Pour foundation" is linked so that it starts as soon as "Dig hole" finishes. "Dig hole" is supposed to happen on the 10th. If you enter an inflexible constraint that forces "Pour foundation" to start on the 10th and then "Dig hole" finishes early, Project will not be able to take advantage of the early finish and move "Pour foundation" to start earlier.
Rather than setting specific dates for a task, consider assigning an As Soon As Possible (ASAP) constraint and enter a deadline (deadline: A target date indicating when you want a task to be completed. If the deadline date passes and the task is not completed, Project displays an indicator.) for the task. Entering a deadline causes Project to display a deadline marker in the Gantt Chart view, and an indicator alerts you when the task's finish date moves past the deadline.
Top of Page
Set the start and finish dates for a task
For optimal scheduling flexibility, we recommend that you allow Project to calculate the start and finish dates for tasks based on the durations and task dependencies that you enter. However, if you have unavoidable constraints, such as an event date, you can set a specific start or finish date for a task.
- On the View menu, click Gantt Chart.
- Click the task that you are scheduling, and then click Task Information .
- Click the Advanced tab.
- Select a constraint type from the Constraint type list.
- If you select a constraint other than As Late As Possible or As Soon As Possible, type a constraint date in the Constraint date box, or select a date from the calendar.
Note When you schedule your project from a start date and type a date in the Start field of a task (or drag a Gantt bar to change the start date), Project sets a Start No Earlier Than (SNET) constraint for that task. If you type a date in the Finish field of a task, Project automatically sets a Finish No Earlier Than (FNET) constraint.
If you are having trouble with your task constraints, you may find the information in the following sections helpful.
Top of Page
Set a deadline date for a task
You can set a deadline (deadline: A target date indicating when you want a task to be completed. If the deadline date passes and the task is not completed, Project displays an indicator.) date for a task to keep track of its finish date without locking the schedule with an inflexible constraint. Project updates the schedule as needed, keeps track of deadline dates, and shows a symbol in the indicator column if a task finishes after its deadline.
To set a deadline date for a task:
- On the View menu, click Gantt Chart.
- Click the task that you are assigning a deadline.
- Click Task Information , and then click the Advanced tab.
- Enter the deadline date in the Deadline box.
Tip If you decide later that you no longer want the deadline set for this task, you can remove the deadline by clearing the Deadline box.
- Click OK to save the deadline. A green arrow appears next to the bar for the task in the Gantt Chart view. Project will not notify you if a deadline date is passed.
Note When a task slips past its deadline date, Project calculates the negative slack for that task. For example, if a task finishes a day later than it was scheduled to finish, it displays a total slack of -1d.
Top of Page
Change the constraint type for a task
You can change the constraint type for a task in the Project Guide, the Task Information dialog box, or the Constraint Dates table.
Make constraint changes by using the Project Guide
- On the Project Guide toolbar, click Tasks .
- On the Tasks pane, click Set deadlines and constrain tasks.
- Do one of the following:
- To select a single task, click the task name.
- To select more than one task, hold down CTRL and click each task name.
- To select all of the tasks in your project, click Select All.
- Under Constrain a task, select the constraint type that you want to use for the selected task or tasks.
- Click Done.
Top of Page
Make constraint changes in the Task Information dialog box
- Click the task that has the constraint, and then click Task Information .
- On the Advanced tab, review or change the constraint type.
Note Task constraints are also clearly marked in the indicator column with a constraint symbol (either or ). Rest the pointer on the constraint indicator to see the constraint type and date.
Top of Page
Make constraint changes in the Constraint Dates table
- On the View menu, click More Views.
- In the Views list, click Task Sheet, and then click Apply.
- On the View menu, point to Table, and then click More Tables.
- Click Task.
- In the Tables list, click Constraint Dates, and then click Apply.
The task sheet changes to show the Constraint Dates table, which shows the task name, duration, and constraint type for all constraints (including As Soon As Possible), and the constraint date, if applicable.
- Do either or both of the following:
- To change the type of a constraint, click the arrow in the Constraint Type field, and then click the constraint type that you want.
- To change the date of a constraint, in the Constraint Date field, type or select the date that you want.
If you change a constraint to As Soon As Possible (ASAP) or As Late As Possible (ALAP), the Constraint Date field shows NA.
Top of Page