Explore the basics of project scheduling

Applies to
Microsoft Office Project 2003

How Project schedules a project can be difficult to grasp, but once you understand the basics of scheduling, you'll be better able to work with your projects. Project schedules a project from the information you enter about the overall project, the individual work items (called tasks (task: An activity that has a beginning and an end. Project plans are made up of tasks.)) required to complete the project, and, if necessary, the resources (the people, equipment, and materials) 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.

How does Project schedule a project?

How does the project start date affect the schedule?

What are the default settings for calculating the schedule?

How do constraints affect the schedule?

How do deadline dates affect the schedule?

How do calendars affect the schedule?

How do resource assignments drive the schedule?

What is the difference between planned, scheduled, and actual dates?

How does Project schedule a project?

For each task, you enter durations (duration: The total span of active working time that is required to complete a task. This is generally the amount of working time from the start to finish of a task, as defined by the project and resource calendar.), 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].), and constraints (constraint: A restriction set on the start or finish date of a task. You can specify that a task must start on or finish no later than a particular date. Constraints can be flexible [not tied to a specific date] or inflexible [tied to a specific date].). Project then 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 (resources: The people, equipment, and material that are used to complete tasks in a project.) 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.), and to calculate how many machines are needed or how much of a material resource (material resource: The supplies or other consumable items that are used to complete tasks in a project.) will be consumed.

If you enter resources, task schedules are further refined according to resource 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.), units (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.), and working times entered on calendars (calendar: The scheduling mechanism that determines working time for resources and tasks. Project uses four types of calendars: the base calendar, project calendar, resource calendar, and task calendar.).

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 maintain and adjust your schedule as needed.

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 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 a task dependency

Callout 1 When you create a new project, you first enter the project's start date. When scheduled 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.

Most projects should be scheduled from a start date. However, scheduling from the finish date can be useful for determining when a project must start if it must finish on a specific date. You can change various task and resource information to see what effect it has on the project's start date and determine the optimum project start date.

You must schedule a project from a start date or from a finish date; it cannot be scheduled from both start and finish dates. You pick which date you want to use (normally a start date), and Project schedules the other date (normally a finish date) for you based on the information you enter into the project plan.

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 monthly calendar that you use outside Project, 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.

How do constraints affect the schedule?

When you need to control the start or finish date of a task, you can add a constraint to 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 dependencies 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.

Constraints with moderate scheduling flexibility will restrict tasks 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 a constraint

Callout 1 With the default finish-to-start task dependency 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 and restrict tasks to the dates you specify. 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 constrained to a date has a predecessor (predecessor: A task that must start or finish before another task can start or finish.) that finishes too late for the successor (successor: A task that cannot start or finish until another task starts or finishes.) 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.

 Note   To specify that constrained tasks with negative slack are scheduled according to their task dependencies rather than the constraint dates, on the Tools menu, click Options, and then click the Schedule tab. Clear the Tasks will always honor their constraint dates check box.

