How Project schedules tasks: Behind the scenes

This article discusses the technical side of how Project schedules the tasks in your Project. People are sometimes confused when Project automatically moves a task to a different time than they expected. Or they wonder why changing, say, a task constraint caused other tasks to move unpredictably. Here’s your chance to understand the big “Why?” behind Project’s powerful scheduling engine.

This stuff isn’t necessarily easy to understand at first, but charging forward through it will make you a more knowledgeable project manager—and give you firmer control over the end date of your project.

In this article


How does the project start date affect the schedule?

When you add a new task to a schedule, it automatically is scheduled to start on the project’s start date. As tasks are added to the schedule and connected to other tasks, the start times of tasks will change, and the last task to finish determines the project’s finish date.

  • To find the Project start date or to change it to another date, click Project, and then click Project Information.

Of course, there are going to be exceptions. For example, tasks don’t move around as other tasks move. Read below in this article to learn more about manually versus automatically scheduled task scheduling.

Before and after creating task dependency

Callout 1 When you create a new project, you first enter the project's start date. When you schedule a project from the start time, all tasks start at the project start date unless you specify otherwise.

Callout 2 For both manually scheduled tasks and automatically scheduled tasks, with no task dependencies or constraints applied, the project's duration is the same as the duration of the longest task. In other words, the project finish date is the same as the longest task's finish date.

Callout 3 Task dependencies, such as the finish-to-start dependency between the first and second tasks (as shown here), can change the project's finish date.

Nearly all projects should be scheduled from a known start time. Even if you know the date that a project must be completed, scheduling from a start date gives you maximum flexibility.

However, you might want to schedule from a finish date when:

  • You need to determine when a project must start so that it finishes on a specific required date.
  • You are not sure when your project will begin (for example, you are receiving work from another source that could be delayed).
  • Your project management methodology requires you to schedule from a finish date.

As you work with your project that is scheduled from a finish date, be aware of differences in the way that Project handles some actions:

Top of Page Top of Page

How do task links affect the schedule?

Task links (dependencies) show the relationship in time of one task to another. Linking tasks creates 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].). The long chain of tasks determines the entire length and end of a project.

Project management tip As you link tasks in a project, a critical path of links is set up. This critical path determines the end of your project. Learn more about the critical path.

Link type Example Description
Finish-to-start (FS) Finish-to-start dependency

The dependent task (B) cannot begin until the task that it depends on (A) is complete.

For example, if you have two tasks, "Dig foundation" and "Pour concrete," the "Pour concrete" task cannot begin until the "Dig foundation" task is completed.
When you link tasks in Project, the default link (linking: In a project, establishing a dependency between tasks. Linking tasks defines a dependency between their start and finish dates. In OLE, establishing a connection between programs so that data in one document is updated when it changes in another.) type is finish-to-start.
This link type is the default type. If you don’t specify a link type, the Finish-to-start relationship is assumed.

Start-to-start (SS) Start-to-start dependency

The dependent task (B) cannot begin until the task that it depends on (A) begins.

The dependent task can start at any time after the task that it depends on begins. The SS link type does not require that both tasks begin at the same time.

For example, if you have two tasks, "Pour concrete" and "Level concrete," the "Level concrete" task cannot begin until the "Pour concrete" task begins.

Finish-to-finish (FF) Finish-to-finish dependency

The dependent task (B) cannot be completed until the task that it depends on (A) is completed.

The dependent task can be completed at any time after the task that it depends on is completed. The FF link type does not require that both tasks be completed at the same time.

For example, if you have two tasks, "Add wiring" and "add plumbing," both must be completed at the same time before any inspection can be done.

Start-to-finish (SF) Start-to-finish dependency

The dependent task (B) cannot be completed until the task that it depends on (A) begins.

The dependent task can be completed at any time after the task that it depends on begins. The SF link type does not require that the dependent task be completed concurrent with the beginning of the task on which it depends.

This link type is rarely used in project management. An example would be roofing a home, and the two tasks: add roofing, supervise the work. In this case, the roofing can start, but the supervisor needs to show up at some point before the end of the roofing.

