Improving Your Quality Process A Practical Example John Balza - - PowerPoint PPT Presentation

improving your quality process
SMART_READER_LITE
LIVE PREVIEW

Improving Your Quality Process A Practical Example John Balza - - PowerPoint PPT Presentation

Improving Your Quality Process A Practical Example John Balza johnjbalza@comcast.net John Balza Page 1 Pacific Northwest Software Quality Conference Objectives To provide an example of how to improve your software quality process Agenda:


slide-1
SLIDE 1

John Balza Page 1 Pacific Northwest Software Quality Conference

Improving Your Quality Process

A Practical Example John Balza johnjbalza@comcast.net

slide-2
SLIDE 2

John Balza Page 2 Pacific Northwest Software Quality Conference

Objectives

To provide an example of how to improve your software quality process Agenda:

  • Initial Situation
  • Defect Analysis Targets Improvements
  • Justify the Investment
  • Creating a Test Model
  • Results
slide-3
SLIDE 3

John Balza Page 3 Pacific Northwest Software Quality Conference

HP-UX Statistics/Organization

  • Approximately 18 Million lines of code total
  • New or changed code

– 1.4 Million in 11.00 – 3.0 Million in 11.11 – 6.0 Million in 11.23

  • HP-UX Code is developed by ~ 1500 people in 13 labs in

7 geographical locations.

  • Each Lab responsible for

– maintaining existing code – developing new functionality – quality of their code.

  • One lab responsible for end to end quality

– System testing, solution testing, beta test

slide-4
SLIDE 4

John Balza Page 4 Pacific Northwest Software Quality Conference

Customer Situation

Results from Interex Engineering Investment Survey, 1999 (HP user group)

  • Most important strategic directions for HP in next 5

years – 1. Keeping customer costs down – 2. Developing higher quality software

slide-5
SLIDE 5

John Balza Page 5 Pacific Northwest Software Quality Conference

HP-UX Quality Improvement Program

“10X in 5 Years” GOAL: Decrease customer found defects by a factor of 10 Internal Goals

  • Drive up the defects prevented or found before check-in

– Reduce defects found after check-in by 2x every 18 months

  • Increase the defect removal rate between check in and

customer release

– Have our system testing better reflect our customers environments

slide-6
SLIDE 6

John Balza Page 6 Pacific Northwest Software Quality Conference

Defect Analysis

Know what defects are escaping and remove the causes

slide-7
SLIDE 7

John Balza Page 7 Pacific Northwest Software Quality Conference

Required a Defect Analysis

What is the root cause? How could we best remove these types of defects Get beyond best practice What specifically needs to be done in reviews, training, tests, etc. What are the most common types

  • f defects escaping?

50 100 Req Code

Required a defect analysis on all defects that had escaped a development team. Typical recommendations:

  • HP-UX Internals training
  • Better communication of dependencies with other

teams

  • Specialized peer review for ‘locking’ issues
  • Testing improvements
slide-8
SLIDE 8

John Balza Page 8 Pacific Northwest Software Quality Conference

Testing Themes

From defect analysis we found several common themes:

  • Over 60% of our defects were found in the ‘core’ of the
  • perating system (networking, kernel, commands,

libraries)

  • Over 50% of escaped defects were ‘functional defects’
  • Another 10% were ‘configuration defects’ – problems

that would occur only in certain configurations, typically high end SPUs Developers only found a fraction of their defects

  • 50% of defects were found in testing by other teams

(25% by system test)

  • 12% were found by customers
slide-9
SLIDE 9

John Balza Page 9 Pacific Northwest Software Quality Conference

ROI Justification

Provide management with a solid cost-saving argument using your or industry data

slide-10
SLIDE 10

John Balza Page 10 Pacific Northwest Software Quality Conference

Defects injected per KNCSS

  • !"#$%&%%%%' ()*

Phase Defects Introduced Requirements 10.1 Design 12.8 Code 17.2 Documentation 4.0 Bad Fixes 5.0 Total 49.1

slide-11
SLIDE 11

John Balza Page 11 Pacific Northwest Software Quality Conference

Defect removal efficiencies

