Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant

Transcription

Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant
Microsoft Solutions
Framework – MSF v4
Rafal Lukawiecki
Strategic Consultant
rafal@projectbotticelli.co.uk
Project Botticelli Ltd
This presentation is based on work by Microsoft TechNet, MSDN and various Microsoft authors including, with
TEŽAVNOST:
special200
thanks: Ramprabhu Rathnam, Tony Northrup, and Austin Wilson
2
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
3
Agenda
• Introduction to Frameworks
• Components of MSF v3 and v4
• Future
TEŽAVNOST: 200
4
Introduction:
Why Projects Fail?
What are Frameworks?
TEŽAVNOST: 200
5
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
6
IT Lifecycle
Microsoft Operations Framework
TEŽAVNOST: 200
Microsoft Solutions Framework
7
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
8
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
9
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!
TEŽAVNOST: 200
“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
10
Evolution from
MSF v3 to v4
TEŽAVNOST: 200
11
MSF Partner Council Who Advised v4
TEŽAVNOST: 200
12
Evolution to MSF v4
TEŽAVNOST: 200
13
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
14
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
15
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
16
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
17
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
18
Key Components
of MSF
TEŽAVNOST: 200
19
A Team of Peers (v4 Agile)
TEŽAVNOST: 200
20
Scaling the Team Model
• Feature &
Function
Teams
Technique
• Example:
TEŽAVNOST: 200
21
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
TEŽAVNOST: 200
DSI
22
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
23
MSF Process Model v3
Deployment
Complete
Release Readiness
Approved
Vision/Scope
Approved
MSF
TEŽAVNOST: 200
Scope
Complete
Project Plans
Approved
24
Deploy
MSFv4
Envision
Release 1
Stabilize
Plan
Build
TEŽAVNOST: 200
25
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
27
Iterations
• Achievement of a pre-determined level of
quality
• Based on planning of feature-sets
• Mechanism to correct project plan deviations
TEŽAVNOST: 200
28
Governance
• Process mapped onto specific iterations
TEŽAVNOST: 200
29
Cycles
• The foundation of every day’s co-ordinated
work of the team
TEŽAVNOST: 200
30
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
32
Quality Criteria
Knowing 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
33
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
34
Process
Model
«enacts»
PatternsCookbook
ProcessModule
1..*
parentwork
1..*
subwork
«enacts»
SecurityGroup
work
performer
0..*
Activity
0..1
Role
1..*
0..* 1..*
parentwork
0..1 1
1
1..*
1
responsibleRole
Discipline
«enacts»
Guidance
«enacts»
ResponsibilityKind
«enacts»
1..*
0..*
subwork
Step
1..*input work_product_responsibility
«enacts»
WorkProduct
ProcessHelp
output
Constraint
SourceArtifact
*
PortalArtifact
Iteration
Assignment
WorkActivityItem
1..*
Artifact
WorkProductInState
0..1«enacts»
lifeCycle
constrainedElement
0..*
StateMachine
ActivityInclusion
ProjectTask
0..1
Phase
1
State
«enacts»
0..1
WorkItem
WorkProductItem
TEŽAVNOST: 200
1
0..*
1
ReferencedArtifact
35
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
36
Future
TEŽAVNOST: 200
37
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
38
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
39
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
40
Resources
• www.microsoft.com/msf
• MSF for Agile Software Development:
– lab.msdn.microsoft.com/teamsystem/workshop/msfagile/defau
lt.aspx
• MSF for CMMI Process Improvement:
– lab.msdn.microsoft.com/teamsystem/workshop/msfcmmi/defa
ult.aspx
• MSF v3:
– msdn.microsoft.com/vstudio/enterprise/msf/
• MSF Forum:
– forums.microsoft.com/msdn/ShowForum.aspx?ForumID=63
• MOF:
– www.microsoft.com/mof
TEŽAVNOST: 200