Note about manually scheduled tasks When you link a manually scheduled task (manually scheduled task: This type of task can be placed anywhere in the schedule without Project rescheduling it; it does not move as related information about the task changes.) to another task, Project respects the link type and places the manually scheduled task relative to the other task. For example, the successor task with a finish-to-start link is shown as beginning when the predecessor finishes. However, the successor task will only move when the link is created. If the predecessor later changes its finish date, the successor’s start date will remain unchanged.

However, you can configure Project so that a manually scheduled task does not move when it is linked to another task.

  1. Click File, click Options, and then click Schedule.
  2. Uncheck the Update manually scheduled tasks when editing links check box.

Top of Page Top of Page

How do constraints on tasks affect the schedule?

Constraints allow you to control the start or finish date of an automatically-scheduled task. 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.

Project management tip In nearly all cases, use the ASAP constraint. This gives the scheduling engine the most flexibility in determining the ideal finish date for your project.

Here are two ways to instantly view the constraints on your tasks.

  • To review or change the constraint on a task, right-click on the task, click Task Information , then click the Advanced tab. Constraint information is in the Constraint type and Constraint date boxes.
  • If the constraint is anything other than ASAP or ALAP, the constraint type will display its associated graphical indicator in the Indicator column in any sheet view, such as the Gantt chart.

Constraints with moderate scheduling flexibility will restrict a task from starting or finishing before or after a date you choose. For example, a task with a Start No Earlier Than (SNET) constraint for June 15 and a finish-to-start dependency to another task can begin June 15 if its predecessor is finished by June 15 (or later if its predecessor finishes after June 15), but it can't be scheduled before June 15. For example, this might be appropriate use of constraints if you have a building permit that is only good for a specific dates. In this case, the SNET or FNLT constraints might be used.

Before and after applying constraint

Callout 1 With the default finish-to-start task relationship and an ASAP constraint applied to these tasks, the successor task (the second one) is scheduled to begin as soon as the predecessor task (the first one) is scheduled to finish.

Callout 2 With a SNET constraint applied, the successor task cannot begin before the constraint date, even if (as shown here) the predecessor task is completed before the constraint date.

The following table lists the constraints provided in Project.

Constraint type Constraint name Description
Flexible 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.
Flexible 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.
Semi-Flexible 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.
Semi-Flexible 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.
Semi-Flexible 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.
Semi-Flexible 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.
Inflexible 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.
Inflexible 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.

By default, all tasks in a project that is scheduled from the start date have the ASAP constraint applied. Likewise, by default, all tasks in a project that is scheduled from the finish date have the As Late As Possible (ALAP) constraint applied.

Inflexible constraints (inflexible constraint: A constraint that is inflexible because it ties a task to a date. The inflexible constraints are Must Finish On and Must Start On.) usually override any task dependencies and restrict a task to a date you choose. For example, a task with a Must Start On (MSO) constraint for September 30 and a finish-to-start dependency to another task will always be scheduled for September 30 no matter whether its predecessor finishes early or late. You can change this behavior. Click File, click Options, click Schedule, then select the Tasks will always honor their constraint dates check box.

Top of Page Top of Page

How do task types affect the schedule?

Task types apply only to automatically-scheduled tasks, and come in three flavors: fixed units (fixed-unit task: A task in which the assigned units [or resources] is a fixed value and any changes to the amount of work or the task's duration do not affect the task's units. This is calculated as follows: Duration x Units = Work.), fixed work (fixed-work task: A task in which the amount of work is a fixed value and any changes to the task's duration or the number of assigned units [or resources] do not affect the task's work. This is calculated as follows: Duration x Units = Work.), and fixed duration (fixed-duration task: A task in which the duration is a fixed value and any changes to the work or the assigned units [that is, resources] don't affect the task's duration. This is calculated as follows: Duration x Units = Work.). Project looks at a task’s type to determine how duration, work, and units will behave as Project schedules your project.

Each of the task types affects scheduling when you edit one of the three elements as follows.

In a If you revise units If you revise duration If you revise work
Fixed units task Duration is recalculated. Work is recalculated. Duration is recalculated.
Fixed work task Duration is recalculated. Units are recalculated. Duration is recalculated.
Fixed duration task Work is recalculated. Work is recalculated. Units are recalculated.
  • To change a task type, double click the task name in the Gantt chart, then click the Advanced tab.
Some examples

