MSF for Agile Software Development Visual Studio 2005 Team System logo

Innovations in MSF v4.0

1) Separation of governance from capacity

MSF separates the corporate and project governance for allocation of resources to projects and the value the project seeks to create from the operational management of functional capacity, throughput, and its variation.

Governance

Which projects should we do? Which features should be included in the product that the project is producing? How much of our capacity should we allocate to this project? What is the return on investment? How can we deliver value into the hands of customers early and often? These are all valid questions for good corporate and project governance? MSF makes these the responsibility of the product managers, project managers, the integrated project management office, and senior management.

Capacity

What is the capacity of our development organization, test organization, and our user experience function? How can we increase that capacity? How can we maximize effectiveness of the function? What is the variation in capacity and productivity? What causes that variation and how can it be minimized? These are all valid questions about the operational function of the organization. Functional structures are a fact of corporate life, because functional groups are efficient. Accordingly, MSF does not matrix everyone under a project manager or project director. MSF recognizes that capacity in that productivity and its variation are important and functional managers have a role. That role is to maximize and increase capacity, and the reliability of that capacity through the reduction of variation. Reduction of variation includes improving quality to reduce rework and regression.

2) Lean Project Management

Project management in MSF using Team System uses the flow of value created through a life cycle of progressive functional steps by tracking, managing, and monitoring the queue of work at each step. The Work Remaining report uses a cumulative flow chart developed for Lean Manufacturing. Work-in-progress and queuing is monitored with this report in order to identify bottlenecks and address issues which are affecting throughput and reducing capacity.

3) Trustworthy Transparency

MSF leverages Team System to track progress of work items and link that progress to check-in policies for items stored in version control. The reporting in Team System provides transparency on progress. By tying the work item life cycle to the control of items in version control, Team System makes that transparency trustworthy. Metrics collection is unrestricted because it is a by-product of everyone’s actual work, not an overhead process. The reports reflect the status of real work and falsifying the data would require tampering real work which would be unacceptable to team members. The reports from Team System are trustworthy and transparent.

MSF takes advantage of trustworthy transparency by focusing on the use of reports to drive objective, rational management decisions and interventions. MSF metrics are self-generating, relevant, and leading (or predictive) indicators of project health. Trustworthy transparency leads to realistic schedules, reliable estimates, sustainable pace of work, and professional maturity rather than a reliance on heroic efforts.

4) Qualities of Service

Too often, non-functional requirements are not represented in project scope. Often they are added as an afterthought and they are treated in the “nice to have” category. MSF elevates non-functional requirements in the project scope through the definition of Quality of Service Requirements. For example, performance and security are not added as an afterthought, but are planned and scheduled from the beginning and developed into the product as recognized value within the required scope.

Qualities of Service can differentiate a product from its competitors. They can represent true customer value and defensible differentiation against competitor’s products. MSF requires that Qualities of Service are taken into account from the beginning and that systems are architected to deliver the required qualities of service from the beginning.

MSF leverages guidance from Microsoft’s patterns & practices group to provide context-specific guidance on qualities of service; such as the incremental threat modeling method for security requirements, architecture, and design. Through incorporation of incremental threat modeling, security requirements are important in MSF.

5) Constituency- and Event-Driven Risk Management

Risk Management is not new, but the MSF approach is. MSF combines a day-to-day event-driven risk monitoring with the MSF Team Model, which treats risks as future special cause events with a probability and impact of occurrence.

The Team Model in MSF offers seven constituencies of risk concern – Product Management, Program Management, User Experience, Architecture, Development, Test, and Release and Operations. Each of these constituencies must have at least one advocate to insure appropriate coverage of concerns to mitigate risk. Roles within MSF are mapped against Team Model constituencies as advocates.

Risks are future potential special cause events that block productivity, reduce capacity, and affect project schedules. They are identified based on prior data and experience from the advocates of each risk constituency. The probability of occurrence is weighed against the cost of mitigation and the impact of occurrence. Mitigation actions are then planned and managed to reduce the likelihood of occurrence and consequently reduce variation in capacity. The reduced variation improves the reliability of delivery and improves competitiveness through shorter schedules.

6) Continuous Adoption Curve – Agile through CMMI

By developing a Deming-based quality assurance approach to the CMMI process guidance and by incorporating all the guidance from the MSF for Agile Software Development within that approach, MSF offers organizations a smooth adoption curve up the organizational process maturity ladder.

MSF for CMMI Process Improvement provides acceleration to CMMI Level 3, but provides a basis for Level 4 and Level 5 process areas with up to 35% coverage of practices at those higher levels. Future work in MSF will provide additional guidance on how to smoothly move to Level 5 and adopt the use of statistical process control with existing metrics and reports such as Velocity and Work Remaining. This leads to full implementation of Deming’s Theory of Profound Knowledge and his teaching of the avoidance of management mistakes #1 and #2.

MSF v4.0 is innovative and provides a clear roadmap of further continuous innovation towards version 5.0.

7) Situation-specific, context-driven project guidance

MSF understands that no one type of process guidance fits with every company’s needs. MSF provides two process templates and a framework for process innovation that allows the process template to be readily customized for individual projects. Each project can run a separate version of a process, yet the metrics can be consolidated across all projects, regardless of process choice.

In all cases, MSF adopts the use of concrete and specific methods for requirements solicitation and capture through the use of Personas and Scenarios. Unlike other methods which use abstractions and encourage analysts to get abstract early, MSF encourages the use of concrete examples through the life cycle.

Concrete examples improve context throughout iterations and reduce the need for end-to-end traceability or for documentation explaining the meaning behind abstractions. MSF believes that concrete persona definitions and usage scenarios are more memorable for developers and testers. Concrete scenarios lead to better quality assurance than the use of abstractions, which often hide the true goals of the user from the developer or tester.

© 2006 Microsoft Corporation. All rights reserved.

Version 4.1.0