there are 10 kinds of people in the world.nyspin.org/xpstory.pdfØin the continuous representation,...

64
There are 10 kinds of people in the world. There are 10 kinds of people in the world. Those who think in binary, and those who don’t. Those who think in binary, and those who don’t.

Upload: others

Post on 04-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

There are 10 kinds of people in the world.

There are 10 kinds of people in the world.

Those who think in binary,and those who don’t.

Those who think in binary,and those who don’t.

Page 2: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 2

[email protected]@jpmchase.com

Extreme Programming (XP)Six Sigma

CMMI

Extreme Programming (XP)Six Sigma

CMMI

How they can work together –A JPMorgan Chase case studyHow they can work together –A JPMorgan Chase case study

Page 3: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 3

DisclaimerDisclaimer

Any statements made do not necessarily represent the views or

opinions of JPMorgan Chase.

Any statements made do not necessarily represent the views or

opinions of JPMorgan Chase.

Page 4: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 4

TopicsTopics

Background

OverviewØ Six Sigma

Ø Extreme Programming

Ø CMMI

Case StudyØ Six Sigma Findings

Ø XP Implementation

Ø Results

Ø CMMI Plans

Summary

Q&A

Background

OverviewØ Six Sigma

Ø Extreme Programming

Ø CMMI

Case StudyØ Six Sigma Findings

Ø XP Implementation

Ø Results

Ø CMMI Plans

Summary

Q&A

Page 5: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

BackgroundBackground

Who Are We?

Why Did We Try XP?

Who Are We?

Why Did We Try XP?

Page 6: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 6

Who Are We?Who Are We?

JPMorgan Chase

Chase FinancialServices Investment BankInvestment Mgmt

& Private BankTreasury &

Security Services JPM Partners

Chase RegionalBank

Chase HomeFinance

Chase AutoFinance

Chase MiddleMarket

Credit CardServices

(Business Units only)

Page 7: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 7

Why Did We Try XP?Why Did We Try XP?

Typical EnvironmentØProject estimate accuracy

ØBusiness – Technology working relationship

ØDefect levels

ØOvertime

Improvement DesiredØBetter

ØCheaper

Ø Faster

ØWork – Life Balance

Typical EnvironmentØProject estimate accuracy

ØBusiness – Technology working relationship

ØDefect levels

ØOvertime

Improvement DesiredØBetter

ØCheaper

Ø Faster

ØWork – Life Balance

Page 8: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

OverviewOverview

Six Sigma

Extreme Programming

CMMI

Six Sigma

Extreme Programming

CMMI

Page 9: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

Six SigmaSix Sigma

A Very Brief OverviewA Very Brief Overview

Page 10: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 10

Publicly traded companies that strategically highlight quality (Six Sigma / Baldridge Quality award winning companies) outperformed the S&P 500 by 4.8 to 1.1

1. American Society for Quality, Quality Progress, April 2000.

Who’s Using Six Sigma?Who’s Using Six Sigma?

$5 Billion in 2000

Average of $600MM/year since 1995

$3 Billion in savings since 1995

$1.5 Billion in 1999

$85MM early 2000

$2.5 Billion in 1999

$1.16 Billion (¥130 B) in 2000/2001

$1.45 Billion since 1998

Numbers through 2001

Page 11: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 11

What is Six Sigma (at JPMC)?What is Six Sigma (at JPMC)?

It’s our approach to managing our businessØ Focus on clients, facts, measurement

It’s a process improvement methodologyØ Improve existing processes

ØBuild new processes

It’s a calculationØAllows us to measure quality consistently

It’s our approach to managing our businessØ Focus on clients, facts, measurement

It’s a process improvement methodologyØ Improve existing processes

ØBuild new processes

It’s a calculationØAllows us to measure quality consistently

Page 12: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 12

Key DriversKey Drivers

Voice of the Customer (VOC)ØCritical to Quality (CTQs)

