MSF: Microsoft Solutions FrameworkPast and present
Peter Williams, Microsoft Ltd.
Agenda
• A Brief History of MSF
• MSF Core
• MSF and Visual Studio Team system• MSF for Agile Software Development
• MSF for CMMI® Process Improvement
• Real World Experiences
A Brief History of MSF
1994 1995 1997 1999 2002 1994 1995 1997 1999 2002 2005-06 2005-06
MS
F O
fferi
ng
MS
F O
fferi
ng
MSF MSF v1v1
21 Rules21 Rules
‘‘DynamicsDynamics’’
SolutionsSolutionsDevDevDisciplineDiscipline(SDD)(SDD)
MSF v2MSF v2Principles of …Principles of …App Dev (PAD)App Dev (PAD)Infra Deploy (PID)Infra Deploy (PID)Ent Arch (PEA)Ent Arch (PEA)Comp Des (PCD)Comp Des (PCD)
MSF MSF v2.5v2.5
MSF v3MSF v3
EssentialsEssentials+ Exam+ Exam
CoreCoreAgileAgileCMMICMMI……
MSF v4MSF v4
MSF Core: What It’s Not
• MSF Core is not a methodology• It’s a framework
• It requires instantiation for the specific solution domain
• Not a magic sauce
• Not specific to software development• Although Visual Studio Team System provides two
instantiations which are specific to software development• MSF for Agile Software Development
• MSF for CMMI® Process Improvement
MSF Core
• A collection of best practices gathered from the product groups and the field
• Key elements• Mindsets (key concepts)
• Foundational Principles
• Models
• Disciplines
• Proven practices
• Recommendations
MSF Core Mindsets
• Team of Peers
• Quality is everyone’s business every day
• Pride of workmanship
• Deliver on your commitments
• Focus on business value
• Solution mindset
• Design for qualities of service
• Trusting mindset
• Continual learning mindset
• Reuse and extend
MSF Core Foundational Principles
• Foster open communications
• Work towards a shared vision
• Empower team members
• Establish clear accountability and shared responsibility
• Incremental delivery of value
• Stay agile, expect and adapt to change
• Invest in quality
• Learn from all experiences
• Partner with customers
• Early and frequent deployments
• Design early with specific examples
MSF Core Models
• Team model• Based on advocacy creating natural checks and balances
• Governance & Enactment (Process) model• Appropriate level of governance
• Iterative, versioned releases, etc.
• Risk management model• Proactive risk management
MSF Core Team Model
Solution Construction / Verification
Solution Delivery
Solution Definition
Solution Usability and User readiness
Solution Deployment
Solution Validation
DevelopmentDevelopment
TestTest
Release Management
Release Management
UserExperience
UserExperience
ProductManagement
ProductManagement
Program Management
Program Management
Solution Design
ArchitectureArchitecture
AdvocacyGroups
Natural Checks and balances
MSF Core Advocacy
Operations
Technology Focus
Business FocusUsers
Solutions Architects
Customer
Technology Architects
Operations Support
Project Team
UserExperience
Development
Test
Release / Operations
ProductManagement
Architecture
ProgramManagement
Project Sponsor
Scaling Down: Combining Advocacy Groups
Product Management
Program Management
Architecture Development Test User Experience
Release / Operations
Product Management
N N N P P U
Program Management
N P N U U U
Architecture N P P U U U
Development N N P N N N
Test P U U N P P
User Experience
P U U N P U
Release / Operations
U U U N P U
Possible Unlikely Not recommended
Scaling Up: Feature Teams
Catalog
ProgramManagement
ProgramManagement
DevelopmentDevelopment
TestTestUserExperience
UserExperience
Fulfillment
Program Management
Program Management
DevelopmentDevelopment
TestTest
ReleaseManagement
ReleaseManagement
Site Engine & Design
ProgramManagement
ProgramManagement
UserExperience
UserExperience
DevelopmentDevelopment
TestTest
UserExperience
MSF Version 4 Governance & Enactment Model
• Enactment Tracks• Envision
• Plan
• Build
• Stabilise
• Deploy
• Governance Track• Checkpoint-based
EnvisionEnvision
PlanPlanBuildBuild
StabiliseStabilise
DeploDeployy
Governance
Enactment
Governance Examples
• MSF for Agile Software Development implements a very lightweight governance model
Governance Examples
• MSF for CMMI® Process Improvement implements a more rigorous governance model
MSF Core Risk Management Model
• Proactive Management• Identify
• Analyse and Prioritise
• Plan and Schedule
• Track and Report Status
• Control Risks
• Learn from Risks
MSF and Visual Studio Team System
Visual Studio Visual Studio 2005 Team 2005 Team
SystemSystem
enactsenacts
guidesguides
Microsoft Microsoft Solutions Solutions
FrameworkFramework
Enacting MSF
MSFv4 ‘Core’MSFv4 ‘Core’ DisciplineDiscipline
InfrastructureInfrastructure
MSF for Agile Software MSF for Agile Software DevelopmentDevelopment
MSF for CMMIMSF for CMMI®® Process Process ImprovementImprovement
ProductProduct
Application Application DevelopmentDevelopment FamilyFamily
Enacting MSF
MSF v4MSF v4
MSF v3MSF v3
InfrastructureInfrastructure
CMMICMMI
AgileAgile
Real World Usage
• Globally within Microsoft• Used by Microsoft Services since 1994
• Used by Microsoft Internal operations
• Based on product group principles and best practices
• Closer to home within Microsoft• Used by the UK Solution Development Group to deliver
large-scale enterprise solutions
• Use by other external organisations
UK Enterprise Solutions built with MSF
Tax Credits Online
NBP
digital curriculum
Personal Experiences
• Core principles and approach very similar to the product group approach. Some differences due to the nature of solution development.
• A very good success rate on very challenging projects.
Favourite aspects of MSF
• Team model• Common goal
• Two-way advocacy not just ‘gathering’ requirements
• Platform for trade offs
• All disciplines represented from the start
• All disciplines participate in the design
• Small multi-disciplinary teams
• Co-location
• Motivational
Favourite aspects of MSF
• Envisioning track• Forming a vision
• Opening up possibilities never before imagined
• User experience as a first-class citizen• An area often neglected in other approaches
• Base line early and freeze late• Expecting change
• Iterative development• Rehearsal for go-live
Favourite Aspects of MSF
• Ship every day• Build is not enough
• A team exercise
• Build hand-off
• Repeatable platform builds
• Triage• One representative per discipline
• ‘Quaker’ consensus
Questions?