Setting Task Constraints
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 June 14, 2008. 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 the start and finish dates of a task. For example, a task such as Install props must finish no later than June 13, 2008. However, the task could finish before this date. Semi-flexible constraints are sometimes called soft or moderate constraints.
In total, 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. There is no constraint date for an ASAP constraint.
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. There is no constraint date for an ALAP constraint.
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.
These three constraint categories 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 that 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 that 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 provide 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.
Select the name of task 20, Scene 3 setup.
This scene must be shot at a location that is not available to the film crew until May 26, 2008.
On the Standard toolbar, click Task Information.
In the Task Information dialog box, click the Advanced tab.
In the Constraint Type box, select Start No Earlier Than.
In the Constraint Date box, type or select 5/26/08.
Project applies a Start No Earlier Than (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. You can also see the constraint details in the Task Drivers pane.
Task 20 is rescheduled to start on May 26 instead of May 21. All tasks that depend on task 20 are also rescheduled. One way to view this rescheduling is by the light blue change highlighting that Project applies to the Start and Finish dates of the successor tasks of task 20. Because the duration of the Production phase was also changed by applying the constraint to task 20, the Duration and Finish fields for the Production summary task (task 12) are also highlighted. Change highlighting remains visible until you perform another editing action or save the file, and it is an effective visual way to see the broader consequences of your specific actions in your schedule.
Click the Close button (the “X” button in the upper right corner) on the Task Drivers pane.
Here are a few other things to keep in mind when applying constraints to tasks:
Entering a Finish date for a task (for example, in the Finish column) applies a Finish No Earlier Than (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 Start No Earlier Than (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 26, enter 5/26/08 10AM in the Start field.
To remove a constraint, first select the task or tasks and, on the Project menu, click Task Information. 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 must apply semi-flexible or inflexible constraints to tasks in addition to task relationships, you might create what is called negative slack. For example, assume that 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 As Late As Possible (ALAP) rather than the As Soon As Possible (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 create the effect you intend.