TMGR: Microsoft Team Manager Scheduling Engine Overview (160261)



The information in this article applies to:

  • Microsoft Team Manager

This article was previously published under Q160261

SUMMARY

Microsoft Team Manager automatically tries to schedule tasks based on many factors, such as people availability. You cannot enter start and finish dates for a task directly.

MORE INFORMATION

The goal of the Microsoft Team Manager scheduling engine is to have people working as close to capacity as possible and as often as possible, so that the schedule doesn't have large holes or peaks where a person is doing too little or too much. As a side effect, tasks tend to be scheduled to end as soon as possible, given the assigned people.

There are many ingredients in a schedule: people's availability (calendars), work limits on assignments, priorities, task dependencies, start constraints, deadlines, and the team plan start.

NOTE: The scheduling engine of Microsoft Team Manager is different from classic critical path method (CPM) engines used in project management software.

Fundamental Features of the Scheduling Engine

  • Microsoft Team Manager schedules only assignments, not tasks. Constraints entered at the task level are used for scheduling the assignments on the task. The task level is just a roll-up of all the assignments for the task. When no person is assigned to a task, the work is assigned to a special bucket called "Unassigned Work." For scheduling purposes, unassigned work is treated as a special person who always uses the Standard calendar, never has actual work, and never uses overtime work.
  • Microsoft Team Manager is always effort driven. Assignment work is specified along with constraints, and Microsoft Team Manager calculates the start and finish for each assignment. The Start and Finish fields are never directly entered, and there is no Duration field.
  • Microsoft Team Manager assumes each person in the team list represents an individual member and not a generic resource like "engineers." Each person works as hard as his/her Working Times calendar and Daily Limits & Overtime settings allow. There is no assignment Units field to specify a percentage level of effort. For example, it is not possible to assign a person at a 50% level on a task. However, by using the Daily Limits & Overtime button on the Scheduling tab in the Task Properties dialog box, it is possible to specify a maximum amount of work per day that a person can do on a task, thereby allowing a person to work on more than one task each day. Daily Limits & Overtime settings do not apply to unassigned work.
  • Actual Work is separated from Remaining Work. Actual Work may be arbitrarily entered and is not scheduled. The amount of work remaining for each assignment is scheduled separately, after the last actual date for the assignment. Remaining Work is not tied to Actual Work for scheduling purposes. Actual Work does not apply to unassigned work.
  • There is automatic assignment splitting. Microsoft Team Manager schedules work for people based on constraints. If required, a person's assignment work on one task may be split or interrupted by his/her assignment work on another task. This is part of the automatic leveling process and cannot be disabled (calculations can be set to manual on the Calculation tab in the Options dialog box from the Tools menu, but the file is automatically leveled when it is recalculated). Unassigned work is leveled, too. Tasks with Start Exactly On constraints cannot be split.

Factors Effecting Scheduling

Below are a variety of factors that affect the scheduling of assignments. In cases where two factors conflict, generally, the factor listed nearest the top of this list takes precedence. The automatic leveling process takes these factors into account when deciding which assignments to split or move so that no person (or unassigned work) is simultaneously scheduled on multiple tasks. Below each factor is a short description and some ways to view the factor within Microsoft Team Manager.

Individual Working Times calendars:

Determines when each person can work, and his/her shift hours and maximum amount of total available daily overtime for all of his/her assignments. Unassigned work always uses the Standard calendar and never uses overtime. View or change using the Edit Working Times button in the Working Times view on the People tab. At least one person must be in the file before the Edit Working Times command can be used.

Daily Limits and Overtime:

Determines assignment-specific daily work limits and overtime rules. Does not apply to unassigned work. Choices for Daily Limit are "Based on working times," "Work at most," "Work at least," and "Work exactly." The last three options require an amount of time to be specified. For the last two options, the specified amount of time is restricted by the person's Working Times calendar. Choices for overtime rules are "Never," "If needed," and "Always." For the "If needed" option, overtime work is only used if it would reduce or eliminate overloaded work. View or change using the "Daily Limits & Overtime" button on the Scheduling tab in the Task Properties dialog box.

Amount of Work assigned:

The amount of work specified for each assignment, including unassigned work. View or change using the People Assigned drop-down list or Total Work field in a task table, or the Assigned To drop-down list on the General tab in the Task Properties dialog box.

Actual Work done:

