Presentation on theme: "Microsoft Solution Framework (MSF)"— Presentation transcript:
1 Microsoft Solution Framework (MSF) Najwa Al-GhamdiID :
2 MSF 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]
3 Lifecycle of IT Microsoft Solutions Framework Plan Operate Build DeployMicrosoft Operations Framework
4 MSFMSF 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 
5 Does 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 
6 Is 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)
7 MSF 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 .
8 Key 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.
9 MSF 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. 
10 Key MSF Components  Models Disciplines Team Model Process Model Risk Management DisciplineProcess ModelTeam ModelProject Management DisciplineReadiness Management DisciplineModelsDisciplines
12 1.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]
13 1. 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]
15 MSF 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]
16 2.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]
18 MSF 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
19 MSF 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
20 Plan 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] 
21 Plan Phase -Relationship to Planning  VisionApprovedConceptual Design BaselineProject PlanApprovedConceptual DesignLogical Design BaselineLogical DesignPhysical Design BaselinePhysical Design
22 MSF 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.
23 MSF 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.
24 MSF 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.
25 Daily 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
26 Tips 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!
28 1. 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”
29 2.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.
31 3. 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
32 XP 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.
33 XP 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.
34 Visual 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”
35 Team Collaboration Tools  List of things to do
36 Team Collaboration Tools  List of things to doGuidance on what to do
37 Team Collaboration Tools  List of things to doGuidance on what to doStatus reports
38 Team Collaboration Tools List of things to doGuidance on what to doStatus reportsPlanningMS ProjectMS Excel
39 Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsPlanningMS ProjectMS ExcelSource control
40 Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsPlanningMS ProjectMS ExcelTeambuildsSource control
41 Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsRulesPlanningMS ProjectMS ExcelTeambuildsSource control
42 Team Collaboration Tools  List of things to doGuidance on what to doStatus reportsRulesPlanningMS ProjectMS ExcelTeambuildsSource control
43 Team Foundation  Facilitates team collaboration Work Item Management & progress monitoringBugsDevelopment TasksIssues…Source controlTeam Build & TestDocument managementSharePointGuidanceTeam Foundation Server43
44 Using Metrics in Team System Through MSF, Team System uses metrics to measure the project progress [example]. 
45 ConclusionMSF 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. 
47 CMMI 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
48 Risk 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
49 Risk 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
50 Refrences: 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 -