25% 35% 50% 25% 30% 40% 45% 65% 85% 20% 30% 45% 45% 65% 85% 20% 40% 60% 15% 30% 55% 20% 30% 40% 10% 15% 30% 25% 35% 45% 15% 20% 30% Lowest Efficiency Modal Efficiency Highest Efficiency Removal Steps Requirements inspection Informal design reviews Formal design inspections Informal code reviews Formal code inspections Code desk check Unit Testing New Function Testing Regression Test Integration test Performance Test 25% 35% 55% System Test 20% 30% 40% Beta Test <10 sites

slide-12
SLIDE 12

John Balza Page 12 Pacific Northwest Software Quality Conference

Defect Detection Costs: hours/defect

~18

~18 ~10 9 15 9 7.5 12.5 5 ~15 ~15 Requirements inspection Informal design reviews Formal design inspections Informal code reviews Formal code inspections Code desk check Unit Testing (by developer) New Function Testing Regression Test Integration test Performance Test 15 System Test 10 Beta Test <10 sites + ,+-".,

  • +
  • /0
slide-13
SLIDE 13

John Balza Page 13 Pacific Northwest Software Quality Conference

Defect Fix Costs: hours/defects

.5 ~.5 2.5 5.0 12 12 20

Inspections/reviews Code desk check Unit Testing (by developer) New Function Testing Regression Test Integration test Performance Test

20

System Test

~20

Beta Test <10 sites 1+ 1

40

Customer reported defect (fix and patch once) 1+ 2 ,3%#$%4

slide-14
SLIDE 14

John Balza Page 14 Pacific Northwest Software Quality Conference

Our Typical Defect Removal

with design walk through, code desk check, tests for new functionality and regression system tests

Today's typical practice Customer sees 5.7 defects/KNCSS Total cost 619 hours/KNCSS

5 10 15 20 25 30 35 40 45 50

R e q u i r e m e n t s D e s i g n C

  • d

e D e s i g n e r T e s t S y s t e m T e s t Defects injected Defects removed Cumm injected Cumm removed

slide-15
SLIDE 15

John Balza Page 15 Pacific Northwest Software Quality Conference

Improvement With Inspections

2X improvement with 42% less labor

Add in rigorous inspections Customer sees 2.8 defects/KNCSS Total Cost 356 hours/KNCSS

5 10 15 20 25 30 35 40 45 50

R e q u i r e m e n t s D e s i g n C

  • d

e D e s i g n e r T e s t S y s t e m T e s t Defects injected Defects removed Cumm injected Cumm removed

slide-16
SLIDE 16

John Balza Page 16 Pacific Northwest Software Quality Conference

Inspections/Peer Reviews

  • Retrained every engineer on the Inspection Process
  • Set-up a database to record the peer review results
  • Required inspections of all design documents and some

form of peer review on all code

  • Started development of checklists for the peer reviews
  • Many labs established a Plan-Do-Check-Act cycle with

quarterly reviews by management

slide-17
SLIDE 17

John Balza Page 17 Pacific Northwest Software Quality Conference

With Inspections & More tests

Another 3X quality improvement with 15% less labor

Inspections, Unit, Subsystem Integration, Beta Test Customer sees 1.0 defect/KNCSS Total Cost: 304 hours/KNCSS

5 10 15 20 25 30 35 40 45 50

R e q u i r e m e n t s D e s i g n C

  • d

e D e s i g n e r T e s t S y s t e m T e s t Defects injected Defects removed Cumm injected Cumm removed

slide-18
SLIDE 18

John Balza Page 18 Pacific Northwest Software Quality Conference

Changed Internal Goals

Combination of defect analysis and this ROI model resulted in management endorsement of new internal goals

  • Development team finds 90% of their own defects

(70% through peer review, 20% through testing)

  • Partner/System Test finds 90% of remaining defects
  • Customer only finds 1%
slide-19
SLIDE 19

John Balza Page 19 Pacific Northwest Software Quality Conference

Creating a Test Model

Create a process model: the current model and target model

slide-20
SLIDE 20

John Balza Page 20 Pacific Northwest Software Quality Conference

Original Test Model

White Box Test Subsystem Test IC Test System Test Solution Test No criteria >95% pass on Functional test (usually

  • n 1 SPU)

>95% pass on functional test

  • n a couple

configurations >95-99% pass on functional test (more varied and larger config) 0 defects running with key layered applications Run stress tests on small configuration 96 continuous hours of

  • peration on

stress tests Tests of subsystem Tests of entire product

slide-21
SLIDE 21

John Balza Page 21 Pacific Northwest Software Quality Conference