ØCTQ Measures

ØVoice of the …v Businessv Employee

Statistical ToolsØAnalyze current state

ØVerify results

TollgatesØAt every phase

Voice of the Customer (VOC)ØCritical to Quality (CTQs)

ØCTQ Measures

ØVoice of the …v Businessv Employee

Statistical ToolsØAnalyze current state

ØVerify results

TollgatesØAt every phase

Page 13: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 13

Client-driven, consistent,

metrics focused, results oriented

Improve

Control

Define

Implement Analyze

A DMAIIC OverviewA DMAIIC Overview

•What are we trying to achieve?•Who are the people to involve? •Who has the knowledge required?

•Who are the clients?•What are the current processes?

•How are we currently performing for our clients?

•How are we currently performing for our shareholders / employees?

•Where are the problems with our current performance?

•What are the root causes?•What are some quick hits for immediate improvement?

•What should we change to make improvements?

•How will we achieve this?•Who’s ‘buy-in’ do we need?•What should the controls be ?

•Is implementation on track?

•Are the controls in place?

•Are the improvements being sustained?•Are we continually measuring our performance against client expectations?

•Did we capture the learnings from this project?

Measure

Page 14: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 14

DMAIIC and DFSSDMAIIC and DFSS

r Defect Preventionr Optimizing a design across

multiple CTQsr Process or Product Focusr Vehicle to enhance speed

to marketr Flexible approach to

answering business requirements

*Checkpoint:Current process is not capable of providing more

DMAIIC: Process ImprovementMost projects begin as DMAIICr Defect Reduction or

Eliminationr Few key CTQs that drive

performancer Project focus

Project Launch

Checkpoint

Design for Six Sigma (DFSS): Process / Service Design

SelectAssess Design ControlDefine Implement

*Checkpoint:A process/

servicedoes not exist

AnalyzeMeasure Improve ControlDefine Implement

*Checkpoint:Improvement requires a newprocess/service

DMAIIC projects may turn into DFSS projects.If DMAIIC can be used, it should be the first choice.

Page 15: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

Extreme ProgrammingExtreme Programming

Page 16: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 16

XP ContextXP Context

What is Agile?ØAn adaptive approach to solving business problems that

focuses on communication, collaboration, delivery and change.

Ø “Outside the room.”

What is Extreme Programming?ØOne of several agile methods.

ØAn innovative, deliberate and disciplined approach to software development.

ØDevelopers, QA and Business in the same room (where applicable)

Ø “Inside the room.”

What is Agile?ØAn adaptive approach to solving business problems that

focuses on communication, collaboration, delivery and change.

Ø “Outside the room.”

What is Extreme Programming?ØOne of several agile methods.

ØAn innovative, deliberate and disciplined approach to software development.

ØDevelopers, QA and Business in the same room (where applicable)

Ø “Inside the room.”

Page 17: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 17

The Agile ManifestoThe Agile Manifesto

We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come to

value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

We are uncovering better ways of developing software by doing itand helping others do it. Through this work we have come to

value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Page 18: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 18

Why “Extreme”?Why “Extreme”?

XP is a highly disciplined approach to software development that places quality at its core, and takes quality practices to the “extreme”:Ø Testingè Failed unit tests = entry criteria for codingè Unit tests = 100%

ØPeer reviewsè Pair programming

ØCustomer involvementè On-site, dailyè Customer-driven iteration content

XP is a highly disciplined approach to software development that places quality at its core, and takes quality practices to the “extreme”:Ø Testingè Failed unit tests = entry criteria for codingè Unit tests = 100%

ØPeer reviewsè Pair programming

ØCustomer involvementè On-site, dailyè Customer-driven iteration content

Page 19: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 19

XP – Basic PrinciplesXP – Basic Principles

ØRapid feedback

ØAssume simplicity

Ø Incremental change

ØEmbracing change

ØQuality work

ØRapid feedback

