teŽavnost: 200 microsoft solutions framework – msf v4 rafal lukawiecki strategic consultant...
TRANSCRIPT
TEŽAVNOST: 200
Microsoft Solutions Framework – MSF v4
Rafal LukawieckiStrategic Consultant
[email protected] Project Botticelli Ltd
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
TEŽAVNOST: 200
22
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
TEŽAVNOST: 200
33
Agenda
• Introduction to Frameworks• Components of MSF v3 and v4• Future
TEŽAVNOST: 200
44
Introduction:Why Projects Fail?
What are Frameworks?
TEŽAVNOST: 200
55
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
TEŽAVNOST: 200
66
IT Lifecycle
Microsoft Operations Framework
Microsoft Solutions Framework
OperateD
eplo
y
BuildP
lan
TEŽAVNOST: 200
77
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
TEŽAVNOST: 200
88
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
TEŽAVNOST: 200
99
“When projects fail, it’s rarely technical.”
Jim Johnson, The Standish Group
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!
Average cost overrun: 45%Time overrun: 63%Functionality delivered on average: 67%
Standish Group
TEŽAVNOST: 200
1010
Evolution from MSF v3 to v4
TEŽAVNOST: 200
1111
MSF Partner Council Who Advised v4
TEŽAVNOST: 200
1212
Evolution to MSF v4
TEŽAVNOST: 200
1313
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.
TEŽAVNOST: 200
1414
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
TEŽAVNOST: 200
1515
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!
TEŽAVNOST: 200
1616
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
TEŽAVNOST: 200
1717
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
TEŽAVNOST: 200
1818
Key Components of MSF
TEŽAVNOST: 200
1919
A Team of Peers (v4 Agile)
TEŽAVNOST: 200
2020
Scaling the Team Model
• Feature & Function Teams Technique
• Example:
TEŽAVNOST: 200
2121
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
TEŽAVNOST: 200
2222
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
TEŽAVNOST: 200
2323
MSF Process Model v3
Project Plans Approved
Scope Complete
Release ReadinessApproved
DeploymentComplete
Vision/Scope Approved
MSF
TEŽAVNOST: 200
2424
Envision
Plan
Build
Stabilize
Deploy
Release 1
MSFv4
TEŽAVNOST: 200
2525
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
TEŽAVNOST: 200
2727
Iterations
• Achievement of a pre-determined level of quality• Based on planning of feature-sets• Mechanism to correct project plan deviations
TEŽAVNOST: 200
2828
Governance• Process mapped onto specific iterations
TEŽAVNOST: 200
2929
Cycles
• The foundation of every day’s co-ordinated work of the team
TEŽAVNOST: 200
3030
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)
TEŽAVNOST: 200
3232
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
TEŽAVNOST: 200
3333
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
TEŽAVNOST: 200
3434
ProcessModule
Phase
Iteration
Activity
parentwork1..*
subwork1..*
Role
work
1..*
performer
1
Step
parentwork1
subwork1..*
WorkProduct
ResponsibilityKind
1..* work_product_responsibility
1..* responsibleRole0..*
output1..*
1..*
input0..*
ProjectTask
1
0..*
WorkItem
StateMachine
lifeCycle 1
*
WorkProductItem
WorkActivityItem
«enacts»
Assignment
1 0..*
0..1
0..1
1
0..*
«enacts»0..1
«enacts»
0..1
«enacts»
0..1
Guidance
Discipline
SecurityGroup
«enacts»
Artifact
«enacts»
SourceArtifact
PortalArtifact
ReferencedArtifact
PatternsCookbook
«enacts»
ProcessHelp
«enacts»
ActivityInclusion
Constraint
constrainedElement
State
WorkProductInState
Process Model
TEŽAVNOST: 200
3535
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
TEŽAVNOST: 200
3636
Future
TEŽAVNOST: 200
3737
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
TEŽAVNOST: 200
3838
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
TEŽAVNOST: 200
3939
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
TEŽAVNOST: 200
4040
Resources• www.microsoft.com/msf
• MSF for Agile Software Development:– lab.msdn.microsoft.com/teamsystem/workshop/msfagile/defaul
t.aspx
• MSF for CMMI Process Improvement:– lab.msdn.microsoft.com/teamsystem/workshop/msfcmmi/defau
lt.aspx• MSF v3:
– msdn.microsoft.com/vstudio/enterprise/msf/• MSF Forum:
– forums.microsoft.com/msdn/ShowForum.aspx?ForumID=63• MOF:
– www.microsoft.com/mof