Microsoft Solutions Framework

Lecture



The Microsoft Solutions Framework ( MSF ) is a software development methodology proposed by Microsoft. MSF builds on Microsoft’s hands-on experience and describes how people and workflows are managed during the solution development process.

MSF is a consistent set of concepts, models, and rules.

Content

  • 1. Introduction
  • 2 MSF Project Team Model
  • 3 MSF Process Model
    • 3.1 Risk Management
    • 3.2Manage preparation
  • 4 Versions
  • 5Links

Introduction

In 1994, in an effort to maximize the impact of IT projects, Microsoft released a package of guidelines on the effective design, development, implementation and maintenance of solutions built on the basis of its technologies. This knowledge is based on the experience gained by Microsoft in working on large software development and maintenance projects, the experience of Microsoft consultants and the best of what the IT industry has accumulated so far. All this is presented in the form of two interrelated and well complementary areas of knowledge: Microsoft Solutions Framework (MSF) and Microsoft Operations Framework (MOF).

It should be noted that Microsoft has developed on the basis of common MSF methods for applied and specialized applications. Moreover, Microsoft certifies experts specifically for applied knowledge in the application of MSF (for example, MCTS 74-131 certification for expertise in project management techniques). Before learning MSF methods, you must first determine which MSF application version is meant.

The most popular MSF application options developed by Microsoft are:

  • method of implementing solutions in the field of project management;
  • method of managing IT projects based on the MSF and Agile methodologies.

The importance of MSF application variants is underlined by the fact that in the “pure version” MSF itself does not use the MSF method in its IT projects. Microsoft Consulting Services projects use the hybrid methodology of MSF and Agile. Despite external significant differences in the applied MSF options developed by Microsoft experts, the common base of MSF methods for them remains common and reflects common methodological approaches to the iterative project management.

MOF is designed to provide organizations that create critical ( mission-critical ) IT solutions based on Microsoft products and technologies, technical guidance for achieving their reliability ( reliability ), availability ( availability ), and maintainability (eng. Supportability ) and manageability (eng. manageability ). MOF addresses issues related to the organization of personnel and processes, technologies and management in complex (eng. Complex ), distributed (eng. Distributed ) and heterogeneous (eng. Heterogeneous ) IT environments. MOF is based on the best production techniques compiled by the IT Infrastructure Library (ITIL), compiled by Central Computer and Telecommunications Agency - the UK Government Agency.

Creating a business decision within the allotted time and budget requires a proven methodological basis. MSF offers proven methodologies for planning, designing, developing, and implementing successful IT solutions. Thanks to its flexibility, scalability and the lack of rigid instructions, MSF is able to meet the needs of an organization or project team of any size. The MSF methodology consists of principles, models, and disciplines for the management of personnel, processes, technological elements, and issues related to all of these factors that are common to most projects.

MSF consists of two models and three disciplines. They are described in detail in 5 whitepapers. It is better to start studying MSF with models, and then go to the disciplines.

MSF contains:

  • models :
    • project team model
    • process model
  • disciplines :
    • project management discipline
    • risk management discipline
    • training management discipline

MSF Project Team Model

The MSF Team Model (MSF) describes Microsoft’s approach to organizing project personnel and activities in order to maximize project success. This model defines role clusters, their areas of competence and areas of responsibility, as well as recommendations to members of the project team, allowing them to successfully carry out their mission to translate the project into reality.

The MSF project team model has been developed over several years and has emerged as a result of understanding the shortcomings of the pyramidal, hierarchical structure of traditional project teams.

In accordance with the MSF model, project teams are built as small multidisciplinary teams whose members distribute responsibility among themselves and complement each other's areas of expertise. This makes it possible to clearly focus on the needs of the project. The project team is united by a single vision of the project, the desire to bring it to life, high demands on the quality of work and a desire to improve themselves.

The following describes the basic principles, key ideas, and proven MSF techniques applied to the design team model.

MSF incorporates a number of basic principles . Here are those of them that are related to the success of the team:

  1. Distribution of responsibility for recording statements
  2. Empower team members
  3. Focus on business priorities
  4. Single vision of the project
  5. Be flexible - be prepared for change
  6. Encourage free communication

Successful use of the MSF project team model is based on a number of key concepts (key concepts):

  1. Team of associates
  2. Focus on customer needs
  3. End result focus
  4. Installation for no defects
  5. Pursuit of self-improvement
  6. Interested teams work effectively