ØAssume simplicity

Ø Incremental change

ØEmbracing change

ØQuality work

Page 20: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 20

Simple RulesSimple Rules

“Simple, clear purpose and principles give rise to complex,

intelligent behavior.”

“Complex rules and regulations give rise to simple, stupid behavior.”

Dee HockFounder and CEO emeritus, Visa International

“Simple, clear purpose and principles give rise to complex,

intelligent behavior.”

“Complex rules and regulations give rise to simple, stupid behavior.”

Dee HockFounder and CEO emeritus, Visa International

Page 21: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

CMMICMMI

Page 22: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 22

Why CMMI?Why CMMI?

SituationØOverlap among existing CMMsv Enterprise Process Improvement Collaboration (EPIC) Software

Engineering CMM (SE-CMM)v International Council on Systems Engineering (INCOSE) Systems

Engineering Capability Assessment Model (SECAM)v Software Acquisition CMMv People CMMv Integrated Product Development CMM

ØSW-CMM Version 2.0 near completion

SituationØOverlap among existing CMMsv Enterprise Process Improvement Collaboration (EPIC) Software

Engineering CMM (SE-CMM)v International Council on Systems Engineering (INCOSE) Systems

Engineering Capability Assessment Model (SECAM)v Software Acquisition CMMv People CMMv Integrated Product Development CMM

ØSW-CMM Version 2.0 near completion

Page 23: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 23

Why CMMI?Why CMMI?

DecisionØOffice of Secretary of Defense (OSD) directed CMMI

project as a collaborative industry, government and SEI effort.v Cancel SW-CMM v2.0, and make it the software version of the

CMMI product suite.

DecisionØOffice of Secretary of Defense (OSD) directed CMMI

project as a collaborative industry, government and SEI effort.v Cancel SW-CMM v2.0, and make it the software version of the

CMMI product suite.

Page 24: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 24

CMMI ModelsCMMI Models

Currently there are four bodies of knowledge available when selecting a CMMI model:ØSoftware Engineering (SW) covers the development of

software systems.ØSystems Engineering (SE) covers the development of

total systems, which may or may not include software. Ø Integrated Product and Process Development (IPPD)

is a systematic approach that achieves a timely collaboration of relevant stakeholders throughout the life of the product to better satisfy customer needs, expectations, and requirements.

ØSupplier Sourcing (SS) provides guidance to allow projects to benefit from enhanced source analysis and from monitoring supplier activities before product delivery.

Currently there are four bodies of knowledge available when selecting a CMMI model:ØSoftware Engineering (SW) covers the development of

software systems.ØSystems Engineering (SE) covers the development of

total systems, which may or may not include software. Ø Integrated Product and Process Development (IPPD)

is a systematic approach that achieves a timely collaboration of relevant stakeholders throughout the life of the product to better satisfy customer needs, expectations, and requirements.

ØSupplier Sourcing (SS) provides guidance to allow projects to benefit from enhanced source analysis and from monitoring supplier activities before product delivery.

Page 25: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 25

CMMI - Staged RepresentationCMMI - Staged Representation

to Perform

Maturity Levels

Generic Practices

Generic Goals

Process Area 2

Common Features

Process Area 1 Process Area n

AbilityImplementation

Verifyingto Perform

Commitment DirectingImplementation

Specific Goals

Implementation

Specific Practices

to Perform

Maturity Levels

Generic Practices

Generic Goals

Process Area 2

Common Features

Process Area 1 Process Area n

AbilityImplementation

Verifyingto Perform

Commitment DirectingImplementation

Specific Goals

Implementation

Specific Practices

Page 26: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 26

2 - Managed2 - Managed

ØRequirements Management çRMØProject Planning çSPPØProject Monitoring and Control çSPTOØSupplier Agreement Management çSSMØMeasurement and Analysis çQPMØProcess and Product Quality Assurance çSQAØConfiguration Management çSCM

