470 likes | 1.61k Views
Raf a l L ukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd. Microsoft Solutions Framework – MSF v4.
E N D
Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd Microsoft Solutions Framework – MSF v4 This presentation is based on work by Microsoft TechNet, MSDN and various Microsoft authors including, with special thanks: Ramprabhu Rathnam, Tony Northrup, and Austin Wilson
Objectives • Convince you that non-technical reasons impact project success a lot • Show you an approach to product management that has proven to be very successful • Explain the recent developments
Agenda • Introduction to Frameworks • Components of MSF v3 and v4 • Future
MSF • Microsoft Solutions Framework • Established in 1991, made public in 1993 (v1), fully revised in 1998 (v2), January 2003 (v3) and now in March 2006 (v4) • Product development framework for creating software and infrastructure deployment • Related to MOF, Microsoft Operational Framework • Which concentrates on the management of IT infrastructure
IT Lifecycle Microsoft Solutions Framework Plan Operate Build Deploy Microsoft Operations Framework
Does it Work? • Yes, as long as you chose the right bits of MSF for your project • High-profile projects that used MSF • www.nasdaq.com and www.marriott.com (Aris Corp, now Ciber, www.ciber.co.uk) • UK Government Gateway (eGov) • Visual Studio, Windows 2003, Windows XP
What’s a Framework? • Unlike a methodology, a framework is a set of conceptual tools and best practices • However, in many ways MSF v4 is closer to a methodology than v3
Root Causes of Failure • Separation of goal and function • Separation of business and technology • Lack of common language and process • Failure to communicate and act as a team • Processes that are inflexible to change • Solution? • A good and tested framework! “When projects fail, it’s rarely technical.” Jim Johnson, The Standish Group Average cost overrun: 45% Time overrun: 63% Functionality delivered on average: 67% Standish Group
Status • MSF v3 is fully released and available • Study course MOC #1846 • MSF v4 for Application Development (both Agile and CMMI) have just shipped on 29 March 2006 • Download guidance from www.microsoft.com/msf • MSF v4 for Infrastructure Deployment and other “flavours” (Solutions, Consulting, etc.) are under development at present • This is news! Good news.
Agility • Agility of the development process is the key to being able to cope with inevitable changes (spec, environment, business) or planning errors • The price of it is a certain unpredictability of the process • Finish date, final cost, feature set… • Generally, agility is great for small and medium projects in existing and tested dev environments
CMMI • Capability-Maturity Model Integration describes 5 (or 6) levels of process-based predictability of an organisation (or department) in terms of their ability to produce quality software • Level 5 is best. Most companies are 0 or 1. MSF v4 can help you work at level 3 or more. • Moving towards higher levels is done by adopting highly predictable (but not so agile) processes • Great for larger or more formal projects, especially in more critical environments • By the way, MSF and CMMI are not strangers: KPMG published a paper on how MSF v1 could help you with CMM already in 1995!
Observation • MSF v3 seems more “formal” than MSF for Agile Software Development • We lose some of the structure and modelling from v3 and replace them with a more integrated agile process • MSF v3 seems less “formal” than MSF for CMMI Process Improvement • Structures from v3 are becoming more process-improvement oriented
What About Extreme Programming? • Extreme Programming (XP), which was created after MSF, has similarities • Similarities regarding the Zero Defect Mindset and Daily Builds • XP is less predictable than necessary for more formal projects • But great for very agile projects • MSF for Agile Software Development seems more predictable, controllable and even more agile than XP • MSF CMMI Process Improvement, naturally, is less agile than XP, but seems the most predictable
Feature & Function Teams Technique Example: Scaling the Team Model
Designing Software within MSF • UML (Unified Modelling Language) has a great tradition, though we may need to evolve towards a service-oriented approach • UML2? Perhaps, but it’s possible to be more direct in design. • Domain Specific Languages! • Great conceptual integration both with MSF and with the tools (VSTS) • Further, possible, integration with SDM and DSI
Project Management in v4 • One of the most powerful features of Visual Studio Team System is its automation of project management • Workstreams, Work Items, and Roles concepts • Uses Team Foundation Server • Relies on Microsoft Project-style planning documents
MSF Process Model v3 DeploymentComplete Release ReadinessApproved Vision/Scope Approved MSF Project Plans Approved Scope Complete
Deploy Envision Release 1 Stabilize Plan Build
Process Modelling in v4 • MSF v4 introduces a new model of Governance and Enactment which replace the traditional process model • This caters for different types of processes, which are now defined at the level of methodology, rather than the framework • This makes MSF v4 much more suited to work in teams both very small and very big, as opposed to what v3 could have ever catered for
Iterations • Achievement of a pre-determined level of quality • Based on planning of feature-sets • Mechanism to correct project plan deviations
Governance • Process mapped onto specific iterations
Cycles • The foundation of every day’s co-ordinated work of the team
Daily (Nightly) Build Building the product in a deployable form on a daily basis • A daily build is • A strong indicator that a team is functional • Guarantee against component integration problems • A way to make the product and its progress visible • The heartbeat of the development process • A key function of VSTF (see later)
Quality CriteriaKnowing When You Can Ship • MSF v4 defines: • Minimum Acceptance Level (Scenarios) • Relates to “Core Functionality Set” • Test Thresholds • Code Coverage for Unit Tests • Other, context-driven (bugs per developer) • VSTS manages tracking and reporting of these quality criteria during all phases of the project
Work Items • Activities and Workstreams manage the concept of a work item, which describes an assignable, individual piece of effort that needs to be done: • Bug • Quality of Service Requirement • Scenario • Risk (not yet in the beta of VSTS, but soon) • Task
Team System • Ingenious: tool that implements MSF! • As soon as you create a new project in VSTS you get to chose which version of MSF v4 you want to use! • VS 2005 TS manages the flow of work items between team members, as well as overlooks their progress • Individual versions for • Developer • Architect • Tester • Reporting and management tools for project manager and other team members • Includes Outlook, Excel and Project Support
MSF and Software Development • Without a doubt, the emphasis of MSF v4 is on software development • The MSF team is now firmly a part of the Visual Studio group within Microsoft • Tying the framework to the tools (VSTS) was the masterstroke that gave MSF a very prosperous future • And vice-versa: the method adds value to the tools, beyond what any Microsoft competitor could offer today
MSF for Infrastructure Deployment • While initially there was a little confusion, it has now been confirmed that MSF v4 will cater for Infrastructure Deployment too • While the detail is being finalised, please consider using MSF v3 or MOF for purely infrastructure deployment oriented projects • Consider using the more flexible process approaches from v3 • Soft skills, whichever version, like all good ideas, age only like wine, anyway
Summary • Projects fail for non-technical reasons • A framework such as MSF fixes those problem • You don’t have to use all of MSF at once • If you use some bits you increase your chance of succeeding • Visual Studio Team System is a marvellous implementation of MSF principles
Resources • www.microsoft.com/msf • MSF for Agile Software Development: • lab.msdn.microsoft.com/teamsystem/workshop/msfagile/default.aspx • MSF for CMMI Process Improvement: • lab.msdn.microsoft.com/teamsystem/workshop/msfcmmi/default.aspx • MSF v3: • msdn.microsoft.com/vstudio/enterprise/msf/ • MSF Forum: • forums.microsoft.com/msdn/ShowForum.aspx?ForumID=63 • MOF: • www.microsoft.com/mof