Let's say you have a fixed-units task, with 1 full-time resource unit (units: The quantity of a resource assigned to a task. The maximum units is the maximum number of units available for the resource. For example, if you have three plumbers, the maximum units is 300 percent or three plumbers working full-time.) available for 8 hours each day. You set the task up with a 10-day duration and 80 hours of work (work: For tasks, the total labor required to complete a task. For assignments, the amount of work to which a resource is assigned. For resources, the total amount of work to which a resource is assigned for all tasks. Work is different from task duration.).

  • If you find out that another full-time resource can assist on the task, Project recalculates the task's duration. The task now has two units assigned, with a 5-day duration and 80 hours of work.
  • If you find out that you have 8 days to complete the task rather than 10, Project recalculates the task's work. The task now has an 8-day duration, with 64 hours of work and 1 resource unit.
  • If you find out that the task will take 20 hours of additional work, Project recalculates the task's duration. The task now has 100 hours of work, with a duration of 12.5 days and 1 resource unit.

Now let's say you make the same task a fixed-work task. This means that the task can take only the amount of work that you specify: no more, no less. In this example, the task has 1 full-time resource available for 8 hours each day, and it has a 10-day duration with 80 hours of work.

  • If you find out that another full-time resource can assist on the task, Project recalculates the task's duration. The task now has 2 units assigned, with a 5-day duration and 80 hours of work.
  • If you find out that you have 8 days to complete the task rather than 10, Project recalculates the task's resource units. In order to get the task done in 80 hours over 8 days, 1.25 resource units must be assigned. The resource unit that is currently assigned to the task is allocated at 125%. You need to assign another resource to account for the additional 25% allocation.
  • If you find out that the task will take 20 hours of additional work, Project recalculates the task's duration. The task now has 100 hours of work, with a duration of 12.5 days and 1 resource unit.

Finally, let's say you make the same task a fixed-duration task. This means that the task must be completed in the duration that you specify. Again, in this example, the task has 1 full-time resource available for 8 hours each day, and it has a 10-day duration with 80 hours of work.

  • If you find out that another resource can assist on the task, Project recalculates the work assigned to each resource. When just 1 resource was assigned to the task, that resource had 80 hours of work to complete. When you assign another resource to the task, each resource has 40 hours of work to complete over the same 10-day duration, for a total of 80 hours of work. By adding another resource unit, you also revise the allocation of both units to 50% each, making them both available to work 50% on other tasks.
  • If you find out that you have 8 days to complete the task rather than 10, Project recalculates the task's work. The task now has an 8-day duration, with 64 hours of work and 1 resource unit.