ConventionØPractice Areaç CMM KPA(s) that address similar

practices

ØRequirements Management çRMØProject Planning çSPPØProject Monitoring and Control çSPTOØSupplier Agreement Management çSSMØMeasurement and Analysis çQPMØProcess and Product Quality Assurance çSQAØConfiguration Management çSCM

ConventionØPractice Areaç CMM KPA(s) that address similar

practices

Page 27: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 27

3 - Defined3 - Defined

ØRequirements Development çSPE

Ø Technical Solution çSPE

ØProduct Integration çSPE

ØVerification çSPE, PR

ØValidation çSPE

ØOrganizational Process Focus çOPF

ØOrganizational Process Definition çOPD

ØOrganizational Training çTP

ØRisk Management çISM, SPP

ØDecision Analysis and Resolution çNew, Abilities, Me, Ve

ØRequirements Development çSPE

Ø Technical Solution çSPE

ØProduct Integration çSPE

ØVerification çSPE, PR

ØValidation çSPE

ØOrganizational Process Focus çOPF

ØOrganizational Process Definition çOPD

ØOrganizational Training çTP

ØRisk Management çISM, SPP

ØDecision Analysis and Resolution çNew, Abilities, Me, Ve

Page 28: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 28

ContinuousContinuous

Generic Practices

Generic Goals

Process Area 2Process Area 1 Process Area n

Specific Goals

Specific PracticesCapability Levels

Generic Practices

Generic Goals

Process Area 2Process Area 1 Process Area n

Specific Goals

Specific PracticesCapability Levels

Page 29: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 29

Continuous – Capability LevelsContinuous – Capability Levels

Ø 0. Incomplete

Ø 1. Performed

Ø 2. Managed

Ø 3. Defined

Ø 4. Quantitatively Managed

Ø 5. Optimizing

Ø 0. Incomplete

Ø 1. Performed

Ø 2. Managed

Ø 3. Defined

Ø 4. Quantitatively Managed

Ø 5. Optimizing

Page 30: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 30

Continuous Representation ResultsContinuous Representation Results

Capability Level ProfilesØ In the continuous representation, a capability level profile

is a list of process areas and their corresponding capability levels. This profile is a way for the organization to track its capability level by process area.

Target StagingØ Target staging is a sequence of target profiles that

describe the path of process improvement to be followed by the organization.

Capability Level ProfilesØ In the continuous representation, a capability level profile

is a list of process areas and their corresponding capability levels. This profile is a way for the organization to track its capability level by process area.

Target StagingØ Target staging is a sequence of target profiles that

describe the path of process improvement to be followed by the organization.

Page 31: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 31

Continuous Representation ExampleContinuous Representation Example

0 - Incomplete

1 - Performed

4 - Quantitatively Managed

3 - Defined

5 - Optimizing

2 - Managed

Capability Score

Process Area 1 Process Area 3Process Area 2

Current Capability Levels

Target Capability Profile for Selected Process Areas

Page 32: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

Case StudyCase Study

Six Sigma Findings

XP Implementation

Results

CMMI Plans

Six Sigma Findings

XP Implementation

Results

CMMI Plans

Page 33: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 33

Lofty GoalsLofty Goals

BetterØ Fewer defects

CheaperØReduce project effort

FasterØReduce project duration

Quality of LifeØEnjoy work life better

ØDo less of it

BetterØ Fewer defects

CheaperØReduce project effort

FasterØReduce project duration

Quality of LifeØEnjoy work life better

ØDo less of it

Page 34: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 34

Executive SponsorshipExecutive Sponsorship

BusinessØSVP – Internet Channel

ØSenior Product Manager

TechnologyØSVP / CTO – Regional Bank

ØCTO – Internet Technology

BusinessØSVP – Internet Channel

ØSenior Product Manager

TechnologyØSVP / CTO – Regional Bank

ØCTO – Internet Technology

