improving your quality process
play

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:


  1. Improving Your Quality Process A Practical Example John Balza johnjbalza@comcast.net John Balza Page 1 Pacific Northwest Software Quality Conference

  2. 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 John Balza Page 2 Pacific Northwest Software Quality Conference

  3. 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 John Balza Page 3 Pacific Northwest Software Quality Conference

  4. 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 John Balza Page 4 Pacific Northwest Software Quality Conference

  5. 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 John Balza Page 5 Pacific Northwest Software Quality Conference

  6. Defect Analysis Know what defects are escaping and remove the causes John Balza Page 6 Pacific Northwest Software Quality Conference

  7. Required a Defect Analysis What are the most common types What is the root cause? of defects escaping? How could we best remove these types of defects 100 50 Get beyond best practice 0 What specifically needs to Req Code be done in reviews, training, tests, etc . 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 John Balza Page 7 Pacific Northwest Software Quality Conference

  8. Testing Themes From defect analysis we found several common themes: • Over 60% of our defects were found in the ‘core’ of the operating 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 John Balza Page 8 Pacific Northwest Software Quality Conference

  9. ROI Justification Provide management with a solid cost-saving argument using your or industry data John Balza Page 9 Pacific Northwest Software Quality Conference

  10. 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 ���������������������������������������������������������������� �������������������� ���!"#�$%�&�%�%%%�' ����(�����)����* John Balza Page 10 Pacific Northwest Software Quality Conference

  11. Defect removal efficiencies Lowest Modal Highest Removal Efficiency Efficiency Efficiency Steps 25% 35% 50% Requirements inspection 25% 30% 40% Informal design reviews Formal design inspections 45% 65% 85% 20% 30% 45% Informal code reviews 45% 65% 85% Formal code inspections 20% 40% 60% Code desk check 15% 30% 55% Unit Testing 20% 30% 40% New Function Testing 10% 15% 30% Regression Test 25% 35% 45% Integration test 15% 20% 30% Performance Test 25% 35% 55% System Test 20% 30% 40% Beta Test <10 sites ������������������������������������������������������������������������������� John Balza Page 11 Pacific Northwest Software Quality Conference

  12. Defect Detection Costs: hours/defect ~18 Requirements inspection ~18 Informal design reviews ~10 Formal design inspections 9 Informal code reviews +����������������� 15 ��,����+-������������"����.�,��� Formal code inspections ���� 9 Code desk check 7.5 Unit Testing (by developer) +��������������� 12.5 New Function Testing ��������������� 5 ���������/���0����� Regression Test ���� ~15 Integration test ~15 Performance Test 15 System Test 10 Beta Test <10 sites John Balza Page 12 Pacific Northwest Software Quality Conference

  13. Defect Fix Costs: hours/defects 1��������+��� .5 Inspections/reviews ~.5 Code desk check 1������������ 2.5 Unit Testing (by developer) 5.0 New Function Testing 1��������+��� 12 Regression Test 12 Integration test 2������������������������� 20 Performance Test ,���������3%#$%�4���� 20 System Test ~20 Beta Test <10 sites 40 Customer reported defect (fix and patch once) John Balza Page 13 Pacific Northwest Software Quality Conference

  14. 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 50 45 40 35 Defects injected 30 Defects removed 25 Cumm injected 20 Cumm removed 15 10 5 0 s t t e n s s t d g e n e o i T T e s C m e r m D e e e n r t i g u s i q s y S e e D R John Balza Page 14 Pacific Northwest Software Quality Conference

  15. Improvement With Inspections Add in rigorous inspections Customer sees 2.8 defects/KNCSS Total Cost 356 hours/KNCSS 50 45 40 35 Defects injected 30 Defects removed 25 Cumm injected 20 Cumm removed 15 10 5 0 s t t e n s s t d g e n e i o e T T s C m e r m D e e n e r g t i u s i y q s S e e D R 2X improvement with 42% less labor John Balza Page 15 Pacific Northwest Software Quality Conference

  16. 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 John Balza Page 16 Pacific Northwest Software Quality Conference

  17. With Inspections & More tests Inspections, Unit, Subsystem Integration, Beta Test Customer sees 1.0 defect/KNCSS Total Cost: 304 hours/KNCSS 50 45 40 35 Defects injected 30 Defects removed 25 Cumm injected 20 Cumm removed 15 10 5 0 s e t t n s s t d g e n e i o T e s T C m e r m D e e e n r i g t u s i q s y S e e D R Another 3X quality improvement with 15% less labor John Balza Page 17 Pacific Northwest Software Quality Conference

  18. 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% John Balza Page 18 Pacific Northwest Software Quality Conference

  19. Creating a Test Model Create a process model: the current model and target model John Balza Page 19 Pacific Northwest Software Quality Conference

  20. Original Test Model Tests of subsystem Tests of entire product White Box Subsystem IC System Solution Test Test Test Test Test No criteria >95% pass on >95% pass on >95-99% 0 defects Functional functional test pass on running with test (usually functional test key layered on a couple on 1 SPU) (more varied applications configurations and larger config) Run stress 96 continuous tests on small hours of configuration operation on stress tests John Balza Page 20 Pacific Northwest Software Quality Conference

Recommend


More recommend