MSF is based on the postulate of six quality objectives, the achievement of which determines the success of a project. These goals determine the design team model. While the entire team is responsible for the success of the project, each of its role clusters defined by the model is associated with one of the six goals mentioned and is working to achieve it.

The project group includes such role clusters :

  • program management
  • product management
  • development
  • testing
  • release management
  • customer satisfaction

They are responsible for various areas of competence (functional areas) and related goals and objectives. Sometimes role clusters are simply called roles. But in any case, the essence of the concept remains the same - to build the basis of production relations and the model of the team associated with it so that they are adaptable (scalable) to meet the needs of any project.

As mentioned above, the MSF project team consists of six role clusters, each of which is responsible for :

  • program management - development of the solution architecture, administrative services;
  • development (developer) - application development and infrastructure, technology consulting;
  • Testing (QAE) - planning, test development and test reporting;
  • release manager - infrastructure, maintenance, business processes, release of the finished product;
  • customer satisfaction (user experience) - training, ergonomics, graphic design, technical support;
  • product management (product manager) - business priorities, marketing, customer representation.

The presence of six role clusters does not mean that the number of team members should be a multiple of six - one person can combine several roles and vice versa, the role cluster can consist of several persons depending on the size of the project, its complexity and professional skills required to implement all areas of competence cluster The minimum MSF team can consist of only three people . The model does not require the appointment of an individual employee for each role cluster. The point is that the team must represent all six qualitative goals. Usually, the allocation of at least one person for each role cluster provides full attention to the interests of each of the roles, but this is not economically justified for all projects. Often, project team members can combine roles.

In small project teams, role integration is necessary. Two principles should be observed:

  1. The role of the development team cannot be combined with any other role.
  2. Avoiding a combination of roles with predefined conflicts of interest.

As in any other team activity, the appropriate combination of roles depends on the team members themselves, their experience and professional skills. In practice, the combination of roles is not uncommon. And if the project team makes it deliberately and manages the risks associated with such a merger, the problems that arise will be minimal.

MSF does not provide specific project management recipes and does not contain explanations of the diverse work methods that experienced managers apply. The principles of MSF form a project management approach such that:

  • The responsibility for project management is distributed among the leaders of the role clusters within the team - each member of the project team is responsible for the overall success of the project and the quality of the product being created.
  • professional managers act as consultants and mentors of the team, and do not perform the functions of control over it - in an efficiently working team, each of its members has the necessary authority to perform their duties and is confident that they will receive everything they need from their colleagues.

As follows from the above, one of the characteristic features of MSF is the absence of a project manager position!

The MSF project team model offers the partitioning of large teams (more than 10 people) into small multidisciplinary group of directions (feature teams). These small teams work in parallel, regularly synchronizing their efforts. In addition, when a role cluster needs a lot of resources, so-called. functional groups (functional teams), which are then combined into role clusters.

The use of role clusters does not imply or impose any special structure of the organization or mandatory positions. The administrative composition of roles can vary widely across organizations and project teams. Most often, roles are distributed among different departments of the same organization, but sometimes a part of them is assigned to the consumer community or consultants and partners external to the organization. The key point is a clear definition of the employees responsible for each role cluster, their functions, responsibilities and the expected contribution to the final result.

The MSF design team model does not provide success on its own. There are many other factors that determine the success or failure of a project, but the structure of the project team certainly makes a significant contribution.

A suitable team structure is the foundation of success, and implementing the MSF model using its underlying principles will help make project teams more efficient and, as a result, more successful.

MSF Process Model

The MSF process model (MSF) represents a common methodology for developing and implementing IT solutions. The peculiarity of this model is that due to its flexibility and the absence of rigidly imposed procedures, it can be applied in the development of a very wide range of IT projects. This model combines the properties of two standard production models: cascade (waterfall) and spiral (spiral). The process model in MSF 3.0 has been complemented by another innovative aspect: it covers the entire life cycle of creating a solution, starting from its starting point and ending directly with implementation. This approach helps project teams focus their attention on the business value of the solution, since this return becomes real only after the implementation is completed and the product is used.

The MSF process is focused on " milestones " (milestones) - the key points of the project, characterizing the achievement within its framework of any significant (intermediate or final) result. This result can be assessed and analyzed, which implies the answers to the questions: “Has the project team come to an unambiguous understanding of the objectives and scope of the project?”, “Is the action plan sufficiently prepared?”, “Does the product meet the approved specifications?”, “ Does the solution meet the needs of the customer? ”Etc.

