Back to Basics: Working with task date constraints

Microsoft Office Project uses constraints to build a project's schedule. That is, each task has a certain rule applied that helps the scheduling engine figure out when the task should start or finish. There are three types of constraints: flexible, semi-flexible, and inflexible.

· Flexible constraints don't tie a task to a specific date. They simply identify that you want the task to start as soon as possible, or as late as possible.

· Semi-flexible constraints have a date associated with them, but they don't require the task to start or finish on the exact date. That is, you can set a task to start no earlier or later than a specific date, or finish no earlier or later than a specific date. This way, depending on the constraint you choose, the task's start or finish date can be any date, as long as it falls before or after the date you choose as part of the constraint.

· Inflexible constraints tie a task's start or finish date to a specific date. Depending on the constraint you choose, the task must start on a specific date, or it must finish on a specific date.

When should I set a constraint type for my tasks?

When it comes to scheduling, the more flexibility you have in your project's dates, the better. Given that, it is often best to leave the constraints set to As Soon As Possible, if you are scheduling from the project start date, or As Late As Possible, if you are scheduling from the project finish date.

However, there may be times when you need a certain task started or finished by a certain date, or you know that a certain task can't begin or end before a certain date. In this case, you may want to use semi-flexible constraints. For example, let's say you're planning a construction project, and you know that the lot has to be prepped for the foundation by July 21, because the concrete truck is only available to pour the foundation on July 22. It's fine if the lot is prepped prior to July 21, but it has to be completed by that date. In Project, you can set a Finish No Later Than constraint for the "Prepare lot" task, and set the date to July 21.

Keeping with this same example, there may be times when you need to set an inflexible constraint, such as when the concrete truck is available. In this case, you can set a Must Start On constraint for the "Pour foundation" task, and set the date to July 22.

How do constraints impact scheduling?

Flexible constraints are ideal for project scheduling, because they enable Project to schedule tasks as closely together as possible, resulting in the project getting finished on the most efficient schedule. For example, let's say you're in the wedding cake business, and you're planning for an upcoming cake order. You have three tasks: Bake cake, Decorate cake, and Deliver cake. Each task has a duration of 1 day, and the dependencies between them are set up so that when the "Bake cake" task finishes, the "Decorate cake" task begins, and then when the "Decorate cake" task finishes, the "Deliver cake" task begins. If all three tasks use the As Soon As Possible constraint, the project is scheduled to be completed in a total of 3 days.


Now, let's say you were out of one of the colors you'll be using to decorate the cake, so you've placed an order, but it isn't being delivered until Thursday, June 26, at the earliest. You can set a Start No Earlier Than constraint for that task, and set the date to June 26.


You'll notice the project is now set to finish on June 27, rather than June 25. This is because of that constraint set for the "Decorate cake" task. The "Bake cake" task is still set to begin As Soon As Possible, so it begins at the project start date, June 23. However, the "Decorate cake" task can't begin until June 26, so there are a couple of days when work isn't happening on the project. In some cases, this may be just fine, but in others, that downtime may be too valuable to pass up.

Next, let's look at how inflexible constraints impact scheduling. In this example, the couple who ordered the cake is getting married on Wednesday, June 25, so the cake has to be delivered that day. With the "Deliver cake" task set to a Must Finish On constraint of June 25, Project warns us of the scheduling conflict, and then overlaps the tasks.


Obviously, you can't deliver an undecorated cake, so the schedule indicates that you'll need to select a different color in order to complete the project on time. Once you've selected a different color, you can set the "Decorate cake" task back to the As Soon As Possible constraint, and the schedule is back on track for an on-time finish.


How do I set constraint types for my tasks?

There are two common ways to set a constraint type for a task. First, you can simply select a start or finish date for your task in the Gantt Chart view, or on the Task Information dialog box. To open the Task Information dialog box, click the Project menu, and then click Task Information.


When you manually set the start or finish date for the task, Project automatically chooses the Start No Earlier Than or Finish No Earlier Than constraint type. This way, your selected date is met, but some flexibility is maintained to make scheduling the rest of your project a little easier.

You can also set the constraint type on the Advanced tab of the Task Information dialog box.


You can use the Constraint type list and the Constraint date box to set a specific constraint type for your task, and tie it to a date.

Where can I learn more about constraints?

The following resources can help you learn more about using constraints in your project:

· Set a start date or finish date (constraint) for a task

· How scheduling works in Project

· Tried-and-true techniques for shortening projects

· View and track scheduling factors

· Definition of Microsoft Project constraints

Skip to main content