Project Responsibilities

Rather than being a methodology, MSF is a framework that can be adapted to suit the particular needs of any organization. The MSF Team Model for Application Development (MSF Development Team Model) is one aspect of this framework. The model describes how teams should structure themselves and what principles they should follow in order to be successful at developing software.

The MSF Development Team Model is specific in nature, but as part of the framework, it should be viewed as a starting point. Different project teams may implement aspects of the framework differently, depending on the scope of their project, the size of their team, and the skills of their team members.

Specific responsibilities must be carried out and specific goals must be met in order for any project to be successful. These responsibilities and goals serve to provide continual direction for all the team members. Key project responsibilities and goals include the following:

  • Customer satisfaction Projects must meet the needs of their customers and users in order to be successful. It is possible to meet budget and time goals but still be unsuccessful because customer needs have not been met.
  • Delivery within project constraints Most projects measure success using "on time, on budget" metrics.
  • Delivery to specifications based on user requirements The Functional Specification describes in detail the deliverable to be provided by the team to the customer. This specification represents an agreement between the team and the customer as to what will be built, and constitutes the basis for "Doing what we say we will do."
  • Release after identifying and addressing all issues All software is delivered with defects. The team's goal is to ensure that those defects are identified and addressed before the product is released. Addressing defects can involve everything from fixing the defect in question to documenting work-around solutions. Delivering a known defect that has been addressed along with a work-around solution is preferable to delivering a product containing unidentified defects that may "surprise" the team and the customer later.
  • Enhanced user performance For a product to be successful, it must enhance the way that users work. Delivering a product that is rich in features and content but can't be used is considered a failure.
  • Smooth deployment and ongoing management The effectiveness of deployment directly affects the perceived quality of a product. For example, a faulty installation program may imply to users that the installed application is similarly faulty. The team must do more than simply deploy the product; it must deploy smoothly and then support and manage the product.

Many factors can affect a project, some of which will constrain it. When the project team focuses on meeting the agreed-upon goals of the project and delivering the product on time, it ensures that the organization receives the right Return on Investment (ROI), which is the right product for the right price.

The MSF Development Team Model addresses the need to meet these key goals by assigning tasks to six team roles: Product Management, Program Management, Development, Testing, User Education, and Logistics Management. Each goal requires a different discipline, so each team role embodies a different discipline. The people who carry out the team roles must have the unique perspective and set of skills necessary to meet each goal.

Table 3.1 shows the correspondence between the six roles of the MSF Development Team Model, which we discuss in detail later in this chapter, and the six key goals of an effective project team. Because each goal is critical to the success of a project, the roles that correspond to these goals are seen as peers with equal say in decisions. There is no project master, but simply a team that knows what to do and is properly equipped to do it.

Table 3.1 Goals and corresponding team roles

Goal Team role
Customer satisfaction Product Management
Delivery within project constraints Program Management
Delivery to product specifications Development
Release after identifying and addressing all issues Testing
Enhanced user performance User Education
Smooth deployment and ongoing management Logistics Management

How does a team get started on a project when it doesn't know how long it will take, how much it will cost, and what it is going to create? Answering these questions is the core function of the MSF Development Team Model discussed in the next sections of this chapter and the MSF Development Process Model discussed in Chapter 4. These models involve a bottom-up scheduling process, a top-down design process, and separation of responsibilities, so at first glance, they don't seem to answer these questions at all. But in fact, they lend themselves well to minimizing risk and exposure in the early phases of a project. Making the correct decisions early in the process and avoiding changes late in the process significantly decreases a project's overall time and costs.

Microsoft Corporation - Analyzing Requirements and Defining Solutions Architecture. MCSD Training Kit
Microsoft Corporation - Analyzing Requirements and Defining Solutions Architecture. MCSD Training Kit
Year: 1999
Pages: 182 © 2008-2017.
If you may any questions please contact us: