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.