SlideShare uma empresa Scribd logo
1 de 25
Presented by: Scott Aziz
24 October 2013
Develop a Defect Prevention Strategy – Or Else!
2
Agenda
• Why is Defect Prevention Critical?
• Cost & Quality / Time to Market Or Else!
• Current Landscape & How Defect Prevention Can Help
• Prevention Framework
• Prevention Methods
• Requirements Reviews
• Ambiguity
• Pre-Test Defect Removal Activities
• Summary
3
Premise
Why is Defect Prevention Critical?
• Testing schedules for low-quality, large software projects are 2-3X
longer and more than 2X as costly as testing for high-quality
projects.
• If defects remain undetected and unremoved until testing starts, it is
too late to bring a software project back under control. It is much
more cost-effective to prevent defects or to remove them prior to
testing.
• Prevention and Appraisal activities remove many more defects per
Engineer-Hour than Failure activities, but organizations often invest
very little in the time-proven methods.
4
What can we hope to change with defect prevention?
5
The Concern
• About 40-50% of the effort on current software
projects is spent on avoidable rework.1,2
– $0.50 out of every $1.00 for
new/maintenance.
– Repair and rework is the major software
cost driver.
– This is a restrictive business model.
• 1. [Shull et al. 2002] Shull, F., V. Basili, B. Boehm, A.W. Brown, P. Costa, M. Lindvall, D. Port, I. Rus, R.
Tesoreiro, and M. Zelkowitz. 2002.What we have learned about fighting defects. Proceedings of the
8th International Symposium on Software Metrics:
• 2. Jones, Capers and Bonsignour, Olivier; The Economics of Software Quality; Addison Wesley; 2011.
As an engineering discipline, we can do better. Much better.
6
Cost of Quality / Poor Quality Defined
• Prevention Costs
─ Cost of activities to
prevent poor quality
• Appraisal Costs
─ Cost of activities to
detect quality issues
• Internal Failure Costs
─ Costs incurred to fix
quality issues before
delivery to customer
• External Failure Costs
─ Costs due to failures
after delivery to
customer
Prevention Costs
• Training of development team
• Requirements Analysis
Appraisal Costs
• Static Tests
─ Peer Review
(also Prevention)
─ Code Walk-through
• Dynamic Tests (Manual/
Automated)
─ Functional Testing
─ Performance Testing
• Test Equipment
Internal Failure Costs
• Churn – Characterize/Fix/Re-Test
• Opportunity cost of delayed delivery
External Failure Costs
• Bug fixing after delivery (All Types)
• Customer support
• Loss of business
• Litigation
• Fines
7
Why Should We Care about CoPQ?
It’s an accounting problem – right?
Not my job…
Reduction of Cost is not the only factor
• Quality, Time To Market, Customer Delight
Isn't this just a cost of doing business?
We have to take a leadership stance.
• Manage IT as a business within a business.
• Business growth enabled through lower costs.
• Build the best product for lowest cost to best compete.
Poor quality costs are too large to ignore.
8
Align IT Goals / Business
1 1
2 2
3 3
4 4
5
6
7
8
9
10
5
6
7
8
9
10
13
Not in top 20
Forrester Results From Survey Of Business And Technology Decision-Makers
KPI Business rank IT rank
IT cost per business service supported
Internal customer satisfaction survey score
IT spend by business objective (margin, revenue, growth, compliance, etc.)
Percentage of IT projects that meet or exceed expected benefits
Percentage of IT spend on run, grow, change the business
Yr/Yr IT budget growth vs. revenue growth
Yr/Yr unit cost of infrastructure, systems, apps maintenance
IT spend as a percentage of business revenue
Percentage of IT budget spend on R&D, emerging tech, pilots, innovations, etc.
External customer satisfaction (your organization's customers) survey score
Base: 16 CIOS, CMOs, and CFOs
Source: A commissioned study conducted by Forrester Consulting on behalf of The Technology Business Management Council, September 2013
9
External Failures
• Knight Trading Debacle in 2012 (Took 30 minutes
to stop programmed trading; $440M loss)
• Nasdaq FaceBook IPO (Pre-Market Trading
System)
• $62M Compensation Fund
• Race Condition – only could have been discovered under
heavy volume.
2012.
• Investment firm AXA Rosenberg shelled out $217 million to cover investor
losses from what it called a "significant error“
in the computer code for one of its investment models.
• Issues are not limited to just financial companies…
2012.
10
Software Testing Profession Must Evolve
Why Are These Costly Failures Occurring?
• Minimal prevention activities
– When more defects enter testing, the productivity of testing decreases
due to engineering churn; i.e., the costs of testing is higher and the time
to complete testing increases.
• Casual test case design
– multiple thorough studies show approximately 85% of defects in
production could have been detected by simply testing all possible pairs of
values.1
• Testing by untrained/uncertified test personnel
What’s Next -> Regulation
• The SEC is considering writing regulations that would require trading firms
and other market participants to disclose issues with
their trading programs and test them before they are used on the open
market. 2
1. Source: IEEE Computer: Combinatorial Software Testing Aug, 2009 by Richard Kuhn, Raghu Kacker, Jeff Lei, and Justin Hunter.
2. Financial Times Newspaper, August 2012.
11
Visible / Hidden Internal & External Failure
Visible External
Failures (Cost of
Poor Quality)
Hidden Internal
& External
Failures (Cost of
Poor Quality)
12
Internal & External Failures Example
Engineering Cost per Hour $96
Developer effort spent on QA, rework, process, etc. 20%
Management effort spent on QA, rework, process, etc. 10%
Average hours spent to correct a defect that resulted in a
change
14
Average hours to close a defect with a no-change resolution
(duplicate, etc.)
3
Support costs attributed to poor quality 30%
Group Change
No
Change
Group 1 5,675 2,481
Group 2 8,410 2,231
Group 3 912 326
Group 4 7,056 4,243
Group 5 2,258 1,330
Group 6 6,795 2,251
Group 7 3,205 1,564
TOTAL 39,938 14,426
Rework Support Total Staff Cost Total COPQ
TOTAL $53,076,827 $79,230,223 $444,129,231 $177,383,877
13
Minimal Early Activities = Technical Debt
Requirements
Injection Phase
Design
Injection Phase
Coding
Injection Phase
Technical Debt
Prevention and Appraisal activities remove many
more defects per Engineer-Hour than Failure
activities.
Every defect that we can remove more economically
leads to more money available to re-invest in better
coverage methods and tools for testing.
Early Lifecycle Testing Activities are not well planned
due to:
• Minimal Recognition
• No Training
• Few Tools
• Project Inertia
• Change Management
14
Testing is Too Late to Effect Enough Change
Take Control
15
What Do We Do?
• The only way to be in control of Quality is to shift it from the uncontrollable Failure Costs to
the controllable Prevention/Appraisal Costs.
• With each incremental increase in Appraisal activities, such as reviews, we can expect a
corresponding and larger reduction in our Failure activities.
Take Control -> Invest Upfront
Change Management is difficult
• Investments are needed to shift the majority of our Cost of Quality to the prevention
and appraisal side of the equation.
─ CoQ will not only be reduced significantly, but it will also be more predictable and more
manageable.
• Mind-set change
• Inspections are not the most enjoyable engineering task compared to designing and
coding.
• Inspections are labor intensive and low tech, but they do work.
• The importance of removing defects pre-test; organizational goals.
16
Framework for Prevention
Causal Analysis and Resolution: part of many process improvement models
(CMMI, ISO, SixSigma)
• An organization-level team to coordinate
defect prevention activities exists.
• A team to coordinate defect prevention
activities for the software project exists.
• Adequate resources and funding are provided
for defect prevention activities at the project
and organization levels.
• Members of the software engineering group
and other software related groups receive
required training to perform their defect
prevention activities.
17
Prevention Activities
Pre-Code
 Reusable requirements, architecture, design,
and code
 Requirements / Design Reviews
 Requirements Testing / Modelling
 QFD, Kaizen for software
 Using quality-strong methodologies such as
RUP and TSP
 Agile: Test First, Then Code; Tests are the
Requirements.
Post-Code
 Code Review
 Static Analysis
Eliminate
difficult work
Eliminate
waste in
process
Identify areas
of
improvement
Experiment
with solutions
to problems
18
Measuring Prevention
Function Points
• Without prevention: Function Points ^1.2.
• With Prevention: Function Points ^1.05-1.15
Number of Defects = 250 @ 100 Function Points.
Quality Strong Methods = 199 = ^1.15
Requirements Testing = 150: ^1.05-1.10
19
Defect Prevention: Agile Practices
20
Requirement Error Categories
From literature survey of software engineering, psychology and human cognitive fields
G.S. Walia, J.C. Carver
A systematic literature review to identify and classify software requirement errors
Inform. Softw. Technol., 51 (2009), pp. 1087–1109
If one person wrote it with
one intent and another person
reads it differently, it is
ambiguous.
21
Requirement Ambiguities Across Other Fields
Requirements: What can go wrong?
• Ambiguity of reference
• Dangling Else
• Omissions
─ Causes without effects
─ Missing effects
─ Effects without causes
• Ambiguous logical operators
─ OR, AND, NOR, NAND
─ Implicit connectors
─ Compound operators
• Negation
─ Scope of negation
─ Unnecessary negation
─ Double negation
• Ambiguous statements
─ Verbs, adverbs, adjectives
─ Variables, unnecessary aliases
Fact: If something is ambiguous in the
specs it will nearly always result in a
defect(s) in the code.
Examples:
It, This, The above, The previous, Them, These, They.
“Add field A to field B.
This number must be positive.”
Must be, will be, is one of, should be, could be.
“The value must be either A, B, or C.”
Else? An error condition?
23
Code Reviews
• Keep it Small – Large teams are not productive and have diminishing
returns.
• Rigor and scheduling must be adhered to.
• Effectiveness of review depends on experience of reviewer.
• Can eliminate coding defects by 40-50% or more.
• Collaborative code review platforms
like Gerrit, CodeFlow, Collaborator, ReviewBoard or Crucible.
24
Static Analysis
• Is this the way we engineer software?
• What is static analysis?
• Rules Engine: Code Patterns for Reliability, Performance,
and Security.
• How can it help?
• Leaks, crashes, deadlocks, security vulnerabilities, etc.—
problems that might otherwise take weeks to find.
25
Review Points
• Defect prevention and removal is a proven method to cost and schedule reduction.
• The point at which most failing projects first show signs of serious trouble is when
testing starts. Many projects that are cancelled or have major delays for delivery
showed no signs of distress until testing started.
• Although prevention and pre-test defect removal activities have been utilized since the
software industry began, the literature on software quality is sparse: there is a 20 to 1
ratio between books on testing and books on prevention and pre-test removal
activities.
• From an economic viewpoint prevention and pre-test defect removal is even more
important than testing because it raises testing efficiency, lowers testing costs,
shortens testing schedules, and generates a very solid return on investment.
• From both an economic and quality assurance standpoint, defect prevention, pre-test
defect removal, and formal testing are all necessary to achieve a combination of low
costs, short schedules, and low levels of defects present in the software when it is
delivered to customers.

Mais conteúdo relacionado

Mais procurados

Mt s13 defect_management
Mt s13 defect_managementMt s13 defect_management
Mt s13 defect_management
TestingGeeks
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
Yogindernath Gupta
 
Defect Analysis & Prevention, Data Mining & Visualization of Defect Matrix
Defect Analysis & Prevention, Data Mining & Visualization of Defect MatrixDefect Analysis & Prevention, Data Mining & Visualization of Defect Matrix
Defect Analysis & Prevention, Data Mining & Visualization of Defect Matrix
Aniruddha Sahasrabudhe
 

Mais procurados (20)

Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
ISTQB Foundation Level Basic
ISTQB Foundation Level BasicISTQB Foundation Level Basic
ISTQB Foundation Level Basic
 
Defect analysis and prevention methods
Defect analysis and prevention methods Defect analysis and prevention methods
Defect analysis and prevention methods
 
Mt s13 defect_management
Mt s13 defect_managementMt s13 defect_management
Mt s13 defect_management
 
Test automation process
Test automation processTest automation process
Test automation process
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1ISTQB / ISEB Foundation Exam Practice -1
ISTQB / ISEB Foundation Exam Practice -1
 
Sa03 tactics
Sa03 tacticsSa03 tactics
Sa03 tactics
 
ISTQB foundation level - day 2
ISTQB foundation level - day 2ISTQB foundation level - day 2
ISTQB foundation level - day 2
 
Defect Analysis & Prevention, Data Mining & Visualization of Defect Matrix
Defect Analysis & Prevention, Data Mining & Visualization of Defect MatrixDefect Analysis & Prevention, Data Mining & Visualization of Defect Matrix
Defect Analysis & Prevention, Data Mining & Visualization of Defect Matrix
 
Iseb, ISTQB Static Testing
Iseb, ISTQB Static TestingIseb, ISTQB Static Testing
Iseb, ISTQB Static Testing
 
ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3ISTQB Foundation - Chapter 3
ISTQB Foundation - Chapter 3
 
defect tracking and management
defect tracking and management   defect tracking and management
defect tracking and management
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Defects in software testing
Defects in software testingDefects in software testing
Defects in software testing
 

Semelhante a Develop a Defect Prevention Strategy—or Else!

Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
Terry Bunio
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
Hem Rana
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality Management
Radu_Negulescu
 

Semelhante a Develop a Defect Prevention Strategy—or Else! (20)

IT Quality Testing and the Defect Management Process
IT Quality Testing and the Defect Management ProcessIT Quality Testing and the Defect Management Process
IT Quality Testing and the Defect Management Process
 
chapter 7.ppt
chapter 7.pptchapter 7.ppt
chapter 7.ppt
 
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
Isabel Evans - Working Ourselves out of a Job: A Passion For Improvement - Eu...
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
 
olivier_a.pdf
olivier_a.pdfolivier_a.pdf
olivier_a.pdf
 
ThoughtWorks Approach 2009
ThoughtWorks Approach 2009ThoughtWorks Approach 2009
ThoughtWorks Approach 2009
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
 
Test Team Responsibilities
Test Team ResponsibilitiesTest Team Responsibilities
Test Team Responsibilities
 
Risk Driven Testing
Risk Driven TestingRisk Driven Testing
Risk Driven Testing
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality Management
 
Introduction to Quality Assurance Part 2
Introduction to Quality Assurance Part 2Introduction to Quality Assurance Part 2
Introduction to Quality Assurance Part 2
 
Introduction to Software Testing Part 2
Introduction to Software Testing Part 2Introduction to Software Testing Part 2
Introduction to Software Testing Part 2
 
Introduction to Software Testing - Part 2
Introduction to Software Testing - Part 2Introduction to Software Testing - Part 2
Introduction to Software Testing - Part 2
 
stfbegn.ppt
stfbegn.pptstfbegn.ppt
stfbegn.ppt
 
Software testing for beginners
Software testing for beginners Software testing for beginners
Software testing for beginners
 
Microsoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case StudiesMicrosoft Dynamics AX Implementation Stabilization Case Studies
Microsoft Dynamics AX Implementation Stabilization Case Studies
 

Mais de TechWell

Mais de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Develop a Defect Prevention Strategy—or Else!

  • 1. Presented by: Scott Aziz 24 October 2013 Develop a Defect Prevention Strategy – Or Else!
  • 2. 2 Agenda • Why is Defect Prevention Critical? • Cost & Quality / Time to Market Or Else! • Current Landscape & How Defect Prevention Can Help • Prevention Framework • Prevention Methods • Requirements Reviews • Ambiguity • Pre-Test Defect Removal Activities • Summary
  • 3. 3 Premise Why is Defect Prevention Critical? • Testing schedules for low-quality, large software projects are 2-3X longer and more than 2X as costly as testing for high-quality projects. • If defects remain undetected and unremoved until testing starts, it is too late to bring a software project back under control. It is much more cost-effective to prevent defects or to remove them prior to testing. • Prevention and Appraisal activities remove many more defects per Engineer-Hour than Failure activities, but organizations often invest very little in the time-proven methods.
  • 4. 4 What can we hope to change with defect prevention?
  • 5. 5 The Concern • About 40-50% of the effort on current software projects is spent on avoidable rework.1,2 – $0.50 out of every $1.00 for new/maintenance. – Repair and rework is the major software cost driver. – This is a restrictive business model. • 1. [Shull et al. 2002] Shull, F., V. Basili, B. Boehm, A.W. Brown, P. Costa, M. Lindvall, D. Port, I. Rus, R. Tesoreiro, and M. Zelkowitz. 2002.What we have learned about fighting defects. Proceedings of the 8th International Symposium on Software Metrics: • 2. Jones, Capers and Bonsignour, Olivier; The Economics of Software Quality; Addison Wesley; 2011. As an engineering discipline, we can do better. Much better.
  • 6. 6 Cost of Quality / Poor Quality Defined • Prevention Costs ─ Cost of activities to prevent poor quality • Appraisal Costs ─ Cost of activities to detect quality issues • Internal Failure Costs ─ Costs incurred to fix quality issues before delivery to customer • External Failure Costs ─ Costs due to failures after delivery to customer Prevention Costs • Training of development team • Requirements Analysis Appraisal Costs • Static Tests ─ Peer Review (also Prevention) ─ Code Walk-through • Dynamic Tests (Manual/ Automated) ─ Functional Testing ─ Performance Testing • Test Equipment Internal Failure Costs • Churn – Characterize/Fix/Re-Test • Opportunity cost of delayed delivery External Failure Costs • Bug fixing after delivery (All Types) • Customer support • Loss of business • Litigation • Fines
  • 7. 7 Why Should We Care about CoPQ? It’s an accounting problem – right? Not my job… Reduction of Cost is not the only factor • Quality, Time To Market, Customer Delight Isn't this just a cost of doing business? We have to take a leadership stance. • Manage IT as a business within a business. • Business growth enabled through lower costs. • Build the best product for lowest cost to best compete. Poor quality costs are too large to ignore.
  • 8. 8 Align IT Goals / Business 1 1 2 2 3 3 4 4 5 6 7 8 9 10 5 6 7 8 9 10 13 Not in top 20 Forrester Results From Survey Of Business And Technology Decision-Makers KPI Business rank IT rank IT cost per business service supported Internal customer satisfaction survey score IT spend by business objective (margin, revenue, growth, compliance, etc.) Percentage of IT projects that meet or exceed expected benefits Percentage of IT spend on run, grow, change the business Yr/Yr IT budget growth vs. revenue growth Yr/Yr unit cost of infrastructure, systems, apps maintenance IT spend as a percentage of business revenue Percentage of IT budget spend on R&D, emerging tech, pilots, innovations, etc. External customer satisfaction (your organization's customers) survey score Base: 16 CIOS, CMOs, and CFOs Source: A commissioned study conducted by Forrester Consulting on behalf of The Technology Business Management Council, September 2013
  • 9. 9 External Failures • Knight Trading Debacle in 2012 (Took 30 minutes to stop programmed trading; $440M loss) • Nasdaq FaceBook IPO (Pre-Market Trading System) • $62M Compensation Fund • Race Condition – only could have been discovered under heavy volume. 2012. • Investment firm AXA Rosenberg shelled out $217 million to cover investor losses from what it called a "significant error“ in the computer code for one of its investment models. • Issues are not limited to just financial companies… 2012.
  • 10. 10 Software Testing Profession Must Evolve Why Are These Costly Failures Occurring? • Minimal prevention activities – When more defects enter testing, the productivity of testing decreases due to engineering churn; i.e., the costs of testing is higher and the time to complete testing increases. • Casual test case design – multiple thorough studies show approximately 85% of defects in production could have been detected by simply testing all possible pairs of values.1 • Testing by untrained/uncertified test personnel What’s Next -> Regulation • The SEC is considering writing regulations that would require trading firms and other market participants to disclose issues with their trading programs and test them before they are used on the open market. 2 1. Source: IEEE Computer: Combinatorial Software Testing Aug, 2009 by Richard Kuhn, Raghu Kacker, Jeff Lei, and Justin Hunter. 2. Financial Times Newspaper, August 2012.
  • 11. 11 Visible / Hidden Internal & External Failure Visible External Failures (Cost of Poor Quality) Hidden Internal & External Failures (Cost of Poor Quality)
  • 12. 12 Internal & External Failures Example Engineering Cost per Hour $96 Developer effort spent on QA, rework, process, etc. 20% Management effort spent on QA, rework, process, etc. 10% Average hours spent to correct a defect that resulted in a change 14 Average hours to close a defect with a no-change resolution (duplicate, etc.) 3 Support costs attributed to poor quality 30% Group Change No Change Group 1 5,675 2,481 Group 2 8,410 2,231 Group 3 912 326 Group 4 7,056 4,243 Group 5 2,258 1,330 Group 6 6,795 2,251 Group 7 3,205 1,564 TOTAL 39,938 14,426 Rework Support Total Staff Cost Total COPQ TOTAL $53,076,827 $79,230,223 $444,129,231 $177,383,877
  • 13. 13 Minimal Early Activities = Technical Debt Requirements Injection Phase Design Injection Phase Coding Injection Phase Technical Debt Prevention and Appraisal activities remove many more defects per Engineer-Hour than Failure activities. Every defect that we can remove more economically leads to more money available to re-invest in better coverage methods and tools for testing. Early Lifecycle Testing Activities are not well planned due to: • Minimal Recognition • No Training • Few Tools • Project Inertia • Change Management
  • 14. 14 Testing is Too Late to Effect Enough Change Take Control
  • 15. 15 What Do We Do? • The only way to be in control of Quality is to shift it from the uncontrollable Failure Costs to the controllable Prevention/Appraisal Costs. • With each incremental increase in Appraisal activities, such as reviews, we can expect a corresponding and larger reduction in our Failure activities. Take Control -> Invest Upfront Change Management is difficult • Investments are needed to shift the majority of our Cost of Quality to the prevention and appraisal side of the equation. ─ CoQ will not only be reduced significantly, but it will also be more predictable and more manageable. • Mind-set change • Inspections are not the most enjoyable engineering task compared to designing and coding. • Inspections are labor intensive and low tech, but they do work. • The importance of removing defects pre-test; organizational goals.
  • 16. 16 Framework for Prevention Causal Analysis and Resolution: part of many process improvement models (CMMI, ISO, SixSigma) • An organization-level team to coordinate defect prevention activities exists. • A team to coordinate defect prevention activities for the software project exists. • Adequate resources and funding are provided for defect prevention activities at the project and organization levels. • Members of the software engineering group and other software related groups receive required training to perform their defect prevention activities.
  • 17. 17 Prevention Activities Pre-Code  Reusable requirements, architecture, design, and code  Requirements / Design Reviews  Requirements Testing / Modelling  QFD, Kaizen for software  Using quality-strong methodologies such as RUP and TSP  Agile: Test First, Then Code; Tests are the Requirements. Post-Code  Code Review  Static Analysis Eliminate difficult work Eliminate waste in process Identify areas of improvement Experiment with solutions to problems
  • 18. 18 Measuring Prevention Function Points • Without prevention: Function Points ^1.2. • With Prevention: Function Points ^1.05-1.15 Number of Defects = 250 @ 100 Function Points. Quality Strong Methods = 199 = ^1.15 Requirements Testing = 150: ^1.05-1.10
  • 20. 20 Requirement Error Categories From literature survey of software engineering, psychology and human cognitive fields G.S. Walia, J.C. Carver A systematic literature review to identify and classify software requirement errors Inform. Softw. Technol., 51 (2009), pp. 1087–1109 If one person wrote it with one intent and another person reads it differently, it is ambiguous.
  • 22. Requirements: What can go wrong? • Ambiguity of reference • Dangling Else • Omissions ─ Causes without effects ─ Missing effects ─ Effects without causes • Ambiguous logical operators ─ OR, AND, NOR, NAND ─ Implicit connectors ─ Compound operators • Negation ─ Scope of negation ─ Unnecessary negation ─ Double negation • Ambiguous statements ─ Verbs, adverbs, adjectives ─ Variables, unnecessary aliases Fact: If something is ambiguous in the specs it will nearly always result in a defect(s) in the code. Examples: It, This, The above, The previous, Them, These, They. “Add field A to field B. This number must be positive.” Must be, will be, is one of, should be, could be. “The value must be either A, B, or C.” Else? An error condition?
  • 23. 23 Code Reviews • Keep it Small – Large teams are not productive and have diminishing returns. • Rigor and scheduling must be adhered to. • Effectiveness of review depends on experience of reviewer. • Can eliminate coding defects by 40-50% or more. • Collaborative code review platforms like Gerrit, CodeFlow, Collaborator, ReviewBoard or Crucible.
  • 24. 24 Static Analysis • Is this the way we engineer software? • What is static analysis? • Rules Engine: Code Patterns for Reliability, Performance, and Security. • How can it help? • Leaks, crashes, deadlocks, security vulnerabilities, etc.— problems that might otherwise take weeks to find.
  • 25. 25 Review Points • Defect prevention and removal is a proven method to cost and schedule reduction. • The point at which most failing projects first show signs of serious trouble is when testing starts. Many projects that are cancelled or have major delays for delivery showed no signs of distress until testing started. • Although prevention and pre-test defect removal activities have been utilized since the software industry began, the literature on software quality is sparse: there is a 20 to 1 ratio between books on testing and books on prevention and pre-test removal activities. • From an economic viewpoint prevention and pre-test defect removal is even more important than testing because it raises testing efficiency, lowers testing costs, shortens testing schedules, and generates a very solid return on investment. • From both an economic and quality assurance standpoint, defect prevention, pre-test defect removal, and formal testing are all necessary to achieve a combination of low costs, short schedules, and low levels of defects present in the software when it is delivered to customers.