If you find out that the task will take 20 hours of additional work, Project recalculates the task's resource units, so that the additional work can still be completed within the 10-day duration. The task now has 100 hours of work, with a duration of 10 days and 1.25 resource units. The resource unit that is currently assigned to the task is allocated at 125%. You need to assign another resource to account for the additional 25% allocation.

 Note   Because assignments of cost resources (cost resources: Resources that don't depend on the amount of work on a task or the duration of a task, such as airfare or lodging.) don't have values for work or units, these values will not be recalculated when the task's start date or finish date is modified. Dates also are never recalculated for a cost resource assignment, because you cannot modify the work or units.

Here’s a table of things to keep in mind about task types.

Tips and Gotchas Explanation

Look out for effort-driven tasks

If you click Fixed Work in the Task type list, you cannot change the Effort driven setting for the task. Fixed work tasks do not have flexible work values and are therefore always effort-driven. See more about effort-driven tasks later in this article.

Add a column to help you change task type

You can view and change the task type for each task directly in your view by inserting the Type field. Click the column to the right of where you want to insert the new column, click the Insert menu, and then click Column. In the Field name list, click Type.
Summary tasks are always fixed-duration tasks Summary tasks are always fixed-duration types because a summary task’s start and finish dates are determined by its subtasks.
Use indenting to outline, not task types If you want to change the hierarchical structure of a task or subtask as part of an outline structure for your project, you need to indent or outdent the task rather than change the task type or add a deadline date.

Don’t’ confuse task constraints, like ASAP, with task types

If you want to impose restrictions on the way Project calculates the start and finish dates of tasks, you need to set a task constraint, rather than the task type.

Top of Page Top of Page

How does effort-driven scheduling affect the schedule?

For all tasks, after you assign a resource (resources: The people, equipment, and material that are used to complete tasks in a project.), the task is scheduled according to the formula (assuming tasks are the default fixed-units task type)

Duration = Work / Units

For any task, you can choose which piece of the equation Project calculates by setting the task type. When you assign or remove people from a task, Project lengthens or shortens the duration of the task based on the number of resources that are assigned to it, but Project does not change the total work for the task. This is called effort-driven scheduling (effort-driven scheduling: The default method of scheduling in Project; the duration of a task shortens or lengthens as resources are added or removed from a task, while the amount of effort necessary to complete a task remains unchanged.). This setting is usually turned off. To turn it on, click File, click Options, click Schedule, then select the New tasks are effort-driven check box.

Although effort-driven scheduling can work in most scenarios, you may want to change this behavior to more accurately reflect what happens on a particular task when resources are added or removed. For example, you may want to see the total work increase as you add more people to a particular task.

  1. Right-click a task, click Task Information Button image, and then click the Advanced tab.
  2. Uncheck the Effort driven check box.

 Note   You cannot remove effort-driven scheduling from fixed work tasks. Fixed work tasks do not have flexible work (work: For tasks, the total labor required to complete a task. For assignments, the amount of work to which a resource is assigned. For resources, the total amount of work to which a resource is assigned for all tasks. Work is different from task duration.) values, and are therefore always effort-driven.

When you work with effort-driven scheduling, keep the following in mind:

Tips and Gotchas Explanation

Effort-driven does not apply to the first resource assigned

The effort-driven calculations apply only after the first resources are initially assigned to the task. After the first resources are assigned, the work value doesn't change as new resources are assigned to or removed from the same task.

Be aware of Fixed-unit tasks

If the assigned task type is Fixed Units, assigning additional resources shortens the duration of the task.

Be aware of Fixed-duration tasks

If the assigned task type is Fixed Duration, assigning additional resources decreases the individual unit values for resources.

Be aware of Fixed-unit tasks

If the assigned task type is Fixed Work, assigning additional resources shortens the duration of the task.

Some tasks can be set to effort-driven

Summary tasks and inserted projects cannot be set to Effort driven.

Top of Page Top of Page

How do manual and automatic scheduling affect the schedule?

Knowing the differences between manually scheduled task (manually scheduled task: This type of task can be placed anywhere in the schedule without Project rescheduling it; it does not move as related information about the task changes.)s and automatically scheduled task (automatically scheduled task: This type of task is scheduled using Project's scheduling engine, taking into account task constraints, dependencies, project calendars, and resource calendars.)s is key to understanding how Project schedules your project.

Generally, manually scheduled tasks put you in control of the schedule. When you add a task to your schedule, it stays put. However, this isn’t always the best way to design a schedule, especially as projects get more complicated, where you might want to use automatically-scheduled tasks in order to take advantage of Project’s powerful scheduling engine.

Take a look at the picture below. It shows the two different types of tasks, the first two manually scheduled, and the last two automatic.

Manually and automatic schedule tasks explained

Note that for the manually scheduled tasks, the duration is a text value as well as a number. Since the duration can be a text value, a start date hasn't been set automatically by Project, and the Gantt bar is only partially displayed to reflect the uncertainty of the task schedule at this point.

For the automatically-scheduled task, the duration is a number value with a time unit appended, such as “12h” for twelve hours duration. By definition, automatically-scheduled tasks with valid durations, start dates, and finish dates—and therefore, bars—are automatically drawn by Project.

Now, it gets a little tricky sometimes with the information you provide for manually scheduled tasks. All that is needed for Project to draw bars on a manually scheduled task are three time values: duration, start date, and finish date. If you set two of these values for a manually scheduled task, the third value will be calculated by Project automatically, and the task will remain manually-scheduled. So look out for this kind of “unexpected” behavior from Project.

 Note   Tasks are manually scheduled by default. Project managers who are accustomed to automatic scheduling with past versions of Project can turn the manual scheduling feature off for specific tasks or for the entire project. Some projects, especially complicated ones, may require Project's powerful scheduling engine to take care of scheduling for you. To change all tasks to be automatically scheduled, click New Tasks: Automatically Schedule at the bottom of the Project application window.

Manually scheduled tasks

You can place a manually scheduled task anywhere in your schedule, and Project won't move it. This new feature gives you greater flexibility and control over planning and managing the schedule.

Why would you care? Well, at times project schedules are often very informal. They begin as simple lists of dates from e-mails, meeting with stakeholders, or a hallway conversation. Project managers very often do not have complete information on work items. For example, they may only be aware of when a task needs to be started, but not its duration until they have an estimate from their team members. Also, they may know how long a task will take, but they do not know it can be started until they have approval from the resource manager.

Here are some things to keep in mind with manually scheduled tasks.

  • You'll never be left in the dark. Manually scheduled tasks have their own indicators and task bars to help you distinguish them from the "classic" automatically scheduled tasks.
  • Anything goes. When a task is in manually scheduled mode, the Start, Finish, and Duration columns can be blank or include text values in addition to recognizable dates.
  • Switching scheduling modes You can change a task back and forth from manually scheduled to automatically scheduled. Be careful, though. When you change a task from manually scheduled to automatically scheduled, Project is going to have to make some decisions. If a task's duration was "A fortnight", Project usually sets an estimated duration of "1 day?" if the task is set to automatically scheduled. After all, you can’t expect project to know that a fortnight is two weeks long.
  • Control slippage If a manually scheduled task has to be delayed due to a slippage, its successor tasks will not be automatically pushed out. Project managers can decide to keep the original dates if their resources are able to proceed as planned, or delay the successor tasks if there are hard dependencies.
  • Effort-driven impacts    Manually scheduled tasks cannot be set to effort-driven (effort-driven scheduling: The default method of scheduling in Project; the duration of a task shortens or lengthens as resources are added or removed from a task, while the amount of effort necessary to complete a task remains unchanged.). The duration of a manually scheduled task will not change as more resources are assigned to it, or removed from it. Learn more about later in this article.

The following table shows how Project attributes are defined and used for scheduling manually and automatically scheduled tasks.

item Manually Scheduled Automatically Scheduled
Duration Can be number, date, or text information, such as "14d" or "fortnight". Not used by Project to help schedule the project if value is not in a recognizable format for duration. Only numbers representing time length and units can be used, such as "14d" or "2 months".
Work Only numbers representing time length and units can be used, such as "14d" or "2 months". Only numbers representing time length and units can be used, such as "14d" or "2 months".
Resources Can be assigned to tasks. Resource calendars aren’t used by Project to help schedule tasks. Can be assigned to tasks. Used by Project to Help determine best schedule. Will change the duration of tasks if tasks are set to effort-driven, unlike manually scheduled tasks.
Start date Can be a number, date or text information, such as "Jan 30" or "Sometime soon." Not used by Project to Help schedule the project if value is not in a recognizable format for time. Only date information can be used. However, you can use values “today” and “tomorrow,” which Project reserves for automatically scheduled tasks.
Finish date Can be a date or text information, such as "Jan 30" or "Sometime soon." Not used by Project to Help schedule the project. Only date information can be used. However, you can use values “today” and “tomorrow,” which Project reserves for automatically scheduled tasks.
Constraints Ignored by Project. Used by Project to Help determine best schedule.
Dependencies (links) Can be used, but won't change the scheduling of the task. However, task links will reschedule a task when first applied. Can be used, and will change scheduling of the task.
Project and resource calendars Ignored by Project. Used by Project to Help determine best schedule.

Automatically scheduled tasks

Automatically scheduled tasks are the classic way Project schedules your tasks. Automatic scheduling provides a highly structured, systematic means of managing project schedules. Based on users’ input, such as task duration, planned work, number of resources, and constraint dates, Project calculates the earliest and latest dates for tasks for the optimal schedule.

Project schedules a project from the information that you enter about the following:

  • The overall project.
  • The individual work items (called tasks) required to complete the project.
  • If necessary, the resources needed to complete those tasks.

If anything about your project changes after you create your schedule, you can update the tasks or resources and Project adjusts the schedule for you.

For each task, you might enter one or all of the following:

Using this information, Project calculates the start date (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.) and 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 each task.

You can enter resources in your project and then assign them to tasks to indicate which resource is responsible for completing each assignment (assignment: A specific resource that is assigned to a particular task.). Not only does this help you plan project staffing, it can also help you to calculate the number of machines needed or the quantity of material to be consumed. If you enter resources, task schedules are further refined according to the following resource information:

Other elements, such as lead time (lead time: An overlap between tasks that have a dependency. For example, if a task can start when its predecessor is half-finished, you can specify a finish-to-start dependency with a lead time of 50 percent for its successor [has a negative lag value].) and lag time (lag time: A delay between tasks that have a dependency. For example, if you need a two-day delay between the finish of one task and the start of another, you can establish a finish-to-start dependency and specify a two-day lag time [has a positive value].) for links, task types (task type: A characterization of a task based on which aspect of the task is fixed and which aspects are variable. There are three task types: Fixed Units, Fixed Work, and Fixed Duration. The default task type in Project is Fixed Units.), resource availability (availability: Indicates when and how much of a resource's time can be scheduled for assigned work. Availability is determined by project and resource calendars, resource start and finish dates, or the level at which the resource is available for work.), and the driving resource (driving resource: The resource whose assignment to a task determines the finish date of the task.), can affect scheduling, so understanding the effects of these elements can help you to maintain and adjust your schedule as needed.

 Note   Project calculates the duration of automatically scheduled tasks based on the definitions of the duration units (Click File, click Options, then click Schedule). Just like a normal monthly calendar, the year begins in January and each week begins on Sunday or Monday. By default, when Project calculates duration units, one day equals 8 hours, one week equals 40 hours, and one month equals 20 working days. If you enter start and finish dates for tasks and don't enter start and finish times, Project uses 8:00 A.M. as the default start time and 5:00 P.M. as the default end time.

Changing task scheduling modes

You can change a task's scheduling back and forth from automatic to manual (click File, click Options, then click Schedule). When you change task modes, keep the following in mind.

  • A task that is changed to automatic scheduling will have duration and dates set to Project's default settings. For example, Project will change a manually scheduled task with a duration of "A couple weeks" to the default of "1 day?" A task with a manually entered start date of "tomorrow," will have the start changed to the project start date when it is changed to an automatically scheduled task.
  • A task that is changed to manually scheduled will retain its duration and dates. However, after the task is set to manually scheduled, the duration and dates can be any number, text, or date value.

Top of Page Top of Page

How does float (or slack) affect the schedule?

Float (also known as slack (free slack: The amount of time that a task can be delayed without delaying its successor tasks. For a task without successors, free slack is the amount of time that the task can be delayed without delaying the finish date of the project.)) helps you find those tasks that can budge without changing the end date of your project. You may want to view tasks that currently can slip without affecting the critical path (total slack (total slack: The amount of time that the finish date of a task can be delayed without delaying the finish date of the project.)) or those tasks that can slip before affecting the task that they are connected to (free slack (free slack: The amount of time that a task can be delayed without delaying its successor tasks. For a task without successors, free slack is the amount of time that the task can be delayed without delaying the finish date of the project.)).

Here are two ways to view float in your schedule.

  • While in the Gantt chart, click Format, then select the Slack check box. Float appears as a thin line attached to the end or beginning of Gantt bars.
  • Use the Detail Gantt view. Click View, click Other Views, click More Views, click Detail Gantt, and then click Apply.
    Now, back in the Gantt chart, click Tables, then click Schedule.

Here a couple things to keep in mind about float.

Tips and Gotchas Explanation
Watch out for inflexible constraints    If a task that is constrained to a date has a predecessor that finishes too late for the successor to begin on the date specified in the constraint, negative slack can occur. Negative slack will even further constrain the end date of your project.

Deadline dates changes total slack

Deadline dates can affect the total slack on tasks. If you enter a deadline date before the end of the task's total slack, total slack will be recalculated by using the deadline date rather than the task's late finish date. The task becomes critical if the total slack reaches zero.

Top of Page Top of Page

How do deadline dates affect the schedule?

Deadline dates (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.) don't usually affect task scheduling. They are used to indicate a target date you don't want to miss, without requiring you to set a task constraint that could affect scheduling if predecessor (predecessor: A task that must start or finish before another task can start or finish.) tasks change. A task with a deadline is scheduled just like any other task, but when a task finishes after its deadline, Project displays a task indicator (indicators: Small icons representing information for a task or resource that are displayed in the Indicators field. The Indicators field is located to the right of the ID field and appears in a number of tables.) notifying you that the task missed its deadline.

To review or change a task deadline, right-click on the task, click Task Information, then click the Advanced tab. Use the Deadline box.

Deadline dates can affect the total slack on tasks. If you enter a deadline date before the end of the task's total slack, total slack will be recalculated by using the deadline date rather than the task's late finish date. The task becomes critical if the total slack reaches zero.

You can set deadlines for summary tasks (summary task: A task that is made up of subtasks and summarizes those subtasks. Use outlining to create summary tasks. Project automatically determines summary task information [such as duration and cost] by using information from the subtasks.) as well as individual tasks. If the summary task's deadline conflicts with any of the subtasks (subtask: A task that is part of a summary task. The subtask information is consolidated into the summary task. You can designate subtasks by using the Project outlining feature.), the deadline indicator signifies a missed deadline among the subtasks.

But deadline dates can affect how tasks are scheduled if you set a deadline date on a task with an As Late As Possible (ALAP) constraint. The task is scheduled to finish on the deadline date, though the task could still finish after its deadline if its predecessors slipped.

Top of Page Top of Page

How do calendars affect the schedule?

Calendars determine the standard working time (working time: Hours designated in a resource or project calendar during which work can occur.) and non-working time (nonworking time: Hours or days designated in a resource or project calendar when Project should not schedule tasks because work is not done. Nonworking time can include lunch breaks, weekends, and holidays, for example.), such as weekends and holidays, for the project.

 Note   The dates of manually scheduled tasks (if entered) will not change based upon changes to the project or resource calendars.

Project calendars are used to determine the resource availability, how resources that are assigned to tasks are scheduled, and how the tasks themselves are scheduled. Project and task calendars are used in scheduling the tasks, and if resources are assigned to tasks, resource calendars are used as well.

Calendars override each other’s settings in the following ways.

  1. When you create a task, the project calendar schedules the task.
  2. When you add a resource to a task, the resource calendar controls the scheduling of the task.
  3. When you add a task calendar to a task and set the calendar setting to Scheduling ignores resource calendars in the Task Information box, the task calendar controls the scheduling and will ignore the schedule of any resources assigned to the task.

To work with calendars, click Project, then click Change Working Time.

Calendar type Description
Base calendars   

These are the foundations for the other types of calendars. You can also choose a base calendar to be the project calendar, and you can apply a base calendar to tasks as a task calendar or as the default hours for a resource calendar. You can customize your own base calendar by using any of the base calendars provided.

Project provides three base calendars:

The Standard calendar    The Standard calendar is the default calendar for the project, and is the basis for resource calendars. This calendar reflects a traditional work schedule: Monday through Friday, 8:00 A.M. to 5:00 P.M., with an hour off for break.

24-Hours calendar     The 24-Hours calendar reflects a schedule with no nonworking time at all. The 24-Hours calendar can be used when resources and tasks are scheduled for different shifts around the clock, or when equipment resources work on tasks continuously.

Night Shift calendars    The Night Shift calendar reflects a graveyard shift schedule of Monday night through Saturday morning, 11:00 P.M. to 8:00 A.M., with an hour off for break.

Project calendars    These set the standard working and non-working times for the project as a whole. If resource calendars or task calendars are not used, tasks are scheduled during the working time on the project calendar by default.
Resource calendars   

These are usually based on the Project calendar at the time of resource creation. You can change working time or nonworking time for specific resources or a set of resources, ensuring that resources are scheduled only when they are available for work. If you have changed working or nonworking time on a resource calendar and the resource is assigned to a task, the task is scheduled during the working time on the resource calendar. This may also affect the finish date of the task.

Resources can either inherit the nonworking time from the base calendar, or override this time with nonworking time settings on the resource calendar

Task calendars   

These can be used to define working times for tasks outside the working times in the project calendar. Task calendars are created like other calendars. When a task calendar is assigned to a task and the resource assigned to the task has different working times in its resource calendar, the task is scheduled for the overlapping working time of the two calendars. But you can set a task option to ignore resource calendars and schedule the task through the resource's non-working time.

If no task calendar is specified for a task, the Project calendar will be used to schedule the task.

Top of Page Top of Page

How do resource assignments drive the schedule?

If you don't assign resources to tasks in your project, Project calculates the schedule using durations, task dependencies, constraints, and project and task calendar information. If you do assign resources, the tasks are also scheduled according to resources' calendars and assignment units (assignment units: The percentage of a work resource's time, or units, that the resource is assigned to a task.), providing for more accurate scheduling.

 Note   Manually scheduled tasks are not affected by resource calendars. When a resource is assigned to a manually scheduled task, the scheduling of the task will not change.

An assignment is the association of a specific task with a specific resource that is responsible for completing the task. More than one resource can be assigned to a task. Work resources (work resource: People and equipment resources that perform work to accomplish a task. Work resources consume time [hours or days] to accomplish tasks.), material resources (material resource: The supplies or other consumable items that are used to complete tasks in a project.), and cost resources (cost resources: Resources that don't depend on the amount of work on a task or the duration of a task, such as airfare or lodging.) can be assigned to tasks. Unlike work resources, assigning material resources or cost resources to a task does not affect task scheduling.

For example, in your project you have a task named Develop specifications. You also have an engineering resource, Sean. If you assign Sean to the Develop specifications task, the scheduling of this task depends on Sean's resource calendar and assignment units, in addition to task information such as duration, task dependencies, constraints, and calendars.

In addition to scheduling according to task information, after you assign resources to the tasks in your project, Project has additional resource and assignment information to use in calculating schedule information, including:

Resource attribute or setting explanation

Work

The amount of work (work: For tasks, the total labor required to complete a task. For assignments, the amount of work to which a resource is assigned. For resources, the total amount of work to which a resource is assigned for all tasks. Work is different from task duration.) or overtime work (overtime: The amount of work on an assignment that is scheduled beyond the regular working hours of an assigned resource and charged at the overtime rate. Overtime work indicates the amount of the assignment's work that is specified as overtime work.) the resource is assigned to do, and how that work is distributed over time. Work distribution over time can also be affected by work contours (contour: The shape of how scheduled work for an assignment is distributed across time. Use a contour to control how Project schedules the work of a resource. Contour examples include flat, back-loaded, front-loaded, bell, turtle, and more.).

Assignment units

The number of assignment units for the resource, that is, part-time, full-time, or multiple, on the task.

Task type

The task type (task type: A characterization of a task based on which aspect of the task is fixed and which aspects are variable. There are three task types: Fixed Units, Fixed Work, and Fixed Duration. The default task type in Project is Fixed Units.), which affects how a schedule changes if you revise the existing assignment. The three task types are fixed unit (fixed-unit task: A task in which the assigned units [or resources] is a fixed value and any changes to the amount of work or the task's duration do not affect the task's units. This is calculated as follows: Duration x Units = Work.), fixed duration (fixed-duration task: A task in which the duration is a fixed value and any changes to the work or the assigned units [that is, resources] don't affect the task's duration. This is calculated as follows: Duration x Units = Work.), and fixed work (fixed-work task: A task in which the amount of work is a fixed value and any changes to the task's duration or the number of assigned units [or resources] do not affect the task's work. This is calculated as follows: Duration x Units = Work.).

Effort-driven

Whether the task is effort-driven (effort-driven scheduling: The default method of scheduling in Project; the duration of a task shortens or lengthens as resources are added or removed from a task, while the amount of effort necessary to complete a task remains unchanged.). If a task is effort-driven, as resources are added or removed on the assignment, the work remains constant for the task and is redistributed among the resources. For fixed-unit tasks, for example, one result is that if more resources are assigned, a shorter duration is required to complete the task. See above in this article to learn more about the effort-driven setting.

Calendars

Resource calendars. Project schedules the assigned resources based on the working and nonworking times indicated on their resource calendars.

Work contours

Work contours allow you to fine-tune when resources are working on tasks, such as during a ramp-up phase.
In the Task Usage view, right-click the name of the resource assigned to a task, then select a pre-defined work pattern in the Work contour list. After selecting the pattern, you can manually tweak the hours in the time-phased portion of the usage view.

To assign resources to tasks, click the Resource tab, and then click Assign Resources .

Yet more technical stuff about how Project schedules

Top of Page Top of Page

 
 
Applies to:
Project Professional 2013, Project Standard 2013