The framework provides guidance, practices and tools to increase the chances of delivering an information system. This knowledge has been gained within Microsoft while developing large-scale software projects and service operation projects.
Microsoft Solution Framework is a huge topic. This tutorial only provides a brief introduction to the topics involved.
There are eight fundamental principles upon which the framework is built upon.
- Open Communication
- Work towards a shared vision
- Empower team members
- Accountability and Responsibility
- Focus on delivering business value
- Expect change
- Invest in Quality
- Learn from experience
The framework consists of two models, the Team model and the Process model. The Team model describes the roles of team members in the development project and the Process model describes the stages of processing within the project.
There are six roles within the team model; each one is a key quality goal. The roles within the team are:
- Program Management
- Release Management
- User Education
- Product Management
The responsibility of the Program Management team is to maintain the quality of the product by delivering within the constraints of the project. Program management own and drive the schedule, the features and the budget. They are responsible for delivering the right product at the right time.
To succeed in meeting the development quality goal, the team role is to build a product that meets the specification, customer expectations and functional specifications. Functional specifications are written before any development takes place; therefore development roles must be innovative to the point where they meet the requirements NOT to implement interesting features.
The goal of testing is to make sure that all issues are known and addressed prior to the release of the product. Any issues unsolved will prevent the product from meeting its requirements.
The role of logistics management is to provide product support, help desk and any other delivery channel in its focus to ensure smooth deployment and on-going management.
This role is responsible for enhancing user performance so that users are as productive as possible with the product.
The role of product management is to deliver customer satisfaction. It acts as the customer advocate to the team and the team advocate to the customer.
The process model provides a framework that assists organisations to successfully implement technology solutions that meet or exceed the predefined vision and business objectives.
There are five stages in the model: Envisioning, Planning, Developing, Stabilising and Deploying. There is also a milestone associated with each stage: Vision/Scope approved, Project Plan Approved, Scope Complete and Release Readiness and Deployment Complete. Each milestone is the responsibility of one or more team roles:
- Vision/Scope Approved - Product Management
- Project Plans Approved - Program Management
- Scope Complete - Development and User Experience
- Release Readiness Approved - Test and Release Management
- Deployment Complete - Release Management
In order for any team to be successful, it must interact, communicate, and coordinate with other external entities. These range from customers and end users to other product development teams.