1 Microsoft Solution Framework (MSF) Najwa Al-Ghamdi ID : 427220110 Najwa_alghamdi@yahoo.com 2 MSF Microsoft Solutions Framework Established in 1991, last major revisions in 1998 and January 2003 (v3) [1]. 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 Microsoft Operations Framework [1] 4 MSF MSF 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 [10] 5 Does it Work? Yes, as long as you chose the right bits of MSF for your project [1] High-profile projects that used MSF [1] www.nasdaq.com and www.marriott.com (Aris Corp, now Ciber, www.ciber.co.uk) [1] UK Government Gateway [1] Visual Studio, Windows 2003, Windows XP [1] 6 Is It For Everyone? [1] Some parts of MSF will work for every project, but in general, most of MSF works for larger projects How 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 [5]. Focus on business values [5]. Stay agile, expect change [5]. Empower Team member [5]. Foster open communication [5]. Establish a clear accountability, Shared responsibility [5]. 8 Key Concepts and Proven Practices Concepts [5]. Team of peers. Customer focus mindset. Product mindset. Zero-defect mindset. Willingness to learn. Proven Practices [5]. 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 [10] MSF for Agile Software Development It makes iterative software development enterprise ready by providing features like risk management release management design for operations. 1 MSF for CMMI Process Improvement It 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: CMMI: Capability Maturity Model® Integration (CMMI®) , for more information click here. [11] 10 Key MSF Components [1] Models Team Process Model Model Disciplines Project Management Discipline Risk Readiness Management Discipline Management Discipline 11 Key MSF Components Models 12 1.Team Model – Team of Peers Delivering the solution within project constraints Satisfied customers Program Management Product Management Building to specification Development Communication User Experience Enhanced user effectiveness Test Release Management Smooth deployment and ongoing operations Approval for release only after all quality issues are identified and addressed [1,5] 13 1. Team Model- Scaling The Model You can combine some roles to teams as small as 3 people [1]. Do not combine some (like Product and Program Manager, or anything with Developer) [1]. 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] 14 1. Team Model- Scaling The Model [1,3,5] 15 2. MSF Process Model Deployment Complete Release Readiness Approved Vision/Scope Approved MSF Milestone : Used to plan and monitor project progress and schedule major deliverables Scope Complete Project Plans Approved [1,5] 16 2.MSF is an Iterative process Version 3 Functionality Force closure on project issues Set clear and motivational goals with all team members Manage the uncertainty and change in project scope Encourage continuous and incremental feature delivery Enable shorter time to market Version 2 Version 1 Time [1,5,6] 17 Iterations [7] 18 MSF Envision phase [2] Deliverables Vision/scope document [ Example , Template [12] ] Project structure document [template [12] ] Initial risk assessment document [ example , Template , Risk Assessment Tool [12]] Core Team Organized Vision/Scope Baselined Vision/Scope Approved Goals Develop a clear understanding of what is needed within context of project constraints Assemble necessary team to envisage solution with options and approaches that best meet those needs while optimally satisfying those constraints 19 MSF Plan Phase [2] Deliverables Functional specifications [Template [12] ] Master project plan [Template [12] ] Master project schedule Technology Validation Complete Functional Specification Baselined Master Project Plan Baselined Master Project Schedule Baselined Supporting Environments Set Up Project Plans Approved Goal Evolve conceptual solution into tangible designs and plans so it can be build in the developing track Find out as much information as possible, as early as possible Know when you have enough information to move forward 20 Plan phase-Design Process Overview [5] Conceptual Design Scenarios Logical Design Objects and Services, User Interface, and Logical Database 1. 2. Physical Design Components, User Interface, and Physical Database [conceptual Design Template] [12] [ user scenarios template and example] [12] [ logic design template] [12] [ physical Design Template] [12] 21 Plan Phase -Relationship to Planning [5] Vision Approved Project Plan Approved Conceptual Design Logical Design Physical Design Conceptual Design Baseline Logical Design Baseline Physical Design Baseline 22 MSF Developing Phase [2] Deliverables Completed Solution Training materials Documentation Marketing materials Updated master plan, schedule and risk document Scope Complete Build Proof of Concept Complete Internal Release 1 Internal Release 2 Internal Release n Goal Build 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 solution Test the various aspects of the solution to assess the state of quality of the solution 23 MSF Stabilize phase [2] Deliverables Pilot review Release-ready versions of solution and accompanying collateral Testing and bug reports Project documents Goals Release Candidate n Pilot Complete User Acceptance Testing Complete Release Candidate 1 Pre-Production Testing Complete System Testing Complete nth Functional Testing Pass Complete Issue Log Cleared User Interface Stabilized Issue Convergence 1st Functional Testing Pass Complete Release Readiness Approved Stabilize Improve solution quality to meet release criteria for deployment to production Validate solution meets stakeholder needs and expectations Validate solution usability from a user perspective Maximize success and minimize risks associated with solution deployment and operations in its target environment(s) 24 MSF Deploy Phase [2] Deliverables Operations and support information systems Revised processes and procedures Repository of all solution collateral Deployment Stabilized Site Deployments Complete Core Solution Components Deployed Deployment Complete Goals Place solution into production at designated environment(s) Facilitate smooth transfer of solution from project team to operations team as soon as possible 25 Daily Build [2] Building the product in an executable form on a daily basis A public daily build is A strong indicator that a team is functional A way to make the product and its progress visible The heartbeat of the development process 26 Tips for Daily Build [2] 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 station Every day code is collected, built and published and every morning developers download the newest build Automate it all (batch files etc.) Developing them is an ongoing activity that will be complete when your first project completes Use Visual Studio.NET 2003 with MSDN Universal – there is new automation for daily build in it! 27 Key MSF Components Disciplines 28 1. Project Management discipline [4] 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 Risk Distinguish risk form existing problems Define a risk management process for identifying, analyzing and addressing the risk Increase the likelihood of success in the project By minimizing the potential of failure. 30 2.Risk Management Process [4] 31 3. MSF Readiness Management [4] 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 [6] Extreme Programming (XP) came after MSF. Similarities regarding the Zero Defect Mindset and Daily Builds But they are different in •XP 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 [7] 1. 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. 2. MSF includes on its development cycle a task for stabilizing. XP dispenses the need for such stage by continuously running tests. 3. 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 [8] Recently announced by Microsoft Team development tools based on MSF MSF itself is about to be updated to support new development techniques MSF “v 4” [10] 35 Team Tools [9] List ofCollaboration things to do 36 Team Tools [9] List ofCollaboration things to do Guidance on what to do 37 Team Tools [9] List ofCollaboration things to do Guidance on what to do Status reports 38 Team Tools[9] List ofCollaboration things to do Guidance on what to do Status reports Planning -MS Project -MS Excel 39 Team Tools [9] List ofCollaboration things to do Guidance on what to do Status reports Planning -MS Project -MS Excel Source control 40 Team Tools [9] List ofCollaboration things to do Guidance on what to do Status reports Planning -MS Project -MS Excel Team builds Source control 41 Team Tools [9] List ofCollaboration things to do Guidance on what to do Status reports Rules Planning -MS Project -MS Excel Team builds Source control 42 Team Tools [9] List ofCollaboration things to do Guidance on what to do Status reports Rules Planning -MS Project -MS Excel Team builds Source control 43 Team Foundation [9] Facilitates team collaboration Work Item Management & progress monitoring Bugs Development Tasks Issues … Team Foundation Server Source control Team Build & Test Document management SharePoint Guidance 44 Using Metrics in Team System Through MSF, Team System uses metrics to measure the project progress [example]. [13] 45 Conclusion MSF 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. [10] 46 Appendix CMMI Risk Assessment Example 47 CMMI [12] 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 : 1. 2. 3. 4. 5. 6. 7. 8. 9. Causal Analysis and Resolution Configuration Management Decision Analysis and Resolution Integrated Project Management Measurement and Analysis Organizational Innovation and Deployment Organizational Process Definition Organizational Process Focus Organizational Process Performance 10. Organizational Training Product Integration 11. Project Monitoring and Control 12. CMMI Project Planning 13. Process and Product 14. Quality Assurance 15. Quantitative Project Management 16. Requirements Development 17. Requirements Management 18. Risk Management 19. Supplier Agreement Management 20. Technical Solution 21. Validation Back To Previous 22. Verification Slide 48 Risk Assessment Example [3] condition Consequence Mitigation Contingency Trigger Owner Developers will work on new technology Developer time will be longer due to need for learning Provide technical training to developer Reverse back to previous version Developer have not passed related technology exam by project plan approval Branda Diaz 49 Risk Assessment Metrics [3] •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 Impact Where Risk 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 [1]: Rafal Lukawiecki, Microsoft Solutions Framework (MSF) v3 , download.microsoft.com/download/0/c/8/0c8cea70-f35d-4e13-87b847f81068c793/MSF%20v3.ppt [2] Quent Herschelman, MSF 4.0 in 60-minutes, conferences.codegear.com/article/images/32205/32205_08022027_S.PPT [3] Microsoft Training and certification , MSF Workbook. [4] Granville Miller, The Microsoft Solutions Framework , www.webdesignmagic.com.au/Assets/Presentation/WDM-MSF.ppt [5] Thomas Lee, MSF & MOF , download.microsoft.com/documents/uk/msdn/events/Team_System_and_Microsoft_Solutions_Framework_Part_1.ppt [6] Rafal Lukawiecki , MSF core and its families, http://www.00001001.ch/Download/TechDays_07/Zurich/Arch/A105_MS_Solutions_Framework_40.pdf [7] Luís Miguel Reis, Test engineering: Microsoft Solutions Framework vs Extreme Programming, http://berlin.inesc.pt/cadeiras/pfsi/PFSI2003/SEMINARIO/pdfs/testes-luis-reis.pdf [8]http://en.wikipedia.org/wiki/Microsoft_Solutions_Framework#Foundational_Principles [9] 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 [10] http://msdn2.microsoft.com/en-us/library/aa302179.aspx [11] http://en.wikipedia.org/wiki/Capability_Maturity_Model_Integration [12] http://www.microsoft.com/downloads/details.aspx?familyid=ea75784e-3a3f-48fb-824e-828bf593c34d&displaylang=en [13] Sam Guckenheimer, Team Foundation: Using Metrics to Manage and Troubleshoot Your Projects, download.microsoft.com/download/7/8/4/784fb86b-b95c-4b64-9609-49717b5b9dd1/dev233_guckenheimer.ppt -