Microsoft Solutions Framework - MSF Project Management Discipline v. 1.1
Published: June 1, 2002
Click here to download a copy of this paper
Microsoft Solutions Framework
For more information on MSF, see: http://www.microsoft.com/msf/
Microsoft Solutions Framework (MSF) has a distributed team approach to project management that improves accountability and allows a great range of scalability from small projects to very large, complex projects. This paper describes how the distributed team approach works and also explains how project managers relate to the MSF team model. Although project management is important in small projects, the focus in this paper is on large projects with extended teams. While not touching on all aspects of the project management field, recommended practices for planning and estimating are also given.
On This Page
Overview of Frameworks
To maximize the success of information technology (IT) projects, Microsoft has made available packaged guidance on effectively designing, developing, deploying, operating, and supporting solutions built on Microsoft technologies. This knowledge is derived from the experience gained within Microsoft on large-scale software development and service operation projects, the experience of Microsoft's consultants in conducting projects for enterprise customers, and the best knowledge from the worldwide IT industry. The guidance is organized into two complementary and well-integrated bodies of knowledge, or frameworks. These are the Microsoft Solutions Framework (MSF) and the Microsoft Operations Framework (MOF).
Creating a business solution on time and within budget requires a proven approach. MSF provides proven practices for planning, designing, developing and deploying successful IT solutions. As opposed to a prescriptive methodology, MSF provides a flexible and scalable framework to meet the needs of any size organization or project team. MSF guidance consists of principles, models, and disciplines for managing people, processes, and technology elements, and their tradeoffs, that most projects encounter.
For more information on MSF, see: http://www.microsoft.com/msf/
MOF provides technical guidance that enables organizations to achieve mission-critical system reliability, availability, supportability, and manageability of IT solutions built using Microsoft products and technologies. MOF's guidance addresses the people, process, technology, and management issues that pertain to operating complex, distributed, heterogeneous IT environments. MOF is based on industry best practices as documented in the IT Infrastructure Library (ITIL) from the UK governments Office of Government Commerce (OGC).
For more information on MOF, see: http://www.microsoft.com/mof/
One of the notable characteristics of MSF is the absence of a role or job title called project manager. This may seem surprising for a framework that addresses issues relating to successful completion of IT projects. Yet MSF attaches great importance to the discipline and competencies associated with project management.
This paper summarizes the key aspects of the project management discipline and shows how they are addressed by MSF. It illustrates how the MSF foundation principles lead to some distinctive concepts and practices in implementing project management.
It also describes how the MSF program management role provides the specialist project management skills to support the full team and describes how typical project management activities are distributed across the MSF team leads.
This paper is not intended to provide a how-to guide of project management, nor does it attempt to explain the many techniques used by skilled project managers. Instead, it shows how the principles of MSF lead to a project management approach where:
The MSF Team Model whitepaper is prerequisite reading for this white paper.
Underlying MSF Principles
Although not discussed here, the MSF Project Management Discipline applies all of the MSF principles in some way, but is most directly associated with the following.
Clear Accountability-Shared Responsibility
The MSF Team Model is based on the premise that each role presents a unique perspective on the project and that no single individual can successfully represent all of the quality goals of all the roles. Yet the customer needs an authoritative single source of information on project status, actions and current issues. To resolve this dilemma, the team of peers must combine a clear line of accountability to the customer with shared responsibility for overall success.
Within the team, each role is accountable for the activities necessary to achieve its own quality goal.
Each team member is responsible for the overall success of the project and quality of the solution and is expected to contribute ideas and observations based on their knowledge even in areas for which they are not personally accountable.
Specifically, the MSF team roles share responsibility for many aspects of project management, such as risk management, time management, quality management, planning, scheduling, team recruitment, and human resource management.
Empowered Teams Are More Effective
In an effective team, members are empowered to deliver their own commitments and have confidence that, where they depend on other peoples' commitments, these will be met. Likewise, the customer has a right to assume that the team will meet its commitments and will plan on this basis. Any delay or change should be reported as soon as possible.
An MSF team provides members with the empowerment they need to meet their commitments. This has a profound impact on the role of project management in its ability to monitor progress. Without empowerment and commitment, team managers must continually double-check if team members are still on track. Once they are confident that any delays will be reported as soon as they are known, team leads can provide a more facilitative role, helping team members assess their true position while offering guidance and assistance to them. Progress monitoring is distributed across the team and becomes a supportive rather than a policing role.
To understand the MSF approach to project management, it is important to understand the way MSF defines the following concepts and terms.
Disciplines in MSF
MSF recognizes several areas of non-technology expertise that are important competencies of all the roles in the MSF team model. These are referred to as disciplines. For more information, see the MSF Team Model white paper.
Currently, MSF has addressed three disciplines. These are risk management, readiness management, and project management.
MSF acknowledges that these disciplines have developed best practices that are well established across many industries, not just information technology (IT). Often these practices can be applied to IT operations and other business processes as well as IT projects. Rather than reinvent these practices, MSF summarizes what project teams need to know in these disciplines and adds insights gained by Microsoft teams over the last several years.
In order to perform effectively, the leads of all MSF team roles must have an adequate level of competency in each discipline.
What Is Project Management?
Before describing project management in an IT project, it is useful to understand the definition of project management, regardless of the type of project.
A project is a temporary venture, with a finite beginning and end, whose goal is to create a unique product or service. Project management is an area of knowledge, skills, tools and techniques used to achieve project objectives within agreed upon parameters of quality, cost, schedule and constraints. (i)
In some companies and countries, the term program is used to describe groups of projects that are coordinated together. To avoid confusion with the MSF team role cluster called program management, a group of projects is referred to as a project portfolio.
MSF categorizes the following areas of project management responsibilities, skills and activities (ii).
While complete guidance on each of the areas above cannot be given here, selected MSF recommended practices are provided later in this document.
Project Management Is Not Done only by Project Managers
In everyday speech, the term project management can be used to describe both a role and an area of skills and expertise. For example, consider the statement, "Project Management said they would have it done by now," and the statement, "Space agencies tend to have excellent project management capabilities."
This distinction is important because project management, as an activity, is done by many people who are not project managers.
As used in MSF, project management is always used to refer to the specific set of knowledge and skill areas listed above, not a role or job title. The term project manager will be used describe someone who is a specialist at project management.
Project Management and IT Specific Processes
In general, project management consists of knowledge areas and techniques that broadly apply to any industry area that does projects. Each industry area (for example aerospace, building construction, IT, and so on.) has specific processes, phases, roles, and practices that work best for that industry. In order to have successful projects, these industry-specific processes must be supplemented with generic project management practices.
MSF provides processes and recommended practices for IT projects. Its relationship to the discipline of project management is illustrated in Figure 1.
Figure 1: Relationship of MSF to Project
The industry-specific domain in this case is the five phases of the MSF process model. An example of an industry–specific project management activity is recommended practices for bug tracking. The generic knowledge areas of project management are on the left. An example is recommended practices for managing contracts or tracking budgets. The intersection represents certain project management practices that are characteristic of MSF. These are presented next.
Characteristics of MSF Project Management
Three distinctive characteristics of the MSF approach are stated here and discussed more fully below:
Project Manager Role Is Encompassed in Program Management
The MSF program management role cluster includes the functional responsibility areas shown below. In smaller projects, all the functional responsibilities are typically handled by a single program manager. As the size and complexity of a project grows, this role cluster is broken out into two branches of specialization: one dealing with architecture and specifications and the other dealing with project management.
How Program Management Works with Team Leads
To understand how project management works in MSF, it is necessary to understand how the team model scales up, conducts planning, communicates, and makes decisions. For more information, see the MSF Team Model white paper.
Exactly how project management is distributed depends in large part on the scale and complexity of the project.
MSF is a highly-scalable framework, that can be used for small projects involving two to three people, or up to very large projects. Microsoft internal product teams involve hundreds, even thousands of team members. MSF has generalized the lessons of team organization at Microsoft for use with a broad range of IT projects.
Much of MSF's scalability comes from the team model. The team model scales up in two primary ways:
Function teams are subteams that exist within a role and are formed when tasks within a role are large enough to require dedicated resources. A key aspect of a function team is not simply that the role requires more that one person to fulfill, but that there is a delineation of tasks among its members. An example is shown in Figure 2.
The team lead is the point of integration to the rest of the larger team. Team leads have some project management responsibilities at the level of their subteam.
Figure 2: Sample Function Team for User
Feature teams are multidisciplinary subteams that are organized around a particular feature of the solution. The teams are drawn from the six roles that make up the team model. Figure 3 illustrates a feature team. The program management role is also the team lead that provides the integration point with the larger team. The feature team structure is a good candidate for remote or "off-shore" subteams building fairly discrete components for the solution.
Figure 3: Example of Feature Teams
Scaling-Up Project Management Functions
Figure 4 shows how project management activities are handled at three levels of project scale. In project A, where all roles are approximately filled by six people or less, all project management activities are handled by program management. This does not mean that the other roles have no input into managing the project. In fact, it means that they are responsible for planning, time estimating and identifying risks for their respective areas.
Figure 4: A Scalable Approach to Project
In project B, most or all roles are filled by subteams, each with a team lead. The team leads do project management for their respective subteams. The program management role cluster owns project management activities for the project overall. Note that feature teams are not shown in the graphic, but they are subteams as well. Since each feature team is multi-disciplinary, each has a program management lead
Project C is similar to project B, although it has special risks associated with its size or complexity. A complex project, as used in MSF, means the project has high risks related to the following factors:
To mitigate these risks, the program management role cluster has a function team including specialist project manager(s) and solution architect(s). Note that the threshold for risk will not be the same for all organizations and projects. What is very costly for one organization may well not be for another. This depends entirely on the risk assessment conducted early in the project.
Project Management Responsibilities
The previous section discussed how project management activities are distributed among team members at various levels of scale and complexity. This section describes these activities.
Figure 5 describes the project management responsibilities that are owned by team leads of each role and program management. Specialist project managers working in a complex project (for example, Project C shown in Figure 4) are focused on the same areas as shown from program management, only on an exclusive basis. Note that the same responsibility area is often covered at the project level and the subteam level.
Figure 5: Project Management Responsibilities
for Team Leads
Team leads prepare the plans for their subteams that describe how the work is to be done, track actual work against the plans, manage scope and change, assign resources to specific tasks in the subteam, and coordinate internal subteam communications. Team leads do these activities with participation and input from individual members of the subteams. While participating in overall risk identification, team leads are specifically accountable for identifying risks in their role expertise area.
There are three places in Figure 5 where team lead responsibilities differ from the pattern of the others:
In addition to being responsible for high-level solution architecture and writing functional specifications (as described in the team model), program management owns all of the project management areas for the project as a whole.
Program management integrates subteam plans into the master plan, synchronizes schedules, and manages cross-team dependencies.
There is a powerful advantage to placing responsibility for solution design and functional specifications together in the same role as schedule and cost responsibility: it strikes a balance between the tendency to over-design features against their cost and schedule implications.
Project Management in Large, Complex Projects
As a project gets larger or more complex, it can become overwhelming to manage functional specifications, update schedules, send out team communications, report progress and perform other project management activities. To cope with this, it often makes sense to divide the responsibilities of the program management role cluster into a solution architecture and dedicated project management role.
Project Administrative Services
In some respects, a large project must do many of the things a small business must do: track financials, procure supplies and services, manage staff turnover, provide orientation and training, set up team workspace facilities and accommodations, and so forth. On yet larger projects, the routine tracking of status, cost and schedules becomes very time-consuming. In order to allow the project manager to focus on the most pressing issues, the more routine project management activities are delegated to a project administrative (or project support) role. Project administrative services also provide support for team leads, assisting with maintaining team schedules and other project management activities.
Customers often want a single point of accountability for overall project success. Some organizations look to a project manager to play this role. This is sometimes warranted with large or complex projects, but this approach can lead to an imbalance in accountability among team roles, resulting in poor project performance. MSF accommodates a customer's need for a single authoritative point to ensure satisfaction while at the same time preserving accountability among the team of peers.
In the MSF team of peers, each team role is internally accountable for its own activities. In addition, the individuals working in each role are usually accountable to some management structure outside the project team. Because MSF does not assume that all team members work in the same company or organization, these accountability paths lead into whatever organizations, groups, or departments those individuals belong.
The key points here are:
The MSF team model provides customer accountability in the following ways:
Selected Recommendations for MSF Teams
The following recommended project management practices are for MSF team leads and program management. These correspond to some, but not all, of the project management responsibility areas that appear in Figure 5.
The purpose of scope management is to ensure the project identifies all the work that is required to complete the solution and does not stray into out-of-scope activities without prior review and approval.
Scope during Envisioning
Early in the project, the broad scope of a project must be identified and documented.
During the MSF envisioning phase, the team generates an unbound vision of the solution. The scope is then identified for the first version. This is described in the vision/scope document and is approved by the team, customer and stakeholders before the project continues. During this phase, scope is understood only in broad terms, at the level of describing features.
Solution Scope and Project Scope
Scope can refer to solution scope and project scope. Solution scope is the sum of the features and deliverables to be built. Project scope is the sum of all the work that must be done to deliver the solution.
The team uses the MSF design process to define the solution scope.
In the planning phase, the overall project scope must be subdivided into smaller, more manageable parts. This process clarifies special areas that are not in scope. Usually, these are areas where there is a special risk of misunderstandings.
During scope definition, the team identifies the tasks and skill types needed to build each feature and deliverable. This is documented in a work breakdown structure (WBS) described later in this document.
Scope Change Control
Once the scope has been defined and baselined, the team considers it under change control. Changes to the scope must be reviewed and approved by both the team and the customer.
Part of good change control involves making good trade-off decisions. The MSF trade-off triangle and trade-off matrix are useful tools for facilitating change in a controlled way.
For more information, see the MSF Process Model white paper.
Planning as an activity occurs throughout the project. During the envisioning phase, the team lays out the high-level approach needed to create the project deliverables.
For example, the testing approach describes the types of testing, the tools, and the skills needed. Depending on the size of the project, this may be only a page or two, or even a paragraph.
While plans are refined and updated in every phase, most planning happens during the MSF planning phase.
The general sequence of processes during this phase is:
These can overlap somewhat, but the previous process must be baselined before the next one can achieve meaningful detail. This section will focus on the planning process.
Project teams feel constant pressure to minimize the time and expense of planning. How can the benefits of good planning be had while minimizing planning overhead?
The answer is by intelligently collecting and re-using project plan documents. Organizations that realize that project plan documents are valuable intellectual property will invest in organizing and maintaining these in repositories that can be accessed easily.
Before creating a new plan, teams should always search out any that have already been done. Once a project is complete, project documents should be archived in a location that future teams can reuse.
In MSF, project plans refer to a set of documents that describe how the project deliverables are to be completed. The functional specifications describe what will be built. The master project plan is an integrated rollup of team plans for each role. Each team role has plans that describe how it will complete its deliverables.
MSF does not prescribe a "one-size-fits-al" list of plans that all projects must have. The following default list covers common planning areas found in software development and infrastructure deployment projects. On smaller projects, some of these plans can be combined. Some projects may need additional plans.
Work Breakdown Structure
A WBS is a deliverable-oriented grouping of project work elements that organizes and defines the total scope of the project (iii). It is an outline of work to be done. Work not in a well-constructed WBS is outside the scope of the project. Team leads and program management use the WBS as a project management tool to build plans and schedules.
In MSF, creating the WBS is a collaborative exercise with participation from all team roles. Each role is primarily responsible for defining the work details for its respective area. On larger projects, subteams (function and/or feature teams) may need to separately brainstorm the work necessary. The team leads document the results of the brainstorming session and contribute the results to the core (lead) team. Program management then synchronizes these contributions into a common WBS.
The value of a WBS is best understood if it is thought of as a set of data rather than as a specific document. This data, when combined with other project data, is used to create plans, schedules, budgets, and other project deliverables. A WBS can be displayed as an indented list or a block diagram and can be created in various tools such as spreadsheets, word processing programs, or project management software.
The WBS provides benefits for the following:
Traceability between WBS and the Functional Specifications and Master Project Plan
There is a traceable relationship among the functional specifications, master project plan and the WBS. This reflects the relationship between deliverables and tasks needed to build the deliverables.
For each feature or component in the functional specifications, the WBS lists the tasks associated with completing that deliverable. The way features or components are grouped in the functional specifications is not the same way their associated tasks appear in the WBS.
If a feature has no task item associated with it somewhere in the WBS, it can later "fall through the cracks" of the estimating process, possibly resulting in an unrealistic schedule or budget.
The master project plan and the WBS work in a complimentary way. The WBS lists each task briefly. Detailed descriptions of how the tasks are to be performed, quality bars and detailed sub-tasks or checklists are documented in the plans.
Figure 6 illustrates schematically how a WBS can be a powerful tool to maintain traceability among specifications, plans, and schedules.
Figure 6: WBS Provides Traceability among
Specifications, Plans, and Schedules
Building a Work Breakdown Structure
Each team identifies specific activities that are required to produce the project deliverables. The fine detail of activities are owned and tracked by the various roles or sub-teams in the form of checklists and in plans.
In MSF, the lowest level of activity appears in the master project plan but not in the WBS. These are rolled into tasks large enough to be worth tracking and reporting on at the overall project level, which is the WBS.
Team leads meet with their role teams to break down work requirements. Working together through the functional spec and specifications for other deliverables, the work required is identified and broken down into its smaller activities and tasks. This process is known as work breakdown or work decomposition.
One of the outputs of the MSF risk management process is additional tasks that respond to risks (sometimes referred to as "threats") or contingency plans and activities. These tasks must be added to the WBS, estimated, planned and scheduled in the same way as all other tasks. Consider scheduling team work breakdown sessions and risk brainstorming sessions back-to-back.
The first level of the WBS should contain a phase of the project lifecycle. The MSF process model lends itself to this very well. MSF suggested interim milestones are tied to completion or baselining of deliverables. Interim milestones also form a natural second level. Below that level, identify all deliverables and break down the tasks for each one. This process is known as work or task decomposition.
Guidelines for Task Decomposition
The following guidelines are recommended when performing task decomposition:
Estimates for IT projects should be made by those who are scheduled to do the work. Bottom-up estimating is a process for developing and integrating estimates from multiple team members. It provides the following benefits:
Better accuracy. Estimates made by those who will do the work are more accurate because the person making the estimates has had experience performing similar work.
Accountability. People who develop their own work estimates feel more accountable for their work. They also feel more accountable for success in meeting the estimates they have made.
Team empowerment. Having team-developed dates as opposed to management-dictated dates empowers the team because the schedule is built on estimates that team members can accept as realistic.
Integrating Team Estimates
Each team lead, together with their subteams, is responsible for preparing the time estimates needed to complete the deliverables of their role area. For example, the development lead prepares estimates for developers; the user experience lead prepares estimates for user experience (UE) deliverables, and so on, with input from their team.
The program management role facilitates the team estimation process and integrates ("rolls up") all of the estimates into a master schedule and budget.
Estimation in Software Projects
The cost of IT projects consist largely of labor, so work effort estimates are the essential data inputs needed to generate both cost and schedule estimates.
Setting appropriate expectations
Estimates set expectations about some future outcome. For this reason, setting the right expectations about the accuracy of an estimate is just as important as the technique used to generate it. The program and product management role clusters must work hard to ensure common expectations about the following:
Estimates depend on the specification. Developing IT solutions is much like custom building a house. It is impossible to know how much it will cost until its features have been well defined. This is not to say that specs are all that is necessary to estimate the project. Other work items such as customer communication, project meetings, status reports, all take time and must be considered in the estimates.
Be prepared for tradeoffs. Discussing the tradeoff triangle and setting default priorities using the trade-off matrix helps the team and customer set common expectations.
Some imprecision is unavoidable. Because solution development is a process of refinement, estimates contain a measure of variance.
Re-estimate at each milestone. The team should commit to providing a series of more refined estimates as the project progresses.
Uncertainty and Estimate Accuracy
Software estimation is a process of gradual refinement. Figure 7 illustrates the so-called "cone of uncertainty" (estimate convergence) of software estimation. Early in the project the range of variation in estimates from actual cost is very wide. This range narrows as the project progresses.
Notice that, at the vision/scope approved milestone, the estimate can be too low by a factor of 2, or too high by a factor of 0.5. The specific data values that are shown, taken from mid-1990's survey data, should not be applied too literally. What is important is to understand the order of magnitude of variance at each phase.
The lesson here is that, during the envisioning phase, the team develops estimate ranges (sometimes known as "ballpark estimates") of time and cost. Never provide a fixed cost estimate or fixed schedule estimate during this phase. It should be made clear that these can vary by a large factor at the vision/scope approved milestone.
Figure 7: The Cone of Uncertainty
Source: Adapted from "Cost Models for Future Lifecycle Processes: COCOMO 2.0" Boehm, et. al., 1995 (iv).
Estimate at the Lowest Level of Task Breakdown
There are several ways to prepare task level estimates of effort. All of them begin by breaking down each task in the WBS into finer activities. This is done at the subteam level and orchestrated by each team lead.
Then, an estimate is generated for each of the lowest-level activities. These are aggregated to create the task estimate in the WBS.
Reviewing the actual data from previous projects is one of the best ways to base estimates. Smart organizations collect and analyze these. Many project activities have industry metrics that can provide good benchmarks.
A more accurate and recommended technique is to generate three-point estimates for each low level activity. Three-point estimates contain an optimistic, pessimistic, and most likely estimate value for each task. Criteria should clarify what these mean. Pessimistic shouldn't mean the worst of all possible scenarios. Rather, optimistic and pessimistic estimates should be based on reasonable and likely risks.
Once the low level activities are summed up to WBS level tasks, there are three estimate values per task. The team leads forward this information to program management for cost analysis and then use the estimate data to prepare schedules.
Once estimates have been gathered for all tasks on the WBS, program management (or a specialist project manager) applies statistical analysis to adjust the overall time estimate. There are various techniques for this, but the most commonly used one is PERT (Program Evaluation Review Technique). PERT takes three-point estimates and calculates the mean of the distribution. This is used to project the most likely completion date, rather than the single value of the most likely estimate. It also provides a range of estimate outcomes based on the variances of all the tasks on the critical path.
A full description of PERT is beyond the scope of this paper. However, project management tools, such as Microsoft® Project®, provide the ability to do PERT analysis.
Schedule management includes the processes needed to ensure that the project is completed on time.
Once the tasks and activities of the project have been documented in the WBS and estimated, dependencies among them are identified. For example, the draft user documentation of a feature cannot be completed until the functional specification has been completed that describes that feature. Dependencies should be identified at the smallest level of tasks.
Use internal time limits to keep pressure on the project team to prioritize features and activities—a technique known as "time-boxing." This should not be misused to arbitrarily reduce team time estimates. A proper time-box begins with a reasonable time estimate and the understanding that some features may need to be cut to stay within the time limit.
The riskiest high-priority features or components should be scheduled early in the project. This maximizes the time available to respond to problems.
Managing Buffer Time
Add buffer (additional) time to project schedules to permit the team to accommodate unexpected problems and changes. The amount of buffer time to apply depends on the amount of risk. By assessing risks early in the project, the likeliest risks can be evaluated for their impact on the schedule and compensated for using buffer time.
One way to think of buffer time is as an estimate for unknown tasks and events. No matter how experienced the team is, not all project tasks can be known and estimated in advance. However, it is practically certain that some project risks will occur and impact the project, and that the corrective actions required to respond to the risk will take additional time.
The following guidelines are recommended for using buffer time.
MSF provides a scalable way to ensure that project management functions are met from the very smallest projects up to very large or complex projects. This approach avoids excessive bureaucracy in smaller projects while providing sufficient management structure for larger, more complex ones.
(i) PMI, Inc., A Guide to the Project Management Body of Knowledge, 2000 Edition (Newtown Square, PA: Project Management Institute, 2000), p. 4-6. For similar definitions in use in Europe and the U.K., see also G Caupin, H Knopfel, P Morris, E. Motzel, O Pannenbacker, IPMA Competence Baseline (Bremen, Germany: International Project Management Association, 1999), p. 23, and Central Computer and Telecommunications Agency, Managing Successful Projects with Prince2, (London: UK Stationery Office, 1998), p. 7.
(ii) Adapted from A Guide to the Project Management Body of Knowledge, p. 39. IPMA calls out 28 knowledge areas, which include the nine described by PMI. Prince2 includes 8 'project management components', of which only 3 of these map to PMI directly. The IPMA areas map well to both PMI and Prince2.
(iii) A Guide to the Project Management Body of Knowledge, p. 4-6. WBS is also defined in IPMA Competence Baseline, p. 34.
(iv) Adapted to MSF from "Cost Models for Future Lifecycle Processes: 2.0" Boehm, et. al., 1995. Previously adapted in Steve McConnell, Rapid Development (Redmond, WA : Microsoft Press, 1996), p. 168.
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.
This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 2002 Microsoft Corporation. All rights reserved.
Microsoft and Project are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Part number: 602-i404a