You know all those other options that pop up when you are creating a task on your project schedule? The ones you normally ignore and just go for the defaults? Well, one of the other options you have when scheduling tasks is to add in the types of task constraints. Task constraint is a feature that alters when your task will appear on the schedule. Constraints offer you more choice when it comes to automated scheduling as you can tweak your task dates based on additional information - things the software doesn't know without you telling it.

There are 8 types of constraints and you should find most, if not all, in your scheduling tool. Look under Task Properties or Attributes to find them.

The 8 types of task constraints are:

  • As Soon As Possible
  • As Late As Possible
  • Start No Earlier Than
  • Finish No Earlier Than
  • Must Start On
  • Must Finish On
  • Start No Later Than
  • Finish No Later Than

Let's look at each of those in turn

As Soon As Possible

This is the most common type of task constraint. It essentially means that the next task starts as early as possible, assuming that you have not introduced any lag which would delay the start. You will probably find that the vast majority of your tasks use the As Soon As Possible constraint type. It is the easiest to understand and 99% of the time we want our tasks to start as soon as they can.

As Late As Possible

Another common constraint type is As Late As Possible. You would use this when you don't want a task to start until the last possible moment. For example, lighting the candles on a birthday cake. Just because you can do that as soon as the guests arrive doesn't mean that you should.

The remaining 6 types should be used carefully because they rely on you linking them to specific dates. Once you've fixed those dates in your software, they won't move. So if you shift your schedule by a couple of weeks later on, because of a change in your project scope, for example, you'll have to remember to go into each of these tasks and change the constraint dates manually as they will not automatically update.

That said, it is useful to understand these types of constraints as you'll no doubt find somewhere on your projects that you will need to use them.

Start No Earlier Than

This type of constraint fits well with resource issues. For example, maybe the contractor scheduled to complete this task doesn't start until a certain date so this task can't begin until they arrive at the company. Or other resources are tied up on other projects. Or you are waiting for sign off at a particular meeting. You'll find that there are quite a lot of ways to use this type of constraint.

Finish No Earlier Than

This is used for when you do not want a task to complete before a certain date. Typically this would be used for when you don't want your resources tied up waiting around for the next task. It can be used to link two tasks with similar resources together.

Task Constraint Late

Must Start On

This is a very clear fixed date, and there aren't many project tasks where you'd need to use this. One example would be a workshop which has taken ages to arrange and involves lots of participants. Other examples are training courses where the tutor is already booked, work requiring machinery which is only available for a short time...you get the picture.

If you use this type of constraint make sure that your predecessor activity finishes well ahead of this date so that you have some slack built into the schedule in case you need it.

Must Finish On

This is used for when a project activity must finish on a particular date. Again, the best examples of these are when other resources are involved. For example, if you lose a team member to another project on a certain date, or they are planning to leave the company.

Start No Later Than

Task Constraints If you know a task will take a certain length of time and it is essential to get it started by a particular date so that it will finish on time, you can use this constraint type. It won't stop the task from starting earlier, but it will automatically be scheduled to start by the date you set so that you don't run out of time to complete it.

Finish No Later Than

This is useful for planning critical path activities and for making sure that your resources are available. Again, it won't stop earlier activity on your task - your software could schedule it to finish a lot earlier - but it will ensure that the task definitely completes before your specified date.

So those are the 8 types of task constraint, and you can see how close they are linked to resources. If your scheduling tool throws up error messages, check your constraint types as these are a common reason for those annoying errors, circular task relationships, and little warnings.