Page 35: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

Six Sigma FindingsSix Sigma Findings

Page 36: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 36

VOC - BusinessVOC - Business

For business: better, on-time delivery of agreed functionality (stories) are most important.For business: better, on-time delivery of agreed functionality (stories) are most important.

# Wtd Voice of the Customer (VOC) Critical to Quality (CTQ) CTQ Measures

1 1.54 Quality product Minimum defects

# defects found in QA / UAT / production per unit of functionality# defects found in user sign-off per unit of functionality

2 2.26 On-time delivery All agreed stories delivered on time % stories delivered for each iteration

3 3.52 All scoped functionality delivered All committed iteration stories delivered

% stories delivered for each iteration

4 4.42 Faster time to market Reduce time from story delivery to production

# days / unit of functionality

5 6.04 Sound architectureBest in class technology

Applications are scalable, secure # hours of technology-driven rework

6 6.40 On budget No cost overruns $ variance

7 6.58 Accurate project scopingAll committed stories included in release

# committed stories not included

8 6.76 Technical input on alternativesBusiness understand technical trade-offs that may impact their decisions

# unapproved technical / infrastructure stories requested by development

9 7.12Business understands about technology / infrastructure / application limits

Informed business decisions are made

# hours of technology-driven rework

10 7.66 Technology works within the business structure

Business can ensure their other touch-points are included as needed

# hours waiting for business dependencies

11 8.20 Development activities fit in business resource constraints

Eliminate redundant documents / activitiesDecrease distractions (bus & tech)

# hours spent on redundant docs# hours / week distractions

0 .00

1 .00

2 .00

3 .00

4 .00

5 .00

6 .00

7 .00

8 .00

9 .00

10 .00

1 2 3 4 5 6 7 8 9 10 11

Page 37: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 37

CTQ DataCTQ Data

Top CTQs / CTQ Measures from VOC / VOB / VOE were combined to eliminate overlap (particularly around defect measures).Ø Committed Features

v % stories delivered

Ø Defectsv # total defects / unit of functionalityv # TRs related to requirements mis-match (WAD)

Ø Costsv $ / unit of functionalityv # XP resources – deployment

Ø Durationv # days duration / unit of functionality

Ø Miscellaneousv # missed communication plan eventsv # manual steps - deployment

Top CTQs / CTQ Measures from VOC / VOB / VOE were combined to eliminate overlap (particularly around defect measures).Ø Committed Features

v % stories delivered

Ø Defectsv # total defects / unit of functionalityv # TRs related to requirements mis-match (WAD)

Ø Costsv $ / unit of functionalityv # XP resources – deployment

Ø Durationv # days duration / unit of functionality

Ø Miscellaneousv # missed communication plan eventsv # manual steps - deployment

Page 38: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 38

QFD – House 1QFD – House 1

High quality and delivery of committed functionality (on time delivery) are top priority.High quality and delivery of committed functionality (on time delivery) are top priority.

Symbol Meaning Score

H High 9

M Medium 3

L Low 1

Minimize defects 1.54 4.46

Deliver project success criteria 1.61 4.39

Committed stories delivered on time 2.26 3.74

Correct code delivered 3.67 2.33

Shorten duration - story to production 4.42 1.58

Maximize development ROI / effort 4.48 1.52

Communication plan executed 4.68 1.32

* - Still to be definedKey:

M

ê ê

H L

M H

H H

0 1

H

ê

H

UOF - Unit of Functionality (size metric)

LM

01

*95

100

2100

M M L

L

L

Specs

+

é

Importance

Target 100

CTQ Importance = 6 - VOC Score (rank)

Imp

ort

ance

0

*

H

0 2

* *01

12

* *

êêê ê

H

# X

P r

esou

rces

- d

eplo

ymen

t

VO

C S

core

+

82 54 32 18 12 6

Critical to Quality (CTQs)

CTQ

Mea

sure

s

# to