The actual work done on an assignment. Does not apply to unassigned work. Includes actual standard rate work and actual overtime work. Actual work can be arbitrarily entered and is never scheduled. It reduces the remaining work that is scheduled and determines the start of each assignment. It also limits changes that can be made to a variety of values including the File Start and the people Schedule From field. View or change using the Actual Work box or Edit Actuals button on the Tracking tab in the Task Properties dialog box, or, for more precision, use the Actual Work view with the timescale formatted for days on the Tasks tab.

Team File Start:

Defaults to the current date. No assignment can start before this date. A file start date cannot be entered that is later than any existing Actual Work or Deadline. The team file start date can be affected by the settings in the Reschedule From dialog box, accessed by clicking Reschedule From on the Tools menu (see "The Schedule From Field" topic below for more information). View or change using the Schedule Start Date setting. To do so, on the Tools menu, click Options. In the Options dialog box, click the Calculation tab, and change the Schedule Start Date setting.

The Schedule From field:

People-specific field that determines how early a person may begin remaining work on any task. Does not apply to unassigned work. If actual work is entered, Schedule From automatically changes if necessary so that it is later than the last day with actual work. Defaults to the Team File start. Edit only by using the Reschedule From command on the Tools menu. Entering a date in the Reschedule From dialog box that is earlier than the File Start changes the File Start to equal the reschedule date. Changing the File Start so that it is later than the date in a person's Schedule From field changes the person's Schedule From date to match the File Start. View by inserting the read-only Schedule From field in a People view, such as the Team List or Profile Information view.

Start Exactly On (SEO) constraints:

The Earliest Start field is blank by default and the "Start on Earliest Start" field is No. Entering a date in the Earliest Start field and setting "Start on Earliest Start" to Yes is equivalent to entering a date in the Exactly On box on the Scheduling tab in the Task Properties dialog box. The scheduling engine attempts to start the task exactly on the specified date. SEO assignments are always scheduled continuously (never split). View or change using the Exactly On setting on the Scheduling tab in the Task Properties dialog box, or insert the Earliest Start and "Start on Earliest Start" fields into a task table. See the related "Start On or After constraints topic" later in this article.

Dependencies:

Determines how early a successor may start relative to a predecessor. Dependencies can be Finish-to-Start (FS) or Start-to-Start (SS), and a positive or negative delay can be specified. FS relates the predecessor finish and the successor start, and SS relates the predecessor and successor starts. For example, an FS dependency with -1 day delay means the successor should start no earlier than one day before the predecessor finishes. The scheduling engine attempts to honor the dependencies, but other factors may override them. Normally the predecessor determines how the successor is scheduled, but if the successor has a "Start Exactly On" constraint and the predecessor does not, then the successor determines how the predecessor is scheduled. View or change dependencies by inserting the Predecessors field into a task table, or by using the Link Tasks button on the Scheduling tab in the Task Properties dialog box. There is also a read- only Successor field that can be inserted into a task table.

Start On or After constraints:

The Earliest Start field is blank by default and the "Start on Earliest Start" field is No. Entering a date in the Earliest Start field and setting "Start on Earliest Start" to No is equivalent to entering a date in the "On or after" setting on the Scheduling tab in the Task Properties dialog box. The scheduling engine attempts to start the task on the specified date, but allows it to be later if necessary, without considering it a conflict. View or change using the On Or After setting on the Scheduling tab in the Task Properties dialog box, or insert the Earliest Start and "Start on Earliest Start" fields into a task table. See the related "Start Exactly On" topic earlier in this article.

Deadline field:

The scheduling engine attempts to schedule the task so that its Finish is on or before the Deadline. It is not possible to enter an SEO or SOOA start constraint date for a task that would conflict with an existing Deadline on the same task, and vice-versa. An error message occurs if an attempt is made to do so, and the action is prevented. However, a start constraint can be given to one task that may cause a problem with a deadline on a different task. View or change using the Deadline setting on the General tab in the Task Properties dialog box, or insert the Deadline field into a task table.

Priority field:

Used as a scheduling tie-breaker if it comes to it; tasks with lower priorities are scheduled later. View or change using the Priority setting on the General tab in the Task Properties dialog box, or insert the Priority field into a task table.

ID field:

Used as a scheduling tie-breaker if it comes to it; tasks with larger ID numbers are scheduled later. This is the number column at the left of a task table.

Modification Type:MinorLast Reviewed:8/17/2005
Keywords:KB160261