Target Model

Unit Test Subsystem Test Pre-submit Test Mainline Stability Mainline Validation IC Test System Test Solution Test 100% Branch Coverage testing < 300 lines No regression in pass rate with top of branch No regression in pass rate; 48 CHO stress test Mainline test longer with more configurations Customer Environment Testing Expected +15 ppt. or 85% branch coverage Tests of subsystem Tests of core product (NCKL) Tests of entire product Check-in Run continuously

slide-22
SLIDE 22

John Balza Page 22 Pacific Northwest Software Quality Conference

Example: Subsystem Test

Definition Testing conducted to verify the complete functionality of a subsystem. Objective Expose defects in the subsystem, particularly interactions between components. Test against the External Specification. Strategy Test the entire subsystem for correct functional and internal

  • behavior. These tests should be automated to form a

permanent regression test to ensure compatibility. Metric Functional coverage (have all external interfaces been tested?) and branch coverage (condition/decision coverage in C-Cover terms) with automated tests of new and legacy functionality. Entry criteria Test plan and test specifications developed, reviewed and in the configuration management system. Exit criteria 100% tests passed and 100% functional coverage, 85% branch coverage metrics with acceptable exceptions. Document in the defect tracking systems those items that need to be corrected

  • later. Test plan and test specifications updated code coverage

Roles and Responsibilities Automated test creation and analysis owned by subsystem development team.

slide-23
SLIDE 23

John Balza Page 23 Pacific Northwest Software Quality Conference

Solutions Focused Testing

Test of generic system specification Test of customer usage

11.0 1998 1999 11.11

Software

Objective: Expand test coverage to include ISU/ISV and customer apps.

Test Methodologies Objective: Add/enhance tests

  • Stress
  • Reliability
  • Functional
  • Regression
  • OLTP
  • App. server
  • More complex configs.

w/peripherals, hubs, switches, WAN

  • 3-4 tier client/server

customer profiles

  • Data Warehousing
  • Internet Server
  • Operating

Environments

  • Single-system

LAN Core OS & Network Drivers Install ISV’s (Oracle, SAP, Netscape) Oracle Compat. & HP layered Software Typical Customer Suites of Applications

  • Install/update
  • Alpha testing
  • Compatibility
  • Recovery
  • Oracle

data migration

  • Self-hosting
slide-24
SLIDE 24

John Balza Page 24 Pacific Northwest Software Quality Conference

Results

slide-25
SLIDE 25

John Balza Page 25 Pacific Northwest Software Quality Conference

Customer Defects

  • 6X reduction in

customer defects from 11.00 release to 11.11.

  • At the same time, each

release was twice as complex as the last.

360 62 60 50 100 150 200 250 300 350 400 11 11.11 11.23

Customer Defects in first year

slide-26
SLIDE 26

John Balza Page 26 Pacific Northwest Software Quality Conference

Internal Goals

  • Today, developers find
  • ver 90% of their own

defects, most of this through inspections and peer reviews.

  • On the 2nd release we

met our 1% customer found goal.

20 40 60 80 100 120 Then Now

Customer Other Developer

slide-27
SLIDE 27

John Balza Page 27 Pacific Northwest Software Quality Conference

Productivity Increase

Because our quality increased throughout our lifecycle,

  • ur productivity has also increased:
  • 30% more lines of code/engineer year
  • Reduction in current product engineering from 20% of

staff to 13%

  • Backend testing time has been reduced by 25%.
slide-28
SLIDE 28

John Balza Page 28 Pacific Northwest Software Quality Conference

Lessons

  • Start with implementing a formal inspections process.
  • Use defect analysis to pinpoint focus areas for

inspections and what testing needs to be improved

  • Use your own or industry data to show the ROI –

because customer defects are so expensive to fix, you can afford quite a lot of testing and still save money.

  • Build a test strategy where each stage of testing is

well defined in terms of purpose, objectives, and metrics

  • Improving quality actually improves productivity
  • You reach true success when each team in the
  • rganization is asking how they could have found a

defect earlier and making those process changes.

slide-29
SLIDE 29

John Balza Page 29 Pacific Northwest Software Quality Conference

Questions?

  • Parallel Talk about how we used measures to track

quality as easily as schedule plus other papers and talks at http://sites.google.com/site/johnjbalza/Home Email: johnjbalza@comcast.net