tal d

efec

ts /

UO

F

% s

torie

s de

liver

ed

# T

Rs

- re

q. m

is-m

atch

(W

AD

)

# da

ys d

urat

ion

/ UO

F

$ / U

OF

# m

isse

d co

mm

pla

n ev

ents

# m

anua

l dep

loy

step

s (X

P)

0

10

20

30

40

50

60

70

80

90

100

# to

tal d

efec

ts /

UO

F

% s

torie

s de

liver

ed

# T

Rs

- re

q. m

is-m

atch

(W

AD

)

# da

ys d

urat

ion

/ UO

F

$ / U

OF

# m

isse

d co

mm

pla

n ev

ents

# m

anua

l dep

loy

step

s (X

P)

# X

P re

sour

ces

- dep

loym

ent

Page 39: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

XP ImplementationXP Implementation

Page 40: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 40

Anatomy of an IterationAnatomy of an Iteration

Iteration

During IterationUpdate progress dailyUse test-first developmentPair programContinuously integrateObtain QA (internal) sign-offObtain user sign-off

Business Planning

Business PlanningCreate business visionDevelop business caseWrite high-level stories

RP

Release PlanningCreate shared understandingPrioritize storiesEstimate storiesIdentify dependencies

IP

Iteration PlanningRe-prioritized storiesWrite story detailsPrepare test scenariosIdentify technology spikesIdentify major refactoring

Iteration Kick-OffDetermine availabilityIdentify story tasksUpdate story estimatesConfirm plan

Iteration CloseConfirm accomplishmentsDiscuss lessons learnedUpdate velocity

QAUAT

. . . . .

Additional IterationsBased on:

o Required contento Release date

Envision IterateSpeculate Monitor

Page 41: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 41

Parallel ActivitiesParallel Activities

EnvisionBus IT

SpeculateBus IT

MonitorBus IT

PlanBus IT Iterate

DevelopBus IT

PlanBus IT Develop

Bus IT

PlanBus IT Develop

Bus IT

DevelopBus IT

PlanBus IT

PlanBus IT

EnvisionBus IT

SpeculateBus IT

Week n-6 Week n-4 Week n-2 Week n Week n+2 Week n+4 Week n+6

QA / UATBus IT

Page 42: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

XP StoriesXP Stories

Page 43: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 43

The StoryThe Story

The story is a unit of functionality in an XP project. We demonstrate progress by delivering tested, integrated code that implements a story.

Story EvolutionØ Business Visionv Long-term functionality view (6-18 months)

Ø High-level Storiesv Functionality that delivers valuev Small enough to estimatev Prioritized

Ø Story Detailsv “Just enough” detailv Use cases work wellv Includes high-level test scenariosv Updated to reflect reality

The story is a unit of functionality in an XP project. We demonstrate progress by delivering tested, integrated code that implements a story.

Story EvolutionØ Business Visionv Long-term functionality view (6-18 months)

Ø High-level Storiesv Functionality that delivers valuev Small enough to estimatev Prioritized

Ø Story Detailsv “Just enough” detailv Use cases work wellv Includes high-level test scenariosv Updated to reflect reality

Page 44: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 44

Story TrackingStory Tracking

Future

Ready

Active

User Ready

QA Ready

Done

Release Ready

External QA

Future

Ready

Active

User Ready

QA Ready

Done

Release Ready

External QA

Page 45: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 45

Real WorldReal World

Page 46: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 46

SampleSample

Page 47: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 47

User Sign-OffUser Sign-Off

Page 48: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

“In God we trust.

All others must provide data.”W. Edwards Deming

ResultsResults

Page 49: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 49

Results - MetricsResults - Metrics

DefectsØ Total Include all severities

ØCritical Only the highest severity

ØWorking as Designed Points to business / technology disconnect

Effort & Duration Cost & calendar time

Size - QA test cases Best size metric

Quality of LifeØBusiness 81% better / much better

