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 isn't necessarily easy to understand at first, but going through it will make you a more knowledgeable project manager—and give you firmer control over the end date of your project.
These instructions are specific to Microsoft Project 2016, 2013, and 2010.
What do you want to learn?
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.
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.
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.
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:
-
When you enter an automatically scheduled task, Project automatically assigns the As Late As Possible (ALAP) constraint to the finish date of the task. You should set other constraints only when necessary (Right-click a task, then click Task Information).
-
If you drag a Gantt bar to change the finish date of a task, Project automatically assigns a Finish No Later Than (FNLT) constraint for an automatically scheduled task.
-
If you change your project to schedule from a finish date and it was previously scheduled from a start date, you will remove all leveling delays and leveling splits from tasks and assignments that have been automatically scheduled. Tasks that are manually scheduled are not affected.
-
If you use automatic leveling to reduce resource overallocations in your project, Project will add a leveling delay after a task rather than before a task (To check leveling settings, click the Resource tab, then click Level Resource).
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. 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) |
| 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. |
Start-to-start (SS) |
| 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) |
| 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) |
| 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 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.
-
Click File, click Options, and then click Schedule.
-
Uncheck the Update manually scheduled tasks when editing links check box.
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.
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.
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 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.
How do task types affect the schedule?
Task types apply only to automatically-scheduled tasks, and come in three flavors: fixed units, fixed work, and fixed duration. 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 available for 8 hours each day. You set the task up with a 10-day duration and 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 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 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. |
How does effort-driven scheduling affect the schedule?
For all tasks, after you assign a resource, the task is scheduled according to this 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. 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.
-
Right-click a task, click Task Information , and then click the Advanced tab.
-
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 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. |
How do manual and automatic scheduling affect the schedule?
Knowing the differences between manually scheduled tasks and automatically scheduled tasks 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.
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 . 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:
-
Durations
-
Task dependencies
-
Constraints
Using this information, Project calculates the start date and finish date 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. 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:
-
Work
-
Units
-
Working times and non-working times entered in calendars
Other elements, such as lead time and lag time for links, task types, resource availability, and the driving resource, 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.
How does float (or slack) affect the schedule?
Float (also known as slack) 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) or those tasks that can slip before affecting the task that they are connected to (free slack).
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. |
How do deadline dates affect the schedule?
Deadline dates 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 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 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 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.
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.
How do calendars affect the schedule?
Calendars determine the standard working time and non-working time, 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.
-
When you create a task, the project calendar schedules the task.
-
When you add a resource to a task, the resource calendar controls the scheduling of the task.
-
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. |
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, 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, material resources, and cost resources 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 or 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. |
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, which affects how a schedule changes if you revise the existing assignment. The three task types are fixed unit, fixed duration, and fixed work. |
Effort-driven | Whether the task is effort-driven. 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. |
To assign resources to tasks, click the Resource tab, and then click Assign Resources .
Yet more technical information about how Project schedules
These instructions are specific to Microsoft Project 2007.
What do you want to learn?
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:
-
Durations
-
Task dependencies
-
Constraints
Using this information, Project calculates the start date and finish date 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. 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:
-
Work
-
Units
-
Working times entered in calendars
Other elements, such as lead time and lag time, task types, resource availability, and the driving resource, can affect scheduling, so understanding the effects of these elements can help you to 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.
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.
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.
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:
-
When you enter a task, Project automatically assigns the As Late As Possible (ALAP) constraint to the finish date of the task. You should set other constraints only when necessary.
-
If you drag a Gantt bar to change the finish date of a task, Project automatically assigns a Finish No Later Than (FNLT) constraint.
-
If you change your project to schedule from a finish date and it was previously scheduled from a start date, you will remove all leveling delays and leveling splits from tasks and assignments.
-
If you use automatic leveling to reduce resource overallocations in your project, Project will add a leveling delay after a task rather than before a task.
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.
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 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.
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.
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 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 can occur.
To review or change the constraint on a task, select the task, click Task Information , and then click the Advanced tab. Constraint information is in the Constraint type and Constraint date boxes.
How do deadline dates affect the schedule?
Deadline dates 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 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 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 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.
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 , and then click the Advanced tab. Use the Deadline box.
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 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.
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, 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, material resources, and cost resources 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:
-
The amount of work or 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.
-
The number of assignment units for the resource, that is, part-time, full-time, or multiple, on the task.
-
The task type, which affects how a schedule changes if you revise the existing assignment. The three task types are fixed unit, fixed duration, and fixed work.
-
Whether the task is effort-driven. 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.
-
Resource calendars. Project schedules the assigned resources based on the working and nonworking times indicated on their resource calendars.
To assign resources to tasks, click Assign Resources .
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, scheduled, actual, and remaining.
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 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 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. |
No comments:
Post a Comment