2MSF Microsoft Solutions Framework Established in 1991, last major revisions in 1998 and January 2003 (v3) .Related to MOF, Microsoft Operational Framework [1,2,3]Which concentrates on the management of IT infrastructure [1,2,3]
3Lifecycle of IT Microsoft Solutions Framework Plan Operate Build DeployMicrosoft Operations Framework
4MSFMSF offers guidance in how to organize people and projects to plan, build, and deploy technology solutions successfully and effectively [1,3].Microsoft Solutions Framework (MSF) is an integrated system of process guidance that embraces both agile and formal methodologies and provides a framework to implement a customized solution for a wide variety of projects 
5Does it Work?Yes, as long as you chose the right bits of MSF for your project High-profile projects that used MSF and (Aris Corp, now Ciber, UK Government Gateway Visual Studio, Windows 2003, Windows XP 
6Is It For Everyone? Some parts of MSF will work for every project, but in general, most of MSF works for larger projectsHow small is large enough?3-12 months (best of all 4-6) and with a team of at least 3 (best of all 7-11)
7MSF Foundational Principles Work toward a shared vision .Focus on business values .Stay agile, expect change .Empower Team member .Foster open communication .Establish a clear accountability, Shared responsibility .
8Key Concepts and Proven Practices Team of peers.Customer focus mindset.Product mindset.Zero-defect mindset.Willingness to learn.Proven Practices .Use small, interdisciplinary teams.Enable teams to work together at a single site.Create a solution design through total team participation.
9MSF Process Templates  MSF for Agile Software DevelopmentIt makes iterative software development enterprise ready by providing features likerisk managementrelease managementdesign for operations.MSF for CMMI Process ImprovementIt provides rich connections to the CMMI process to help organizations quickly implement mature software development practices.In this presentation, I’ll discuss the 1st template.1____________________________________________________1: CMMI: Capability Maturity Model® Integration (CMMI®) , for more information click here. 
10Key MSF Components  Models Disciplines Team Model Process Model Risk Management DisciplineProcess ModelTeam ModelProject Management DisciplineReadiness Management DisciplineModelsDisciplines
121.Team Model – Team of Peers Delivering the solution within project constraintsSatisfied customersEnhanced user effectivenessSmooth deployment and ongoing operationsApproval for release only after all quality issues are identified and addressedBuilding to specificationDevelopmentTestRelease ManagementUser ExperienceProduct ManagementProgram ManagementCommunication[1,5]
131. Team Model- Scaling The Model You can combine some roles to teams as small as 3 people .Do not combine some (like Product and Program Manager, or anything with Developer) .You can scale it to 10, 100s and 1000s by using two methods:Functional Teams (many people for one role)[1,5]Feature Teams (sub-teams for each feature) [1,5]
15MSF 2. MSF Process Model Deployment Complete Release Readiness ApprovedVision/Scope ApprovedMSFMilestone :Used to plan and monitor project progress and schedule major deliverablesScope CompleteProject Plans Approved[1,5]
162.MSF is an Iterative process Force closure on project issuesSet clear and motivational goals with all team membersManage the uncertainty and change in project scopeEncourage continuous and incremental feature deliveryEnable shorter time to marketTimeFunctionalityVersion 1Version 2Version 3[1,5,6]
18MSF Envision phase  Envision Deliverables Goals Vision/scope document [ Example , Template  ]Project structure document [template  ]Initial risk assessment document [ example , Template , Risk Assessment Tool ]Core Team OrganizedEnvisionVision/Scope BaselinedVision/Scope ApprovedGoalsDevelop a clear understanding of what is needed within context of project constraintsAssemble necessary team to envisage solution with options and approaches that best meet those needs while optimally satisfying those constraints
19MSF Plan Phase  Deliverables Plan Goal Functional specifications [Template  ]Master project plan [Template  ]Master project scheduleTechnology Validation CompleteFunctional Specification BaselinedPlanMaster Project Plan BaselinedMaster Project Schedule BaselinedSupporting Environments Set UpProject Plans ApprovedGoalEvolve conceptual solution into tangible designs and plans so it can be build in the developing trackFind out as much information as possible, as early as possibleKnow when you have enough information to move forward
20Plan phase-Design Process Overview  Logical DesignConceptual DesignScenariosPhysical DesignComponents,User Interface, and Physical DatabaseObjects and Services,User Interface, and Logical Database[conceptual Design Template] [ user scenarios template andexample] [ logic design template] [ physical Design Template] 
22MSF Developing Phase  DeliverablesCompleted SolutionTraining materialsDocumentationMarketing materialsUpdated master plan, schedule and risk documentScope CompleteProof of Concept CompleteBuildInternal Release 1Internal Release 2Internal Release nGoalBuild various aspects of the solution in accordance with plan track deliverables (e.g., designs, plans, requirements)Develop solution features and components, complete deliverables and other elements of the solutionTest the various aspects of the solution to assess the state of quality of the solutionThe Build track, formerly the “Develop” phase, is conceptually the same.However it now more explicitly includes activities that occur outside of the “developer” role. Such as marketing, training, etc.
23MSF Stabilize phase  Deliverables Goals Pilot review Release Readiness ApprovedDeliverablesPilot reviewRelease-ready versions of solution and accompanying collateralTesting and bug reportsProject documentsRelease Candidate nPilot CompleteUser Acceptance Testing CompleteRelease Candidate 1Pre-Production Testing CompleteSystem Testing CompleteStabilizenth Functional Testing Pass CompleteIssue Log ClearedUser Interface StabilizedIssue ConvergenceGoalsImprove solution quality to meet release criteria for deployment to productionValidate solution meets stakeholder needs and expectationsValidate solution usability from a user perspectiveMaximize success and minimize risks associated with solution deployment and operations in its target environment(s)1st Functional Testing Pass CompleteThe Stabilize track moves away from a focus on “test” and more towards a focus on “convergence”.As one program manager at Microsoft likes to say, “Software doesn’t release… it escapes!”Stabilization strives to create the conditions which allow the solution to escape into production.
24MSF Deploy Phase  Deliverables Deploy Goals Operations and support information systemsRevised processes and proceduresRepository of all solution collateralDeployment StabilizedSite Deployments CompleteDeployment CompleteCore Solution Components DeployedDeployGoalsPlace solution into production at designated environment(s)Facilitate smooth transfer of solution from project team to operations team as soon as possibleThe Deployment track, added in MSF 3.0, is conceptually the same.
25Daily Build Building the product in an executable form on a daily basisA public daily build isA strong indicator that a team is functionalA way to make the product and its progress visibleThe heartbeat of the development process
26Tips for Daily Build Use source-code control system (such as Microsoft Visual Source Safe, Rational ClearCase etc.)Each developer works locally, i.e. all code and executables on every stationEvery day code is collected, built and published and every morning developers download the newest buildAutomate it all (batch files etc.)Developing them is an ongoing activity that will be complete when your first project completesUse Visual Studio.NET 2003 with MSDN Universal – there is new automation for daily build in it!
281. Project Management discipline  Project Management is the application of knowledge, skills, tools, and techniques to project activates to meet project requirements.Dose not equate to “being the boss”
292.Risk Management Discipline [1,4] Project RiskDistinguish risk form existing problemsDefine a risk management process for identifying, analyzing and addressing the riskIncrease the likelihood of success in the project By minimizing the potential of failure.
313. MSF Readiness Management  It address the need for team readiness that spans the entire project.It focus on the area of knowledge, skills, and the abilities required at individual and solution level.How to optimize team readiness?Measure proficiencies (self and skill assessment)Analyze gaps.Create learning plans.Execute learning plans
32XP vs. MSF  Extreme Programming (XP) came after MSF. Similarities regarding the Zero Defect Mindset and Daily BuildsBut they are different inXP doesn’t define a development cycle like MSF. That development cycle is replaced by a set of practices that reduce the development quantum’s, notably short releases and continuous integration.MSF as a traditional approach is geared to large teams performing long development cycles, XP is geared to small teams performing many short development iterations.
33XP vs. MSF – Testing MSF defines test both as a team role and as a set of tasks to implement during implementation. While XP refers test as code that verifies the correctness of implementation code. The team members have the responsibility of writing test code and implementation code.MSF includes on its development cycle a task for stabilizing. XP dispenses the need for such stage by continuously running tests.MSF does not define any testing tools, the test team is responsible for choosing and/or developing them. XP, uses Junit and Xunit.
34Visual Studio 2005 Team System  Recently announced by MicrosoftTeam development tools based on MSFMSF itself is about to be updated to support new development techniquesMSF “v 4”
35Team Collaboration Tools  List of things to do
36Team Collaboration Tools  List of things to doGuidance on what to do
37Team Collaboration Tools  List of things to doGuidance on what to doStatus reports
38Team Collaboration Tools List of things to doGuidance on what to doStatus reportsPlanningMS ProjectMS Excel
39Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsPlanningMS ProjectMS ExcelSource control
40Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsPlanningMS ProjectMS ExcelTeambuildsSource control
41Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsRulesPlanningMS ProjectMS ExcelTeambuildsSource control
42Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsRulesPlanningMS ProjectMS ExcelTeambuildsSource control
43Team Foundation  Facilitates team collaboration Work Item Management & progress monitoringBugsDevelopment TasksIssues…Source controlTeam Build & TestDocument managementSharePointGuidanceTeam Foundation Server43
44Using Metrics in Team System Through MSF, Team System uses metrics to measure the project progress [example]. 
45ConclusionMSF provides productive, integrated, and extensible process guidance and a flexible toolset for software development by presenting the right process to the right person at the right time. 
47CMMI Capability Maturity Model® Integration (CMMI®) is a process improvement approach that provides organizations with the essential elements of effective processes.It contains 22 process areas that describe the aspects of product development that are to be covered by organizational processes. They are :Causal Analysis and ResolutionConfiguration ManagementDecision Analysis and ResolutionIntegrated Project ManagementMeasurement and AnalysisOrganizational Innovation and DeploymentOrganizational Process DefinitionOrganizational Process FocusOrganizational Process PerformanceOrganizational Training Product IntegrationProject Monitoring and ControlCMMI Project PlanningProcess and ProductQuality AssuranceQuantitative Project ManagementRequirements DevelopmentRequirements ManagementRisk ManagementSupplier Agreement ManagementTechnical SolutionValidationVerificationBack To Previous Slide
48Risk Assessment Example  conditionConsequenceMitigationContingencyTriggerOwnerDevelopers will work on new technologyDeveloper time will be longer due to need for learningProvide technical training to developerReverse back to previous versionDeveloper have not passed related technology exam by project plan approvalBranda Diaz
49Risk Assessment Metrics  To analyze and prioritize risk, MSF uses “Risk Exposure” to measure the overall threat of the project as a result of the risk .Risk Exposure = Risk Probability × Risk ImpactWhereRisk Probability : The likelihood that the risk consequence will occur.Risk Impact : An estimate of the severity of effect if risk consequences occur.Back to previous slide
50Refrences: Rafal Lukawiecki, Microsoft Solutions Framework (MSF) v3 , download.microsoft.com/download/0/c/8/0c8cea70-f35d-4e13-87b8-47f81068c793/MSF%20v3.ppt Quent Herschelman, MSF 4.0 in 60-minutes, conferences.codegear.com/article/images/32205/32205_ _S.PPT Microsoft Training and certification , MSF Workbook. Granville Miller, The Microsoft Solutions Framework , Thomas Lee, MSF & MOF , download.microsoft.com/documents/uk/msdn/events/Team_System_and_Microsoft_Solutions_Framework_Part_1.ppt Rafal Lukawiecki , MSF core and its families, Luís Miguel Reis, Test engineering: Microsoft Solutions Framework vs Extreme Programming,http://en.wikipedia.org/wiki/Microsoft_Solutions_Framework#Foundational_Principles Alan Cameron Wills, Team System and Microsoft Solutions Framework,download.microsoft.com/documents/uk/msdn/events/Team_System_and_Microsoft_Solutions_Framework_Part_1.ppt Sam Guckenheimer, Team Foundation: Using Metrics to Manage and Troubleshoot Your Projects, download.microsoft.com/download/7/8/4/784fb86b-b95c-4b b5b9dd1/dev233_guckenheimer.ppt -