Ø Technology 77% better / much better

DefectsØ Total Include all severities

ØCritical Only the highest severity

ØWorking as Designed Points to business / technology disconnect

Effort & Duration Cost & calendar time

Size - QA test cases Best size metric

Quality of LifeØBusiness 81% better / much better

Ø Technology 77% better / much better

Page 50: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 50

Metrics – DefectsMetrics – Defects

TotalDefects

0.00

2.00

4.00

6.00

8.00

10.00

12.00

14.00

Non

-XP

AN

on-X

P B

Non

-XP

CN

on-X

P D

XP

1X

P 2

XP

3X

P 4

XP

5X

P 6

Non-XPXPNon-XPXP

Critical Defects

0.00

0.20

0.40

0.60

0.80

1.00

1.20

Non

-XP

A

Non

-XP

B

Non

-XP

C

Non

-XP

D

XP

1

XP

2

XP

3

XP

4

XP

5

XP

6

Non-XPXPNon-XPXP

WorkingAs Designed

0.00

0.50

1.00

1.50

2.00

2.50

3.00

3.50

Non

-XP

A

Non

-XP

B

Non

-XP

C

Non

-XP

D

XP

1

XP

2

XP

3

XP

4

XP

5

XP

6

Non-XPXPNon-XPXP

63% reduction 38% reduction79% reduction

Page 51: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 51

Metrics – Effort / DurationMetrics – Effort / Duration

Duration(Days)

0.00

1.00

2.00

3.00

4.00

5.00

6.00

Non

-XP

A

Non

-XP

B

Non

-XP

C

XP

1

XP

2

XP

3

XP

4

Non-XPXPNon-XPXP

Effort(Hours)

0.00

5.00

10.00

15.00

20.00

25.00

Non

-XP

A

Non

-XP

B

Non

-XP

C

XP

1

XP

2

XP

3

XP

4

Non-XPXPNon-XPXP

44% reduction 47% reduction

Page 52: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

Other XP MetricsOther XP Metrics

How We Measure OurselvesHow We Measure Ourselves

Page 53: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 53

Metrics CategoriesMetrics Categories

Release LevelØDefectsv Totalv Criticalv Working as Designed (WAD)

ØEffort / Duration

Iteration LevelØVelocity

ØStories Delivered

DailyØ IDH Delivered

Ø IDH Remaining

Release LevelØDefectsv Totalv Criticalv Working as Designed (WAD)

ØEffort / Duration

Iteration LevelØVelocity

ØStories Delivered

DailyØ IDH Delivered

Ø IDH Remaining

Page 54: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 54

Metrics – IterationMetrics – Iteration

Velocity

0.00

0.10

0.20

0.30

0.40

0.50

0.60

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Iteration

Actual

Moving Average Stories Delivered

0

5

10

15

20

25

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Iteration

0%

25%

50%

75%

100%

125%

150%

PlannedDelivered%Moving Avg.

Page 55: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 55

Metrics – DailyMetrics – Daily

IDH Delivered

0.0

20.0

40.0

60.0

80.0

100.0

120.0

140.0

160.0

180.0

200.06-

Oct

7-O

ct

8-O

ct

9-O

ct

10-O

ct

14-O

ct

15-O

ct

16-O

ct

17-O

ct

Planned

Actual IDH Remaining

0.0

20.0

40.0

60.0

80.0

100.0

120.0

140.0

160.0

180.0

6-O

ct

7-O

ct

8-O

ct

9-O

ct

10-O

ct

14-O

ct

15-O

ct

16-O

ct

17-O

ct

Planned

Estimated

Page 56: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

CMMI PlansCMMI Plans

Page 57: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 57

CMMI - Preliminary TargetsCMMI - Preliminary TargetsProcess Area CL Target Comments

Organizational Process Focus 2 / 3 This is covered in the wider context by the CRB iT Process Initiative

