Top Banner
www.SoftwareSixSigma.com (201) 947-0150, (201) 947-8828 Copyright © 2002, PS&J Software Six Sigma All rights reserved. PS&J Software Six Sigma Applying Six Sigma and Statistical Quality Control to Optimizing Software Inspections New Jersey SPIN Wednesday, November 19, 2003 Ellen George Steve Janiszewski PS&J Software Six Sigma
25
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

PS&J Software Six Sigma

Applying Six Sigma and StatisticalQuality Control to Optimizing

Software Inspections

New Jersey SPINWednesday, November 19, 2003

Ellen GeorgeSteve Janiszewski

PS&J Software Six Sigma

Page 2: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

2

PS&J Software Six Sigma

Goals and Measurement

• An inspection process that is not actively managed willprobably be less effective in achieving its goals. It mighteven be counterproductive

• “You can’t manage what you can’t measure”• Goals should be stated measurably• Measures should be defined

Measurements of the inspection process are key to managing the process and achieving the goalsMeasurements of the inspection process are key to managing the process and achieving the goals

InspectionProcess Goals

InspectionProcess Goals

Page 3: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

3

PS&J Software Six Sigma

Measurements

• Only three basic measurements– Effort: the effort required to prepare for, hold, and fix the

defects found in, the inspection– Size: the size of the work product inspected, often

measured in lines of code (LOC)– Defects: the number and type of defects, effort required

to fix, point of injection and point of removal, description• Development effort should be proportional to size• Defect density should be proportional to size• Size units should be chosen so that average defect density

is not “too small”• Simple and economical to collect in-process with an

automated tool• All other metrics are derived from these three measurements

Page 4: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

4

PS&J Software Six Sigma

Derived Measurements

• Review Rate - LOC/hr

• Defect Density - Defects/KLOC

• Defect Injection Rate - Defects/hr

• Defect Removal Rate - Defects/hr

• Yield - Defects Removed/Defects Present

• Defect Removal Leverage - Inspection Removal Rate/TestRemoval Rate

• Appraisal Cost of Quality – cost of all inspection activitiesexpressed as a % of project cost

• Failure Cost of Quality – cost of all re-work related activitiesrequired to complete compilation and test expressed as a %of project cost

Page 5: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

5

PS&J Software Six Sigma

• Most data tends to follow the normaldistribution or bell curve.

• The standard deviation (σ) measuresvariation present in the data

• For data that follows a normaldistribution– 99.99999975% of the data is within ± 6σ

• The empirical rule allows us to treat non-normal data as if it werenormal for the purposes of statistical process control– 60%-75% of the data is within 1σ of the mean– 90%-98% of the data is within 2σ of the mean– 99%-100% of the data is within 3σ of mean