The MSF process model takes into account constant changes in design requirements. It proceeds from the fact that the development of a solution should consist of short cycles that create progressive movement from the simplest versions of the solution to its final form.

The MSF process model is closely related to the basic principles of MSF discussed above. Generally speaking, the three features of the MSF process model are:

  • Phase and milestone based approach.
  • Iterative approach.
  • Integrated approach to the creation and implementation of solutions.

The process model includes the following main phases of the development process:

  • Concept Development (Envisioning)
  • Planning
  • Developing
  • Stabilization
  • Deploying

In addition, there are a large number of intermediate milestones that show the achievement of a certain progress during the project and dismember large segments of work into smaller, visible areas. For each phase of the process model, MSF determines:

  • what (what artifacts) is the result of this phase
  • what each of the role clusters is working on in this phase

As part of MSF, program code, documentation, design, plans, and other working materials are usually created using iterative methods. MSF recommends that you start developing a solution from building, testing, and implementing its core functionality. Then, new and new features are added to the solution. Such a strategy is called a versioning strategy. Although the release of one version may be sufficient for small projects, it is recommended not to lose the possibility of creating a number of versions for one solution. With the creation of new versions, the functionality of the solution evolves.

An iterative approach to the development process requires the use of a flexible way of maintaining documentation. “Living” documents (living documents) should change as the project evolves along with changes in requirements for the final product. MSF offers a number of standard document templates that are artifacts at each stage of product development and can be used to plan and control the development process.

The solution does not represent business value until it is implemented. It is for this reason that the MSF process model contains the entire life cycle of creating a solution, including its implementation - right up to the moment when the solution starts to give a return.

Management of risks

Risk management is one of the key disciplines of the Microsoft Solutions Framework® (MSF). MSF sees in the changes and the resulting uncertainty integral parts of the life cycle of information technology. MSF risk management discipline (MSF) promotes a proactive approach to dealing with risks in the face of such uncertainties, continuous risk assessment and the use of risk information as part of the decision-making process throughout the project life cycle. This discipline offers principles, ideas, and recommendations, supported by a step-by-step process for successful active risk management. This process involves the identification and analysis of risks; planning and implementing strategies for their prevention and mitigation of possible consequences; tracking the state of risk and learning from the experience gained. The MSF motto - we do not fight risks - we manage them .

As mentioned above, there is no “project manager” role in MSF. Project management activities are distributed between group leaders and the “Program Management” role cluster.

For group leaders and the “Program Management” role cluster, the project management tool that facilitates the creation of plans and time schedules is WBS . Work Breakdown Structure (WBS) is a structuring of project work, reflecting its main results and determining its scope. Work not described in the WBS is outside the scope of the project. In MSF, the creation of a WBS is a collective activity in which all role clusters are involved. Each role is responsible for providing a detailed description of their own work.

Preparation management

Preparation management is also one of the key disciplines of the Microsoft Solutions Framework (MSF). It is dedicated to managing the knowledge, professional skills and abilities necessary for planning, creating and maintaining successful solutions. The MSF Training Management Discipline describes the fundamental principles of MSF and provides guidance on how to apply a proactive knowledge management approach throughout the information technology life cycle. This discipline also considers planning a preparation management process. Supported by proven practical methodologies, the training management discipline provides project teams and individual specialists with the basis for this process.

It should be noted that MSF does not impose the use of other Microsoft products. Например, для организации процесса производства ПО можно использовать MSF и при этом применять инструменты Borland, хотя будущая версия MSF 4.0 будет жестко привязана к Microsoft Team System — новому инструментальному средству Майкрософт для поддержки командной работы

Версии

Первая версия MSF появилась в 1994 году. Текущая версия — MSF 4.0 была представлена в 2005 году. В данной версии произошло разделение методологии на два направления: MSF for Agile Software Development и MSF for CMMI Process Improvement.

Кроме этого, появилась роль архитектора и поддержка методологии в инструменте — Visual Studio Team System.

Links

Сайты и порталы
  • Microsoft Solution Framework in Visual Studio 2005 Team System (англ.)
  • MSF Essentials book (англ.)
  • MSF Resources at North Star Analytics (англ.)
  • Информация по MOF (англ.)
  • Информация по MSF (англ.)
Articles
  • Introduction to the Microsoft Solutions Framework (rus.)
  • MSF - the philosophy of creating IT solutions or the ambitions of a leader (

Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Web site or software design

Terms: Web site or software design