Every task you enter into Project has some type of constraint applied to it. A constraint controls the start or finish date of a task and the degree to which that task can be rescheduled. There are three categories of constraints:
Flexible constraints. Project can change the start and finish dates of a task. For example, the task Select locations to film can start as soon as possible. This type of flexible constraint is called As Soon As Possible, or ASAP for short, and is the default constraint type in Project. No constraint date is associated with flexible constraints.
Inflexible constraints. A task must begin or end on a certain date. For example, a task such as Set up lighting must end on April 8, 2005. Inflexible constraints are sometimes called hard constraints.
Semi-flexible constraints. A task has a start or finish date boundary. However, within that boundary, Project has the scheduling flexibility to change start and finish dates of a task. For example, a task such as Install props must finish no later than March 25, 2005. However, the task could finish before this date. Semi-flexible constraints are sometimes called soft or moderate constraints.
In all, there are eight types of task constraints:
This constraint category
Includes these constraint types
As Soon As Possible (ASAP)
Project will schedule a task to occur as soon as it can occur. This is the default constraint type applied to all new tasks when scheduling from the project start date.
As Late As Possible (ALAP)
Project will schedule a task to occur as late as it can occur. This is the default constraint type applied to all new tasks when scheduling from the project finish date.
Start No Earlier Than (SNET)
Project will schedule a task to start on or after the constraint date you specify. Use this constraint type to ensure that a task will not start before a specific date.
Start No Later Than (SNLT)
Project will schedule a task to start on or before the constraint date you specify. Use this constraint type to ensure that a task will not start after a specific date.
Finish No Earlier Than (FNET)
Project will schedule a task to finish on or after the constraint date you specify. Use this constraint type to ensure that a task will not finish before a specific date.
Finish No Later Than (FNLT)
Project will schedule a task to finish on or before the constraint date you specify. Use this constraint type to ensure that a task will not finish after a specific date.
Must Start On (MSO)
Project will schedule a task to start on the constraint date you specify. Use this constraint type to ensure that a task will start on an exact date.
Must Finish On (MFO)
Project will schedule a task to finish on the constraint date you specify. Use this constraint type to ensure that a task will finish on an exact date.
Beginning Project users are often tempted to enter start or finish dates for tasks. However, doing so applies semi-flexible constraints such as Start No Earlier Than or Finish No Earlier Than. This essentially prevents users from taking full advantage of the Project scheduling engine. Although this is one of the most common scheduling problems people have with Project, it is usually avoidable.
These three categories of constraints have very different effects on the scheduling of tasks:
Flexible constraints, such as As Soon As Possible, allow tasks to be scheduled without any limitations other than their predecessor and successor relationships. No fixed start or end dates are imposed by these constraint types. Use these constraint types whenever possible:
Semi-flexible constraints, such as Start No Earlier Than or Start No Later Than, limit the rescheduling of a task within the date boundary you specify:
Inflexible constraints, such as Must Start On, completely prevent the rescheduling of a task. Use these constraint types only when absolutely necessary:
The type of constraint you apply to the tasks in your projects depends on what you need from Project. You should use inflexible constraints only if the start or finish date of a task is fixed by factors beyond the control of the project team. Examples of such tasks include handoffs to clients and the end of a funding period. For tasks without such limitations, you should use flexible constraints. Flexible constraints give you the most discretion in adjusting start and finish dates, and they allow Project to adjust dates if your project plan changes. For example, if you have used ASAP constraints and the duration of a predecessor task changes from four days to two days, Project adjusts or “pulls in” the start and finish dates of all successor tasks. However, if a successor task had an inflexible constraint applied, Project could not adjust its start or finish dates.
In this exercise, you apply a Start No Earlier Than constraint to a task.
On the Project Guide toolbar, click Tasks.
The Tasks pane appears.
In the Tasks pane, click the Set deadlines and constrain tasks link.
The Deadlines and Constraints pane appears.
Select task 20, Scene 3 setup.
This scene must be shot at a location that is not available to the film crew until May 30, 2005.
Under Constrain a task in the Deadlines and Constraints pane, select Start No Earlier Than.
In the date box below it, type or select 5/30/05. Your screen should look like the following illustration:
At the bottom of the Deadlines and Constraints pane, click the Done link.
Project applies an SNET constraint to the task, and a constraint icon appears in the Indicators column.
You can point to the icon to see the constraint details in a ScreenTip.
Task 20 is rescheduled to start on May 30 instead of May 26. All tasks that depend on task 20 are also rescheduled.
Click the Show/Hide Project Guide button on the Project Guide toolbar.
The Project Guide closes.
Here are a few more things to keep in mind when applying constraints to tasks:
Entering a Finish date for a task (for example, in the Finish column) applies an FNET constraint to the task.
Entering a Start date for a task (for example, in the Start column) or dragging a Gantt bar directly on the Gantt chart applies a SNET constraint to the task.
In many cases, entering a deadline date is a preferable alternative to entering a semi-flexible or inflexible constraint. You will work with deadline dates later in this chapter.
Unless you specify a time, Project schedules a constraint date’s start or finish time using the Default Start Time or Default End Time values on the Calendar tab (Tools menu, Options command). In this project, the default start time is 8 A.M. If you want a constrained task to be scheduled to start at a different time, enter that time along with the start date. For example, if you want to schedule a task to start at 10 A.M. on May 30, enter 5/30/05 10AM in the Start field.
To remove a constraint, on the Project menu, click Task Information, and in the Task Information dialog box, click the Advanced tab. In the Constraint Type box, select As Soon As Possible or (if scheduling from the project finish date) As Late As Possible.
If you need to apply semi-flexible or inflexible constraints to tasks in addition to task relationships, you might create what is called negative slack. For example, you have a successor task that has a finish-to-start relationship with its predecessor task. If you entered a Must Start On constraint on the successor task earlier than the finish date of the predecessor task, this would result in negative slack and a scheduling conflict. By default, the constraint date applied to the successor task will override the relationship. However, if you prefer, you can set Project to honor relationships over constraints. On the Tools menu, click Options, and in the Options dialog box, click the Schedule tab. Clear the Tasks will always honor their constraint dates check box. This setting applies only to the current project file.
If you must schedule a project from a finish date rather than a start date, some constraint behaviors change. For example, the ALAP (rather than the ASAP) constraint type becomes the default for new tasks. You should pay close attention to constraints when scheduling from a finish date to make sure they have the effects you intend.