Organizational Process Definition

2 / 3 This is covered by the CRB iT Process Initiative’s Process Library Tool- ESP Plus

Project Planning 2 / 3Establish basic (light weight) project management processes with due consideration to effective estimation and the establishment of artifacts that support tracking

Project Monitoring and Control

2 / 3Establish basic (light weight) project tracking processes that enable adequate levels of governance, reporting and support corrective action

Risk Management 2 / 3Establish a robust method for eliciting, defining and baselining, tracing and managing requirements

Requirements Development 2 / 3Establish a method for iteratively refining and reworking requirements (an innate feature of XP)

Technical Solution 2 / 3 Establish a design methodology fully supported by internal standards and conventions

Product Integration 2 / 3Establish a process for supporting an integration strategy covering the entire project lifecycle

Verification 2 / 3Establish and deploy a set of standard QA methods encompassing Peer Reviews through QA Testing

Validation 2 / 3Establish and deploy a method for ensuring that client/end-user needs are addressed (VOC, Client surveys)

Configuration Management 2 / 3Establish a standard means for identifying, storing and controlling artifacts (code, documents, environments)

Process and Product Quality Assurance

2 / 3 This is covered in the wider context by the CRB iT Process Initiative

Measurement and Analysis 2 / 3 This is covered in the wider context by the CRB iT Process Initiative

Pro

cess

M

anag

emen

tP

roje

ctM

anag

emen

tE

ngin

eeri

ngSu

ppor

t

Page 58: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 58

0-1 Poor/Inadequate

2-3 Weak/Evolving

4 Fair

5 Transitioning

6 Marginally Qualified

7 Qualified

8 Fully Qualified

9-10 Outstanding/World Class

Capability Level 2

Capability Level 2+ Capability Level 3

Scoring GuideScoring Guide

Page 59: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 59

5.3 55.9 5.7

5 4.6

5.9 6.1

4.6

0123456789

10

PP PMC RM RD TS PI VE VA CM

Preliminary ResultsPreliminary Results

Page 60: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 60

CMMI Results / Plans CMMI Results / Plans

Formal AssessmentØDecember 2003 – Class B L-2 Appraisal (Staged)v Close, but no cigar

PlansØ 60 day plan to address shortfall areas

Ø 1st quarter – Class A Appraisal (Staged)

RealityØBank One merger announcement

Current PlansØ 2nd quarter – Class A Appraisal (Staged)

Ø 4th quarter – Class A Appraisal (Continuous)

Formal AssessmentØDecember 2003 – Class B L-2 Appraisal (Staged)v Close, but no cigar

PlansØ 60 day plan to address shortfall areas

Ø 1st quarter – Class A Appraisal (Staged)

RealityØBank One merger announcement

Current PlansØ 2nd quarter – Class A Appraisal (Staged)

Ø 4th quarter – Class A Appraisal (Continuous)

Page 61: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

SummarySummary

Page 62: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 62

Complementary ApproachesComplementary Approaches

Six SigmaØDriven by business needs

ØDisciplined implementation

ØResults verified through metrics

Extreme ProgrammingØBetter / cheaper / faster

Ø Improved quality of life

CMMIØRecognized framework

Ø Lends legitimacy

Six SigmaØDriven by business needs

ØDisciplined implementation

ØResults verified through metrics

Extreme ProgrammingØBetter / cheaper / faster

Ø Improved quality of life

CMMIØRecognized framework

Ø Lends legitimacy

Page 63: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

All rights reserved. Copyright © 2004 Page 63

Complementary ApproachesComplementary Approaches

Six Sigma

Extreme Programming

CMMI

Guides Implementation

Provides Compliance Standard

Page 64: There are 10 kinds of people in the world.nyspin.org/XPStory.pdfØIn the continuous representation, a capability level profile is a list of process areas and their corresponding capability

Q&AQ&A

Audience Participation EncouragedAudience Participation Encouraged