teŽavnost: 200 microsoft solutions framework – msf v4 rafal lukawiecki strategic consultant...

38
TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic 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

Upload: devyn-higgins

Post on 14-Dec-2015

223 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 2: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 3: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

33

Agenda

• Introduction to Frameworks• Components of MSF v3 and v4• Future

Page 4: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

44

Introduction:Why Projects Fail?

What are Frameworks?

Page 5: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 6: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

66

IT Lifecycle

Microsoft Operations Framework

Microsoft Solutions Framework

OperateD

eplo

y

BuildP

lan

Page 7: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 8: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 9: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 10: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

1010

Evolution from MSF v3 to v4

Page 11: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

1111

MSF Partner Council Who Advised v4

Page 12: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

1212

Evolution to MSF v4

Page 13: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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.

Page 14: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 15: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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!

Page 16: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 17: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 18: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

1818

Key Components of MSF

Page 19: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

1919

A Team of Peers (v4 Agile)

Page 20: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

2020

Scaling the Team Model

• Feature & Function Teams Technique

• Example:

Page 21: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 22: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 23: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

2323

MSF Process Model v3

Project Plans Approved

Scope Complete

Release ReadinessApproved

DeploymentComplete

Vision/Scope Approved

MSF

Page 24: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

2424

Envision

Plan

Build

Stabilize

Deploy

Release 1

MSFv4

Page 25: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 26: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 27: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

2828

Governance• Process mapped onto specific iterations

Page 28: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

2929

Cycles

• The foundation of every day’s co-ordinated work of the team

Page 29: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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)

Page 30: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 31: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 32: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 33: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 34: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

TEŽAVNOST: 200

3636

Future

Page 35: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 36: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 37: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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

Page 38: TEŽAVNOST: 200 Microsoft Solutions Framework – MSF v4 Rafal Lukawiecki Strategic Consultant rafal@projectbotticelli.co.uk Project Botticelli Ltd This presentation

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