Constraint Type Scheduling Impact Description
As Soon As Possible (ASAP) Flexible With this constraint, Project schedules the task as early as it can, given other scheduling parameters. No additional date restrictions are put on the task. This is the default constraint for newly created tasks in projects scheduled from the start date.
As Late As Possible (ALAP) Flexible With this constraint, Project schedules the task as late as it can, given other scheduling parameters. No additional date restrictions are put on the task. This is the default constraint for newly created tasks in projects scheduled from the finish date.
Finish No Later Than (FNLT) Moderate This constraint indicates the latest possible date that you want this task to be completed. It can be scheduled to finish on or before the specified date. A predecessor won't be able to push a successor task with an FNLT constraint past the constraint date. For projects scheduled from the finish date, this constraint is applied when you enter a finish date for a task.
Start No Later Than (SNLT) Moderate This constraint indicates the latest possible date that you want this task to begin. The task can be scheduled to start on or before the specified date. A predecessor won't be able to push a successor task with an SNLT constraint past the constraint date. For projects scheduled from the finish date, this constraint is applied when you enter a start date for a task.
Finish No Earlier Than (FNET) Moderate This constraint indicates the earliest possible date that you want this task to be completed. The task cannot be scheduled to finish any time before the specified date. For projects scheduled from the start date, this constraint is applied when you enter a finish date for a task.
Start No Earlier Than (SNET) Moderate This constraint indicates the earliest possible date that you want this task to begin. The task cannot be scheduled to start any time before the specified date. For projects scheduled from the start date, this constraint is applied when you enter a start date for a task.
Must Start On (MSO) Inflexible This constraint indicates the exact date on which a task must be scheduled to begin. Other scheduling parameters such as task dependencies, lead or lag time, resource leveling, and delay can't affect scheduling the task unless this requirement is met.
Must Finish On (MFO) Inflexible This constraint indicates the exact date on which a task must be scheduled to be completed. Other scheduling parameters such as task dependencies, lead or lag time, resource leveling, and delay can't affect scheduling the task unless this requirement is met.

How do deadline dates affect the schedule?

Deadline (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.) dates don't usually affect task scheduling. Deadline dates 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 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.

Deadlines can affect 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.) on tasks. If you enter a deadline date before the end of the task's total slack, total slack will be recalculated 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, the deadline indicator signifies a missed deadline among the subtasks.

 Note   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.

How do calendars affect the schedule?

Calendars determine the standard working time and nonworking time, such as weekends and holidays, for the project. They are used to determine resource availability, how resources assigned to tasks are scheduled, and how tasks themselves are scheduled. Project and task calendars are used in scheduling tasks, and if resources are assigned to tasks, resource calendars are used as well.

The calendars used 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. Resource calendars are based on the Standard calendar by default. You can customize your own base calendar 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're 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 intersection of the two calendars' working times. But you can set a task option to ignore resource calendars and schedule the task through the resource's nonworking time.

How do resource assignments drive the schedule?

If you don't assign resources to tasks in your project, Project calculates the schedule using task durations, task dependencies, constraints, and project and task calendar (task calendar: The base calendar that you can apply to individual tasks to control their scheduling, usually independent of the project calendar or any assigned resources' calendars. By default, all tasks use the project 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.).

An assignment is the association of a specific task with a specific resource responsible for completing the task. More than one resource can be assigned to a task. Both work resources and material resources can be assigned to tasks.

Unlike 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.), assigning material resources (material resource: The supplies or other consumable items that are used to complete tasks in a project.) 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, this intersection of the task and resource is the assignment. The scheduling of this task depends on Sean's resource calendar and assignment units, in addition to task information such as duration, 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:

What is the difference between planned, scheduled, and actual dates?

After you have entered all pertinent project information and are ready to begin the project, you can set a baseline plan (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.) and begin to track 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.) progress on tasks.

When you enter an actual start date or actual finish date for a task, Project updates the scheduled dates for that task in the Start and Finish fields. The baseline start and finish dates, however, are not affected by changes you make to the actual or scheduled dates.

When you update or enter progress on tasks, Project calculates the difference between a task's baseline start dates and the 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.) start dates, and shows that difference in the Start Variance field. The variance (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.) is also calculated between the baseline finish dates and scheduled finish dates, shown in the Finish Variance field. When tasks are completed, the variance is calculated between the baseline start and finish dates and the actual start and finish dates.

If changes you've made to tasks affect their start or finish dates or their successors' (successor: A task that cannot start or finish until another task starts or finishes.) start or finish dates, the new dates become scheduled start and finish dates. Scheduled start and finish dates show the current status of the project as a result of the changes you made.

You can also compare baseline, scheduled, and actual dates to dates in an interim plan (interim plan: A set of task start and finish dates that you can save at certain stages of your project. You can compare an interim plan with the baseline plan or current plan to monitor project progress or slippage. You can save up to 10 interim plans.) if you want to see incremental progress on your project.