MSF for Agile Software Development Visual Studio 2005 Team System logo

Team Model

The Microsoft Solutions Framework (MSF) Team Model describes Microsoft’s approach to structuring people and their activities to enable project success. The fundamental principles of the MSF team model are:

  • A team of peers with clear accountability, shared responsibility and open communications. Each role is accountable for a specific share of the quality of the overall solution.
  • Advocacy for all key constituencies who must be represented on a successful software project. Every perspective is represented to provide the checks and balances that prevent errors of omission and lopsided decisions.
  • Stretch to fit to the scale necessary for the specific project. Constituencies may be combined in small teams or further refined as teams scale for larger projects.
Team Model

Advocacy Groups

Program Management advocates for Solution Delivery

The focus of program management is to meet the goal of delivering the solution within project constraints. This group ensures that the right solution is delivered at the right time and that all stakeholders’ expectations are understood, managed and met throughout the project.

Architecture advocates for the System in the Large

This includes the services, technologies, and standards with which the solution will interoperate, the infrastructure in which it will be deployed, its place in business or product family, and its roadmap of future versions. The architecture group has to ensure that the deployed solution will meet all qualities of service as well as the business objectives and be viable in the long term.

Development advocates for the Technical Solution

In addition to being the primary solution builders, development is responsible for thoughtful technical decisions, clean design, good bottom-up estimates, high quality maintainable code and unit tests.

Test advocates for Solution Quality from the Customer Perspective

Test anticipates, looks for ,and reports on any issues that diminish the solution quality in the eyes of the users or customers.

Release/Operations advocates for the smooth delivery and deployment of the solution into the appropriate infrastructure

This group ensures timely readiness and compatibility of the infrastructure for the solution.

User Experience advocates for the most effective solution in the eyes of the intended users

User experience must understand the users context as a whole, appreciate any subtleties of their needs, and ensure that the whole team is conscious of usability from their eyes.

Product Management advocates for the Customer Business

Product management has to understand, communicate and ensure success from the standpoint of the economic customer requesting the solution.

Scaling Down

On small projects, or projects with low complexiity, one person can play multiple roles. When you combine roles, it's important to preserve the checks and balances that the different advocacy groups provide. The table presents a guideline for combining the advocacy groups.

Architecture Product Management Program Management Development Test User Experience Release Management
Architecture N P P U U U
Product Management N N P P U
Program Management N U U P
Development N N N
Test P P
User Experience U
Release Management

P Possible U Unlikely N Not Recommended

© 2005, 2006 Microsoft Corporation. All rights reserved.

Version 4.0.1