Transcript

Want Higher Quality Software from Your Agile Team?

Cross-Functional Peer Review Works

Mark Hammer

When you create or receive a test plan, who sees it – and how?

Product Mgmt Development Testing

User stories Code Test Plans

Product Mgmt Development

Testing

User storiesCode

Test Plans

Cross-Functional Peer Review

Requirements

Design

Architecture

Discussion

Review

Review

Requirements

Design

Architecture

Code

Discussion

Review

Review

N/A

Where most of the bugs come from

Hapless Developer

Reviewers

Version Control

Types of Code Review

Over-the-Shoulder Email Pair Programming Formal Inspection Meetings Tool

Largest Peer Code Review Study

• Objectives: – lightweight vs. formal inspections– What constitutes an effective review?

• 10-month case study at Cisco• Cisco MeetingPlace product, teleconferencing solution• 3.2 million lines of code• 2500 reviews• 50 developers

60-90 minutes max

Time (minutes)

De

fect

s F

oun

d

Go slow: 200-500 LOC/hour

Defect Density vs. Inspection Rate

0

25

50

75

100

125

150

0 200 400 600 800 1000 1200 1400Review Inspection Rate (LOC/hour)

Def

ect

Den

sity

(d

efec

ts/k

LO

C)

Not too much: 200-400 LOCDefect Density vs. LOC

0

50

100

150

200

0 200 400 600 800 1000

LOC under Review

De

fec

t D

ens

ity

(d

efec

ts/k

LO

C)

Industry Metrics

Measure Industry Average

High Performance Teams

Net Promoter Score 20% > 70%

% defects of total injected found by customer 15% < 2%

% effort spent in finding and fixing defects 50% < 10%

% effort for post-release support 30% < 5%

Unit test code coverage Varies > 80%

Post release defect density 7.5 defects/KLOC

< 0.5 defects/KLOC

Measure Industry Average

High Performance Teams

Net Promoter Score 20% > 70%

% defects of total injected found by customer 15% < 2%

% effort spent in finding and fixing defects 50% < 10%

% effort for post-release support 30% < 5%

Unit test code coverage Varies > 80%

Post release defect density 7.5 defects/KLOC

< 0.5 defects/KLOC

Bugs found in development are 8-12X less expensive to fix than those found in testing phase

And 30-100X less expensive than bugs that reach customers

Case Study: Large National Insurance Company• 2011: 350 developers• 2013: 650 team members• User stories are shared in Word format with entire

team• Design documents are shared in Powerpoint with

entire team• Code is shared with entire team• Test cases are shared in Excel format with entire team

Benefits: Cross-Functional Peer Review• Every member of the extended development team

knows what’s happening• Problems with user stories, code, and test plans are

found faster• Developers are forced to write readable code• Optimization methods/tricks/productive programs

spread faster• Teams can iterate from story to code to test plan• It's Agile• It’s fun

Product Mgmt Development

Testing

User storiesCode

Test Plans

“The simple fact of knowing your work will be reviewed by others means you’ll do it better.”

Mark Hammer

Questions?Comments?

top related