2)(1

1 ∑ −−

= avgxxn

σ

Module S ize D istribution

0

10

20

30

40

50

60

70

80

0 15 30 45 60 75 90105120135150165180195

LOC S

Freq

uen

cy

3σ 2σ 1σ xavg1σ 2σ 3σ

68.2%

95.4%99.7%

• ±3σ is natural limit of random data variation produced by a process

Characterizing Variation

Page 6: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

6

PS&J Software Six Sigma

Process Stability and Statistical Control

• A process exhibits statistical control when a sequence ofmeasurements x1, x2, x3,…xn,… has a consistent and predictable amountof variation

• It is possible to model this pattern of variation with a stationaryprobability density function f(x)

• Can make statistically valid predictions about processes that exhibitsstatistical control

• When the process does not exhibit statistical control, the distributionfunction changes over time, destroying the ability to make statisticallyvalid predictions

• A stable well-defined process is a pre-requisite for statistical control

f(x)

σ….

Page 7: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

7

PS&J Software Six Sigma

Special cause variation

Average

Time

x

- 3σ

+ 3σ

Commoncause

variation

Control Charts and Process Variation

• Common cause variation is normal random variation in processperformance– Don’t over-react to common cause variation– Reduction requires a process change

• Special cause variation represents an exception to the process– Actions to correct special cause variation must eliminate a specific

assignable cause– Special cause action eliminates a specific isolated event; does not

necessarily involve a process change

• Don’t take special cause action to deal with common causeproblem

• Control charts are agraphical depiction ofthe normal range ofvariation of a stableprocess

Page 8: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

8

PS&J Software Six Sigma

XmR Charts

• Used with continuous data (measurements)• no assumptions about underlying distribution• Appropriate for items that are not produced in “batches” or

when it is desirable to use all available data• two charts: X and mR (moving Range of X)• mRavg is used to estimate σ for X as well as mR

• mRi = | Xi - Xi-1 |• X chart mean: Xavg• X chart control limits: Xavg ± 2.660 mRavg• mR chart mean: mRavg• mR chart control limit: 3.268 mRavg

Page 9: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

9

PS&J Software Six Sigma

Detecting Assignable Causes

• X is out of control whenever– a single point xi falls outside the three sigma control limits CLx

– at least two out of three successive xi’s fall on the same side of, andmore than two sigma units away from, the central line

– at least four out of five successive xi’s fall on the same side of, andmore than one sigma unit away from, the central line

– at least 8 successive xi’s fall on the same side of the central line• R is out of control when

– 8 or more successive ri’s fall on same side of median– or 12 or more successive ri’s fall on same side of mR

• A trend is any upward or downward movement of 5 or moreconsecutive points

• Use of control charts to quantify normal variation and to identifythe presence of assignable causes is called Statistical ProcessControl (SPC)

Never attempt to interpret the X chart when the mR chart is out of control !

Never attempt to interpret the X chart when the mR chart is out of control !

Page 10: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

10

PS&J Software Six Sigma

Material Checklist

Reviewmaterial

HoldMeeting

Fix Defects

AnalyzeMetrics

Test Product

• Track process metrics:– rate vs yield

Open Loop Inspection Process - Tracking

Page 11: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

11

PS&J Software Six Sigma

Open Loop Process XmR Charts

• Average review rate 244 LOCs/Hr• Average defect density 39 Defects/KLOC• Average removal rate 6/Hr

Review Rate

0

100

200

300

400

500

600

700

800

900

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85

LOC

s/Hr

Review Rate

0

100

200

300

400

500

600

700

800

900

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85

LOC

s/Hr

Defect Density

0

20

40

60

80

100

120

140

160

180

200

Defe

cts

/KLO

C

Defect Density

0

20

40

60

80

100

120

140

160

180

200

Defe

cts

/KLO

C

mr Review Rate

0

100

200

300

400

500

600

mr Review Rate

0

100

200

300

400

500

600

mR Defects/KLOC

0

20

40

60

80

100

120

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85

mR Defects/KLOC

0

20

40

60

80

100

120

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85

Page 12: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

12

PS&J Software Six Sigma

A Control System Viewpoint

• The outputs of a process, y, are usually a function, f, of a setof control variables, x, and include a process noisecomponent ε:

y = f(x) + ε

– The y’s are not directly controllable, but they can be controlledby the directly controllable x’s.

– Statistical measurements are necessary to avoid re-acting to thenoise ε

• Ideally we would like software inspection process that actslike a responsive, “closed loop” control system driving thex’s to planned values and through their relationship to the y’s,achieving overall product goals

Our experience has shown that review rate is the xthat drives the inspection yield

Our experience has shown that review rate is the xthat drives the inspection yield

Page 13: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

13

PS&J Software Six Sigma

Correlation Analysis

• To evaluate review rate forsuitability as a control variable usecorrelation analysis

• r2 = 0.67 – moderately good fit byhyperbola: y = 1000/(0.1x + 3)

• Chart suggests targeting reviewrate in the 100 – 200 LOCs hourrange

• Similar analysis show dependency onsize of product under review

• r2 = 0.68 – moderately good fit byhyperbola: y = 1000exp(-x/2000)/ (x)1/2

• Charts suggests very little value ininspection review of large products

• Target product size < 500 LOCs

Inspection Rate vs Defects Found in Inspection/KLOC Inspected

0

50

100

150

200

250

0 100 200 300 400 500 600 700 800 900

Inspection Rate (LOC/Hr)

Def

ects

Fou

nd in

Insp

ectio

n/K

LOC

Insp

ecte

d

Inspection Rate vs Defects Found in Inspection/KLOC Inspected

0

50

100

150

200

250

0 100 200 300 400 500 600 700 800 900

Inspection Rate (LOC/Hr)

Def

ects

Fou

nd in

Insp

ectio

n/K

LOC

Insp

ecte

d

Defects/KLOC Found vs. Product Size Inspected

0

20

40

60

80

100

120

140

160

180

200

0 1000 2000 3000 4000 5000 6000

LOC

De

fect

s/K

LO

C

Defects/KLOC Found vs. Product Size Inspected

0

20

40

60

80

100

120

140

160

180

200

0 1000 2000 3000 4000 5000 6000

LOC

De

fect

s/K

LO

C

Page 14: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

14

PS&J Software Six Sigma

Closed Loop Inspection Process

Update Checklist• Remove questions that are not

catching defects.• Add questions to catch defects

that are leaking out to test.

Modify Process• Modify review rate• Vary size of material reviewed• Include test cases

Analyze Metrics• Process metrics:

– Rate vs Yield• Product metrics:

– Compare yields to quality plan– Re-review of products that fall

outside quality thresholds– Buggiest products list

Material Checklist

Reviewmaterial

HoldMeeting

Fix Defects

AnalyzeMetrics

UpdateChecklist

Test Product

ModifyProcess

Re-reviewmaterial

Page 15: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

15

PS&J Software Six Sigma

Inspection Action PlanSlow Review Rate & Many DefectsIs the product really buggy?Was the review really effective?Was the review cost efficient?

Fast Review Rate & Many Defects => Buggy ProductThe product IS buggy.Return to author for reworkAsk someone else to rewrite

Slow Review Rate & Few DefectsIs the product really good?Was the review really ineffective?Was the review cost efficient?

Fast Review Rate & Few Defects => Poor ReviewIs the product really good? (can’t tell !)Re-review at a slower rateMake sure reviewers are using the checklist

Defect Density vs Review Rate

0

20

40

60

80

100

120

140

160

180

200

0 100 200 300 400 500 600 700 800 900

LOCs/Hr

Defe

cts/

KLO

C

Defect Density vs Review Rate

0

20

40

60

80

100

120

140

160

180

200

0 100 200 300 400 500 600 700 800 900

LOCs/Hr

Defe

cts/

KLO

C

Defect Density vs Review Rate

0

20

40

60

80

100

120

140

160

180

200

0 100 200 300 400 500 600 700 800 900

LOCs/Hr

Defe

cts/

KLO

C

Defect Density vs Review Rate

0

20

40

60

80

100

120

140

160

180

200

0 100 200 300 400 500 600 700 800 900

LOCs/Hr

Defe

cts/

KLO

C

Page 16: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

16

PS&J Software Six Sigma

Closed Loop Run Charts

• Targeting rate yielded major decrease in variation• Closed loop process achieved significant improvements

– Average Review Rate 138 LOCs/hr– Average Defect Density 118 Defects/KLOC - a 3.5x improvement in quality!– Average Defect Removal Rate 15/hr - a 2.5x improvement in removal cost!

Inspection Rate

0

20

40

60

80

100

120

140

160

180

200

1 2 3 4 5 6 7 8 9 10 11 12

Inspection ID

LO

Cs

/Hr

Inspection Rate

0

20

40

60

80

100

120

140

160

180

200

1 2 3 4 5 6 7 8 9 10 11 12

Inspection ID

LO

Cs

/Hr

De fe cts Found in Inspection/KLOC Inspe cte d

0

50

100

150

200

250

300

350

400

1 2 3 4 5 6 7 8 9 10 11 12

Inspection ID

De

fec

ts/K

LO

C

De fe cts Found in Inspection/KLOC Inspe cte d

0

50

100

150

200

250

300

350

400

1 2 3 4 5 6 7 8 9 10 11 12

Inspection ID

De

fec

ts/K

LO

CMoving Range (m R) Inspe ction Ra te

05

101520253035404550

1 2 3 4 5 6 7 8 9 10 11 12

Ins pe ction ID

LO

Cs

/Hr

Moving Range (m R) Inspe ction Ra te

05

101520253035404550

1 2 3 4 5 6 7 8 9 10 11 12

Ins pe ction ID

LO

Cs

/Hr

M o v in g R a n g e ( m R ) D e f e c t s Fo u n d in In s p e c t io n /KL O C In s p e c te d

0

5 0

1 0 0

1 5 0

2 0 0

2 5 0

3 0 0

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2

In s p e c t i o n ID

De

fec

ts/K

L

M o v in g R a n g e ( m R ) D e f e c t s Fo u n d in In s p e c t io n /KL O C In s p e c te d

0

5 0

1 0 0

1 5 0

2 0 0

2 5 0

3 0 0

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2

In s p e c t i o n ID

De

fec

ts/K

L

Page 17: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

17

PS&J Software Six Sigma

Optimization Strategy

• Personal reviews performed prior to team inspections– Remove all the errors the author can detect at the lowest

possible inspection cost– Checklist derived from author’s own list of compilation and test

defects flags high risk areas where author has a history ofmaking mistakes

• Frequent short team inspections– Checklists focus on interface and requirements related issues

that can’t easily be found in the personal review– Small teams that include the internal “customers” for the product– Focus on a few hundred lines of code at a time

• Periodic Defect Prevention meetings provided the development teamwith an opportunity to review their data and define approaches todetect defects earlier or prevent or prevent them entirely

• Defect prone products “pulled” from integration and test and re-inspected

Goal: Minimize review cost while maximizing yieldGoal: Minimize review cost while maximizing yield

Page 18: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

18

PS&J Software Six Sigma

Optimization Strategy Advantages

• Doesn’t waste team’s time with defects the author can easily find

• By inspecting a few hundred lines at a time, preparation timerequired is on the order of an hour

• Reviewers can stay focused and inspection can be held on thesame day that product is available

• Eliminates lags, removes the temptation for the author to moveforward into test before the review takes place

• Entire cycle can take as little as 2 – 3 hours from productavailability to end of inspection

• Developers use their own data for defect prevention

– Eliminates handoffs

Page 19: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

19

PS&J Software Six Sigma

Defect Prevention

• Defect Prevention can be implemented by an organization that isperforming inspections and collecting defect data.

• A Defect Prevention team sets and manages to their own goal.

• They use their own defect data, captured during inspections.

• Defects are analyzed using pareto charts to identify most expensive,most frequent, etc.

• Actions are taken to prevent a targeted defect type from occurring inthe future.

– Modify checklists, change coding and design standards

• The team members convince themselves of the value of the activityby calculating their own ROI.

• Lessons Learned are shared with other Defect Prevention teams ona periodic basis.

Data must be regularly used by the people collecting it,otherwise they will stop collecting it!

Data must be regularly used by the people collecting it,otherwise they will stop collecting it!

Page 20: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

20

PS&J Software Six Sigma

Yields and Quality Planning and Management

• Inspection process can be characterized by its yield

• Historical yields permit planning the number of defects that will beremoved

• Manage to the plan by taking corrective action when actual valuesdiverge from plan

Code Review (70%)

Detailed Design (0%)

Design Review (70%)

Code (0%)

Unit Test (50%)

Compile(50%,code only)

40 Injected

28 Removed12 Escapes

60 Injected,72 Total

50 Removed22 Escapes

7 Removed6 Escapes

9 Removed13 Escapes

What’s the yield of this process?

Integration Test (35%)

System Test (35%)

2 Removed4 Escapes

1 Removed3 Escapes

97/(40 + 60) = 97%

Page 21: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

21

PS&J Software Six Sigma

Calculating Return on Investment - 1

• Costs can be directly measured– training, tools, performing the inspections

• The dominant costs are the inspection prep and the meeting time• Savings require estimating the difference in cost between finding a

defect in review and finding it later in the process

• Without inspections, the cost of defect removal is 267 hrs per KLOC

267

102.018 hrs10.65.735%016.3System Test

157.018 hrs16.38.835%025.0Integration Test

6.2515 mins25.025.050%050.0Unit Test

0.0015 mins50.00.00%050.0Code Inspection

0.831 min50.050.050%0100.0Compile

0.005 mins100.00.00%0100.0Code Bench Check

0.00n/a100.00.00%6040.0Code

0.0030 mins40.00.00%040.0Design Inspection

0.0010 mins40.00.00%040.0Design Bench Check

0.00n/a40.00.00%400.0Design

TotalRemoval

Cost (hrs)

DefectRemoval

Cost

DefectsLeaked

DefectsContained

PhaseYield

NewDefectsInjected

Defectsleaked fromprev phase

Page 22: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

22

PS&J Software Six Sigma

Calculating Return on Investment - 2

• Without inspections,– The cost of defect removal was 267 hours.

• With inspections,– The cost of holding the inspections is about 40 hours (at 200 LOC/hr)– The cost of defect removal drops to 37 hours.

• The net savings is 267 – (40+37) = 190 hours

37

8.6018 hrs0.90.535%01.4System Test

13.2318 hrs1.40.735%02.1Integration Test

0.5315 mins2.12.150%04.2Unit Test

1.5815 mins4.26.360%010.5Code Inspection

0.181 min10.510.550%021.0Compile

4.085 mins21.049.070%070.0Code Bench Check

0.00n/a70.00.00%6010.0Code

5.0030 mins10.010.050%020.0Design Inspection

3.3310 mins20.020.050%040.0Design Bench Check

0.00n/a40.00.00%400.0Design

TotalRemoval

Cost (hrs)

DefectRemoval

Cost

DefectsLeaked

DefectsContained

PhaseYield

NewDefectsInjected

Defectsleaked fromprev phase

Page 23: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

23

PS&J Software Six Sigma

Results

• Over a period of 5 years, we gradually implemented thestrategies described

• As Peer Review yields increased from 60% to 80% and weintroduced personal reviews, defects into integration werereduced from 10/KLOC to 3/KLOC

• At the same time, cost of performing peer reviews decreasedby 40% as we reduced the size of the inspection teams

0%

20%

40%

60%

80%

1996 1997 1998 1999

Peer Review Yields

0

2

4

6

8

10

1993 1994 1995 1996 1997 1998 1999

Defect Density into Integration

The organization realized a net improvement of 190 hrs / KLOC! The organization realized a net improvement of 190 hrs / KLOC!

Page 24: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

24

PS&J Software Six Sigma

Glossary of Terms

CMM® Capability Maturity ModelCOQ Cost Of QualityEV Earned ValueKLOC Thousand Lines Of CodeLOC Lines Of CodeROI Return On AnalysisSEI Software Engineering InstituteSPC Statistical Process ControlSPI Software Process Improvement

CMM® is registered in the U.S. Patent and Trademark Office.

Page 25: Applying Six Sigma and Statistical Quality Control to ...

www.SoftwareSixSigma.com(201) 947-0150, (201) 947-8828

Copyright © 2002, PS&J Software Six SigmaAll rights reserved.

25

PS&J Software Six Sigma

References

For additional information visitour web site or contact us at:

Ellen George 201- [email protected]

Steve Janiszewski 201- [email protected]

www.SoftwareSixSigma.comwww.SoftwareSixSigma.com

Watch for our article on "Optimizing Software Inspections" inthe December 2003 issue of Software Quality Professional.

Watch for our article on "Optimizing Software Inspections" inthe December 2003 issue of Software Quality Professional.