How scheduling works in Project

Microsoft Office Project uses a powerful scheduling engine to help align your organization's projects and tasks (task: An activity that has a beginning and an end. Project plans are made up of tasks.) with available resources (resources: The people, equipment, and material that are used to complete tasks in a project.). Understanding how Project schedules work is a key factor in making intelligent planning decisions.

In this article


The big picture: How is a project scheduled?

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].), 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.

Top of Page Top of Page

How does the project start date affect the schedule?

If you enter a start date for the project, by default, Project schedules tasks to begin on the project's start date and calculates the project's 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.) based on the last task to finish. As you enter more information about tasks, such as task dependencies, durations, and constraints, Project adjusts the schedule to reflect more accurate dates for tasks.

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 date, all tasks start at the project start date unless you specify otherwise.

Callout 2 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 date. Even if you know the date that a project must be completed, scheduling from a start date gives you the 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

What are the default settings for calculating the schedule?

Project calculates the duration of tasks based on the definitions of the duration units on the Calendar tab of the Options dialog box (Tools menu). 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.

Top of Page Top of Page

How do constraints affect the schedule?

When you need to control the start or finish date of a task, you can change the constraint on the task. Flexible constraints (flexible constraint: A constraint that is flexible and does not tie a task to a single date. Flexible constraints are As Soon As Possible, As Late As Possible, Finish No Earlier Than, Finish No Later Than, Start No Earlier Than, and Start No Later Than.) work with task dependencies to make a task occur as soon or as late as the task dependency will allow. For example, a task with an As Soon As Possible (ASAP) constraint and a finish-to-start dependency will be scheduled as soon as the predecessor task finishes. 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.

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.

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.

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.) override any task dependencies by default 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.

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 (slack: The amount of time that a task can slip before it affects another task or the project's finish date. Free slack is how much a task can slip before it delays another task. Total slack is how much a task can slip before it delays the project.) can occur.

To review or change the constraint on a task, select the task, click Task Information Button image, and then click the Advanced tab. Constraint information is in the Constraint type and Constraint date boxes.

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.

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.

To review or change a task deadline, select the task, click Task Information Button image, and then click the Advanced tab. Use the Deadline box.

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 nonworking 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. They 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.

The calendars referred to in Project are:

  • 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. Project provides three base calendars: the Standard, 24-Hours, and Night Shift calendars. You can customize your own base calendar by using any of the base calendars provided.
  • Project calendars    These set the standard working and nonworking 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 based on the Standard calendar by default. 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.
  • Task calendars    These can be used to define working times for tasks outside the working times in the project calendar. 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 nonworking time.

To work with calendars, on the Tools menu, click Change Working Time.

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.

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 resource and assignment information to use in calculating schedule information, including:

To assign resources to tasks, click Assign Resources Button image.

Top of Page Top of Page

What information can help me analyze my project's progress?

Five pieces of task information help you analyze progress as you track tasks in your project: duration, work, start date, finish date, and cost.

Variations of each of these types of fields help you compare and evaluate your progress: planned (plan: A schedule of task start and finish dates and resource and cost data. A baseline plan is the original plan that you save and use to monitor progress. An interim plan is a set of dates you save during the project to compare to other interim plans.), scheduled (scheduled: The most current information about a project, including actual and remaining dates, durations, and costs for tasks that have started and the latest projected dates, durations, and costs for tasks that have not yet started.), actual (actual: Information that shows what has actually occurred. For example, the actual start date for a task is the day that the task actually started.), and remaining (remaining work: The amount of work, in terms of a time unit such as hours or days, that is left to be completed on a task. This is calculated as follows: Remaining Work = Work - Actual Work.).

For example, for one task, there can be fields of information containing planned work, scheduled work, actual work, and remaining work. The contents of these fields might match one another, or they might all be different. Variances (variance: The difference between baseline and scheduled task or resource information, they usually occur when you set a baseline plan and begin entering actual information into your schedule. Variances can occur in work, costs, and schedule.) between certain fields can also be examined for useful tracking information. For this reason, these fields are referred to as tracking fields.

Field type Description
Planned or baseline information

Planned information is also known as baseline (baseline plan: The original project plans [up to 11 per project] used to track progress on a project. The baseline plan is a snapshot of your schedule at the time that you save the baseline and includes information about tasks, resources, and assignments.) information. Examples of fields containing baseline information include Baseline Work, Baseline Start, Baseline Cost, and so on.

When you build and refine your project to the point where you are confident that you can start the project, you have a good beginning point, or baseline. If you save baseline task information at that point, at later points throughout the project you can compare your current progress against your initial plan. Saving the baseline is essential for meaningful project tracking and analysis.

To save baseline information, click Tools, point to Tracking, and then click Save Baseline. When you save a baseline, the five key pieces of information (work, cost, duration, start date, and finish date) are saved for each task in the project. Later when you are tracking a particular task, you can quickly see whether you are using more or less work or cost than you had originally planned, or if the task is starting or finishing earlier or later than planned.

The baseline information is used to calculate variances against scheduled information. It is also used in many earned value calculations. You can save up to 11 different baselines. You can also save 11 interim plans, giving you the opportunity to save 11 start and finish dates for tasks.

Scheduled information

Scheduled information is the current, most up-to-date task information. Fields containing scheduled information are Duration, Work, Start, Finish, and Cost. The scheduled Duration, Work, and Cost fields represent the total amount for that task.

When you first begin your project, the scheduled information is similar, if not identical, to your baseline planned information. However, as tasks are completed, you make adjustments and enter actual information. You find that one task needs three more days than first expected. Another task was able to start a day early. Another task incurred an unexpected cost. You find you need to change a constraint on one task and add a task dependency on another. With these adjustments, the scheduled information is recalculated to provide you with the most up-to-date picture of your project.

When you start entering actual information on in-progress tasks, scheduled information takes that into account and recalculates accordingly. For example, scheduled work is calculated as Actual Work + Remaining Work. For completed tasks, scheduled information is the same as actual information.

Actual information

Actual information reflects how the task was finally accomplished. You started with the planned projection of duration, work, cost, and start and finish dates. You enter progress information, or actuals, for tasks, and end up with the real picture of the completion of the task. Actuals tell you how much the task really cost, how many days of work it really took, the actual duration, and the real start and finish dates.

You enter actual information in fields such as Actual Work, Actual Duration, Actual Start, Actual Finish, and Actual Cost. If you enter actual information in one or two fields, the other actual information can be calculated for you. For example, if you enter the Actual Finish date, the Actual Duration, Actual Start, and other fields can be calculated. The same is true if you enter other tracking information, such as percentage complete.

Remaining information

For tasks not yet started or tasks in progress, there exists remaining work, remaining cost, and remaining duration. These fields estimate the amount of time and cost left before the task is complete. Remaining fields are a projection of the future.

For tasks not yet started, the contents of the Remaining Work field are the same as that of the Scheduled Work field. For tasks in progress, remaining work is calculated as Scheduled Work – Actual Work. The same is true for the Remaining Cost and Remaining Duration fields. However, the Remaining Work field can be edited, as can the Actual Work and Scheduled Work fields.

Variance information

If you saved a baseline, then you can take advantage of the calculations in the Variance fields. Examples include Work Variance, Cost Variance, Duration Variance, Start Variance, and Finish Variance.

Your current scheduled information is compared with your original planned information. The Variance field shows the calculated difference between planned and scheduled information. For example, the Work Variance field shows the difference between the Baseline Work and Scheduled Work fields.

Reviewing tracking fields

You can add any field to any sheet view. For example, you might want to insert the Baseline Duration column next to the Scheduled Duration field in the Gantt Chart. On the Insert menu, click Column, and then choose the field you want to show in the view.

You can also apply a table that is already designed with several tracking fields. Examples include the Tracking, Work, Cost, and Variance tables. You can also create your own table that contains the tracking fields you need.

Top of Page Top of Page

 
 
Applies to:
Project 2007