SlideShare a Scribd company logo
Ian McDonald
   Root Cause Analysis - Presentation




© 2010 Ian McDonald




                                        1
Capability Maturity Model (CMM)
The importance of a good CMM profile is to
  achieve:
 Better customer satisfaction
 Increased quality
 More accurate schedules
 Lower development costs
 Substantial return on investment
 Improved employee morale and reduced
  turnover
                                             2
CMM Levels

The levels within CMM are:
2. Initial (chaotic, ad hoc, individual heroics) - the starting
   point for use of a new process.
3. Managed - the process is managed according to the
   metrics described in the Defined stage.
4. Defined - the process is defined/confirmed as a
   standard business process, and decomposed to levels
   0, 1 and 2 (the latter being Work Instructions).
5. Quantitatively managed
6. Optimizing - process management includes deliberate
   process optimization/improvement.


                                                                  3
Optimisation CMM Level 5

1.   Level 5 is about not only collecting metrics, but using
     these to feedback into the company processes to
     improve the process further.
2.   This presentation addresses the opportunities for
     improvement from the collection of Defect Record
     Metrics. In particular two processes as part of the life
     cycle:
3.   Root Cause Analysis (RCA) – covered within this
     presentation.
4.   Test Escape Analysis (TEA) – covered in a further
     presentation, but mentioned here for clarification.


                                                                4
Cost of Defect Fixing

 It can take one person 10 minutes to find a
  defect in requirements, 10 minutes to fix
  the document. Cost £10 per defect
  (2010).
 Finding the same defect in Functional Test
  and then Fixing. Cost £211 per defect.
 Finding the same single defect in System
  Integration Testing. Cost £587 per defect.
 Cost following delivery £? + £Reputation.

                                            5
RCA vs TEA

 Root Cause Analysis (RCA) allows us to
  learn, rectify and avoid future defect
  injection. Providing we use the data.
 Test Escape Analysis (TEA) in contrast
  allows us to become more efficient at
  testing and avoid future defects from
  escaping detection. Provided we use the
  data.

                                            6
Cost of Defect Fixing
   It can take one person 10 minutes to find a defect in
    requirements, 10 minutes to fix the document. Cost £10
    per defect.
   Finding the same defect in Functional Test and then
    Fixing. Cost £211 per defect.
   Finding the same single defect in System Integration
    Testing. Cost £587 per defect.
   Cost following delivery £? + £Reputation.
    Ideally we want to prevent the defect injection in the first
    place and be able to find those defects that do occur a
    lot sooner. RCA and TEA ultimately lead to budget
    savings and faster delivery.


                                                                   7
Purpose

   Root Cause Analysis is aimed at
    the code programming – why
    was the defect introduced.
       Analogy why did the tightrope
        walker fall
   TEA in contrast is about why a
    defect was not detected.
       Analogy why did we not catch the
        falling tightrope walker.



                                           8
Purpose
 We do RCA to improve our
development techniques. This might
result for example in changes in design
methods, review check lists updated,
training, new tools deployed, etc. RCA is
targeted at developers.
 We do TEA to learn how to detect
more defects and how to detect them
sooner and smarter. The ultimate goal is
to drive down the number of defects
leaking to the customer by finding those
defects ourselves first.


                                            9
TEA and RCA Handling
 Both RCA and TEA are handled as part of the Defect Management
  process. Collecting data within the Defect Management Database,
  using the Defect Management Tooling deployed.
 TEA is handled on a statistical bases by development team (a tester
  and developer – to assist in setting the context of the defect fix). The
  process helps the test team to prioritise specific test design
  approaches (e.g. methods as described within BS7925-2 and other
  such test design methods such as Classification Tree). The outcome
  is to ensure that we learn from the experience and apply the right test
  design techniques or right test tooling far sooner in the development
  and test lifecycle. That means we spend less time and money testing
  and fixing defects.
 TEA is targeted at a particular phase of a project, to avoid future
  defect leeks beyond that phase. It uses only a sample of defects
  (e.g. Customer Reported Critical and High Severity), it will aim
  typically to address 80% of the defects within the targeted group and
  is about spotting trends. TEA accepts that not all defects will be
  capable of being identified as being able to prevent earlier.

                                                                        10
TEA and RCA Handling

   RCA in contrast is carried out for ALL defects. at
    all levels of the product life cycle. It can be
    carried out by the development team as defects
    are reported and fixed. However it is mandated
    to be completed by the time the defect is declared
    fixed and ready for test. The test team need to
    ensure that the RCA process has been
    completed at the time the Defect is received,
    before closing the defect. This is important since
    the RCA report may prompt additional targeted
    testing. Consequently RCA also has a side
    benefit in that it can prompt improved defect fix
    testing.
                                                    11
Benefits of RCA
    This is about collecting data that influences change for the better. The information may
    lead for example to:
   An individual ABC has always used a particular method to set up a call to a procedure,
    this quick method has been passed onto other team members. However on the new
    project this often causes problems, which is fixed later by the defect fixing team.
    Spotting this reoccurring problem will mean that we can simply talk to the team and
    point out the reoccurring problem and prevent this type of defect being re-injected. We
    might also want to update the project review check list, to spot these problems sooner.
   We may have specific problems with a COTS package, which may lead to a
    commercial decision to create a specific support process or use a different package.
   We may be interfacing with customer legacy code that is being maintained by another
    team or company. Having the metrics that show that we are having problems with
    changes that break links can be helpful in changing process operating procedures.
   We might have issues with operating system changes.
   We may need to adapt to a different compiler (e.g. we are using techniques that only
    worked on the previous one in a different project).
   We may need to update our company training. e.g. we may have issues with the way
    requirements are defined and reviewed. OR we may find that we are letting too many
    defects through at review and we may want to look at how the review process is
    running.
   We may have race conditions in code that require that in future we do specific timing
    checks, or use specific methods to prevent future conditions arising.


                                                                                         12
When Triggered in Defect Life Cycle
   RCA data can be collected at any point within a defect
    lifecycle. This is because information about the cause of
    the defect starts to become available at the moment the
    defect is reported. This information can later be
    updated, however by the time the defect is declared
    fixed and ready for test RCA is mandatory.
   TEA can be triggered in a number of ways:
       By a defect being raised to the triggered criteria (e.g. Customer
        Reported, Critical or High Severity, Defect Fixed and an RCA
        report raised).
       By manually choosing to include a TEA report.
            Either as an early report for the targeted classification of defects.
            OR for any other type of defect.


                                                                                     13
Commonality between TEA and
RCA
    Within the defect data fields, there will be some
    commonality between TEA and RCA, as both
    processes will want to use SOME common data
    e.g:
   Reason fault introduced
   Development Phase fault introduced (we will
    want this to fit the delivery life cycle
    management process)
   Code designed from (e.g. Customer
    Requirements, Engineering Requirements, API
    Specification, etc)
                                                    14
Reason Introduced
 A shared field with the main Defect between RCA and TEA. The record can
  be changed from any of the reports.
 Fields include:
       Code Missing
       Code not fully built or tested      Stage Defect Introduced:
       Coding Error                        “Earliest stage in the processes
       Design Incorrect                    that the defect could have been
       Design Missing or Incomplete        prevented”.
       Design Unclear                      Reason Introduced:
       Environment Unavailable             “Provide finer detail as to the initial
                                            root cause of the defect”.
       Initial Fix Incomplete
       Initial Fix Incorrect
       Requirement Incorrect
       Requirement Missing or Incomplete
       Requirement Unclear
       Standards Not Followed
       Typing Mistake
       Other (free text)


                                                                                      15
Development Phase
 Requirements Review,
 Design Review,
 Code Review,          Phase Defect Introduced:
                        “Earliest phase in the processes

 Unit Test,            that the defect was introduced”.
                        This should ideally fit within the
                        Delivery Life Cycle process.
 Component Test,
 Component Integration Test,
 System Test



                                                             16
Code Designed From
 API Spec,
 Detail Design,          What was the source used,
                          from which the code with the
 Requirement,            defect was created?


 Standards,
 Functional Specification,
 Developer Led Requirements,
 Other (Selecting Other allows a free text
  field to be used).

                                                         17
Typical data to collect within RCA
   In addition with the data that is common with TEA, one
    may want to consider the following.
   However one can update and change this list. It may be
    for example that in looking at System Architecture that
    we have a lot of defects and we decide to provide sub-
    clauses to help us manage these. On the other hand we
    may find that coding contains too many options to be
    useful and we decide to reduce or group options. The
    point being is that we collect data to bring about
    improvement and we do not collect data for the sake of
    it.:
   This is considering a Software project and Hardware
    projects will need different data collecting.

                                                         18
RCA Data Capture
                                                          Recursion
Database Error                                            Resource
Coding Error “Identify list of common coding problems.”   •    Null Pointer
   Arithmetic                                            •    Un-initialised Pointer
         Division by zero                                •    Data Type
         Arithmetic overflow                             •    Access Violations
         Arithmetic Underflow                            •    Memory Handling
         Precision                                       •    File Handling
         Rounding                                        •    Buffer Overflow
         Arithmetic Stability                            •    Storage Violation
   Boundary Condition or Off Bye One Error (OBOE)        •    Stack Overflow
   Compatibility                                         Security – Coding Issue
   Browser                                               •    Buffer Overflows
                                                          •    Format Strings
   Operating System                                      •    Canonicalization
   Interface                                             •    Privilege Checking
   GUI Related                                           •    Script Injection
   Logic                                                 •    Information Leakage
   Infinite Loops                                        •    Error Handling
   Busy Wait Loops                                       Syntax
   Deadlock – two or more actions are each waiting for
    the other to finish                                   Team working - clashes due to conflicting changes
   Memory Access Violation                                   within code
   Race Condition
                                                          Hardware Compatibility

                                                          System Architecture Error

                                                          Other (plus free text)

                                                                                                      19
Summary
    For projects where products are continually
     revised and updated, TEA can help to reduce
     defect leakage.
    It can also be useful for large programmes
     targeting reviews at past phases.
    The defect record fields need to be set up to
     accommodate TEA.
    TEA reviews are targeted at sample batches
     the reviewers are seeking patterns to discover
     where to target test improvement.

                                                      20

More Related Content

What's hot

Root cause analysis using 5 whys
Root cause analysis using 5 whysRoot cause analysis using 5 whys
Root cause analysis using 5 whys
Fahmi Ramadhan Putra
 
Root Cause And Corrective Action Workshop Cinci Asq 2009
Root Cause And Corrective Action Workshop  Cinci Asq 2009Root Cause And Corrective Action Workshop  Cinci Asq 2009
Root Cause And Corrective Action Workshop Cinci Asq 2009
roycohen
 
Root Cause Analysis By Deepak
Root Cause Analysis By DeepakRoot Cause Analysis By Deepak
Root Cause Analysis By Deepak
DEEPAK SAHOO
 
5 whys
5 whys5 whys
5 whys
NagNikki
 
Managing staff poor performance handling staff capability issues
Managing staff poor performance handling staff capability issuesManaging staff poor performance handling staff capability issues
Managing staff poor performance handling staff capability issues
The Pathway Group
 
Rca Case Study R6
Rca Case Study R6Rca Case Study R6
Rca Case Study R6
Tarek Elneil
 
Root cause analysis training
Root cause analysis trainingRoot cause analysis training
Root cause analysis training
VISCAR INDUSTRIAL CAPACITY
 
Root Cause Analysis
Root Cause AnalysisRoot Cause Analysis
Root Cause Analysis
mtalhausmani
 
Casual factor charting
Casual factor chartingCasual factor charting
Casual factor charting
Gamal Mahran
 
5 why analysis training presentaion
5 why analysis training presentaion5 why analysis training presentaion
5 why analysis training presentaion
Dharmesh Panchal
 
Mini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem managementMini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem management
Betclic Everest Group Tech Team
 
Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...
Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...
Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...
Gaurav Singh Rajput
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
Rental Solutions and Services
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysisSimmy Sharma
 
TPM: Quality Maintenance (Hinshitsu Hozen) Poster
TPM: Quality Maintenance (Hinshitsu Hozen) PosterTPM: Quality Maintenance (Hinshitsu Hozen) Poster
TPM: Quality Maintenance (Hinshitsu Hozen) Poster
Operational Excellence Consulting
 
Root cause analysis common problems and solutions
Root cause analysis common problems and solutions Root cause analysis common problems and solutions
Root cause analysis common problems and solutions
ASQ Reliability Division
 
Root cause analysis by: ICG Team
Root cause analysis by: ICG TeamRoot cause analysis by: ICG Team
Root cause analysis by: ICG Team
Innovation Centric Group
 
Basic 8D Problem Solving Tools & Methods - Part 2
Basic 8D Problem Solving Tools & Methods - Part 2Basic 8D Problem Solving Tools & Methods - Part 2
Basic 8D Problem Solving Tools & Methods - Part 2
Tony Alvarez
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
Ronald Bartels
 
7 Steps to a Working Failure Reporting System - FRACAS
7 Steps to a Working Failure Reporting System - FRACAS7 Steps to a Working Failure Reporting System - FRACAS
7 Steps to a Working Failure Reporting System - FRACAS
Ricky Smith CMRP, CMRT
 

What's hot (20)

Root cause analysis using 5 whys
Root cause analysis using 5 whysRoot cause analysis using 5 whys
Root cause analysis using 5 whys
 
Root Cause And Corrective Action Workshop Cinci Asq 2009
Root Cause And Corrective Action Workshop  Cinci Asq 2009Root Cause And Corrective Action Workshop  Cinci Asq 2009
Root Cause And Corrective Action Workshop Cinci Asq 2009
 
Root Cause Analysis By Deepak
Root Cause Analysis By DeepakRoot Cause Analysis By Deepak
Root Cause Analysis By Deepak
 
5 whys
5 whys5 whys
5 whys
 
Managing staff poor performance handling staff capability issues
Managing staff poor performance handling staff capability issuesManaging staff poor performance handling staff capability issues
Managing staff poor performance handling staff capability issues
 
Rca Case Study R6
Rca Case Study R6Rca Case Study R6
Rca Case Study R6
 
Root cause analysis training
Root cause analysis trainingRoot cause analysis training
Root cause analysis training
 
Root Cause Analysis
Root Cause AnalysisRoot Cause Analysis
Root Cause Analysis
 
Casual factor charting
Casual factor chartingCasual factor charting
Casual factor charting
 
5 why analysis training presentaion
5 why analysis training presentaion5 why analysis training presentaion
5 why analysis training presentaion
 
Mini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem managementMini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem management
 
Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...
Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...
Root Cause Analysis | 5 whys | Tools of accident investigation I Gaurav Singh...
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
 
TPM: Quality Maintenance (Hinshitsu Hozen) Poster
TPM: Quality Maintenance (Hinshitsu Hozen) PosterTPM: Quality Maintenance (Hinshitsu Hozen) Poster
TPM: Quality Maintenance (Hinshitsu Hozen) Poster
 
Root cause analysis common problems and solutions
Root cause analysis common problems and solutions Root cause analysis common problems and solutions
Root cause analysis common problems and solutions
 
Root cause analysis by: ICG Team
Root cause analysis by: ICG TeamRoot cause analysis by: ICG Team
Root cause analysis by: ICG Team
 
Basic 8D Problem Solving Tools & Methods - Part 2
Basic 8D Problem Solving Tools & Methods - Part 2Basic 8D Problem Solving Tools & Methods - Part 2
Basic 8D Problem Solving Tools & Methods - Part 2
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
 
7 Steps to a Working Failure Reporting System - FRACAS
7 Steps to a Working Failure Reporting System - FRACAS7 Steps to a Working Failure Reporting System - FRACAS
7 Steps to a Working Failure Reporting System - FRACAS
 

Viewers also liked

Root Cause Analysis - When is a problem not a problem?
Root Cause Analysis - When is a problem not a problem?Root Cause Analysis - When is a problem not a problem?
Root Cause Analysis - When is a problem not a problem?
ARMS Reliability
 
Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...
Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...
Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...
ARMS Reliability
 
ATC2013-Harshawardhan- Effective requirement management-in_distributed_agile
ATC2013-Harshawardhan- Effective requirement management-in_distributed_agileATC2013-Harshawardhan- Effective requirement management-in_distributed_agile
ATC2013-Harshawardhan- Effective requirement management-in_distributed_agileIndia Scrum Enthusiasts Community
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - Analysis
Randy Connolly
 
Root cause Analysis of Defects
Root cause Analysis of DefectsRoot cause Analysis of Defects
Root cause Analysis of Defects
David Gevorgyan
 
Software Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & AnalysisSoftware Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & Analysis
OAK Systems Pvt Ltd
 
Building a Safety Culture
Building a Safety CultureBuilding a Safety Culture
Building a Safety Culture
Proactive Safety Services, LLC
 
UCSD Class: A3 Management and Root Cause Analysis
UCSD Class: A3 Management and Root Cause AnalysisUCSD Class: A3 Management and Root Cause Analysis
UCSD Class: A3 Management and Root Cause Analysis
TKMG, Inc.
 
Root Cause Analysis (RCA) Tools
Root Cause Analysis (RCA) ToolsRoot Cause Analysis (RCA) Tools
Root Cause Analysis (RCA) Tools
Jeremy Jay V. Lim, MBB, PMP
 

Viewers also liked (11)

Root Cause Analysis - When is a problem not a problem?
Root Cause Analysis - When is a problem not a problem?Root Cause Analysis - When is a problem not a problem?
Root Cause Analysis - When is a problem not a problem?
 
Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...
Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...
Jack Jager AMPEAK 2014 Presentation - 6 steps for a successful root cause ana...
 
ATC2013-Harshawardhan- Effective requirement management-in_distributed_agile
ATC2013-Harshawardhan- Effective requirement management-in_distributed_agileATC2013-Harshawardhan- Effective requirement management-in_distributed_agile
ATC2013-Harshawardhan- Effective requirement management-in_distributed_agile
 
5 why analysis
5 why analysis5 why analysis
5 why analysis
 
OO Development 5 - Analysis
OO Development 5 - AnalysisOO Development 5 - Analysis
OO Development 5 - Analysis
 
Root cause Analysis of Defects
Root cause Analysis of DefectsRoot cause Analysis of Defects
Root cause Analysis of Defects
 
Software Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & AnalysisSoftware Testing - Defect Metrics & Analysis
Software Testing - Defect Metrics & Analysis
 
Building a Safety Culture
Building a Safety CultureBuilding a Safety Culture
Building a Safety Culture
 
UCSD Class: A3 Management and Root Cause Analysis
UCSD Class: A3 Management and Root Cause AnalysisUCSD Class: A3 Management and Root Cause Analysis
UCSD Class: A3 Management and Root Cause Analysis
 
Root Cause Analysis (RCA) Tools
Root Cause Analysis (RCA) ToolsRoot Cause Analysis (RCA) Tools
Root Cause Analysis (RCA) Tools
 
Rajesh HR resume
Rajesh HR resumeRajesh HR resume
Rajesh HR resume
 

Similar to RCA Presentation V0 1

TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
Ian McDonald
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
HCL Technologies
 
Whitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/POWhitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/PO
Daniel Graversen
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank English
Marcus Drost
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman Shukla
AbhishekKumar773294
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
CAST
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
zynofustechnology
 
Error Proofing And Cost Reduction 2
Error Proofing And Cost Reduction 2Error Proofing And Cost Reduction 2
Error Proofing And Cost Reduction 2
Brian King
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
Ian McDonald
 
Traf testing requirement analysis framework
Traf testing requirement analysis frameworkTraf testing requirement analysis framework
Traf testing requirement analysis framework
Tarun Aarya
 
RCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testingRCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testing
Indium Software
 
Fundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraFundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary Candra
And11ka
 
TESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATION
TESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATIONTESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATION
TESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATION
KMSSolutionsMarketin
 
fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)
diana fitri, S.Kom
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software Testing
Kumari Warsha Goel
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
Pravinsinh
 
Manual testing
Manual testingManual testing
Manual testingAjit Jain
 
Improve Tech Pre Calibration Project Book
Improve Tech Pre Calibration Project BookImprove Tech Pre Calibration Project Book
Improve Tech Pre Calibration Project Book
rams4680
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
muhamad iqbal
 

Similar to RCA Presentation V0 1 (20)

TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
HCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing MetricsHCLT Whitepaper: Landmines of Software Testing Metrics
HCLT Whitepaper: Landmines of Software Testing Metrics
 
Whitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/POWhitepaper: How to perform better test on SAP PI/PO
Whitepaper: How to perform better test on SAP PI/PO
 
Workshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank EnglishWorkshop BI/DWH AGILE TESTING SNS Bank English
Workshop BI/DWH AGILE TESTING SNS Bank English
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman Shukla
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
 
Error Proofing And Cost Reduction 2
Error Proofing And Cost Reduction 2Error Proofing And Cost Reduction 2
Error Proofing And Cost Reduction 2
 
Estimating test effort part 1 of 2
Estimating test effort part 1 of 2Estimating test effort part 1 of 2
Estimating test effort part 1 of 2
 
Traf testing requirement analysis framework
Traf testing requirement analysis frameworkTraf testing requirement analysis framework
Traf testing requirement analysis framework
 
RCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testingRCA on Residual defects – Techniques for adaptive Regression testing
RCA on Residual defects – Techniques for adaptive Regression testing
 
Fundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary CandraFundamentals of Testing - Andika Dwi Ary Candra
Fundamentals of Testing - Andika Dwi Ary Candra
 
TESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATION
TESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATIONTESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATION
TESTING STRATEGIES TO ENSURE A CORE BANKING TRANSFORMATION
 
fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)fundamentals of testing (Fundamental of testing what)
fundamentals of testing (Fundamental of testing what)
 
Some Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software TestingSome Commonly Asked Question For Software Testing
Some Commonly Asked Question For Software Testing
 
Manual testing interview question by INFOTECH
Manual testing interview question by INFOTECHManual testing interview question by INFOTECH
Manual testing interview question by INFOTECH
 
Manual testing
Manual testingManual testing
Manual testing
 
Improve Tech Pre Calibration Project Book
Improve Tech Pre Calibration Project BookImprove Tech Pre Calibration Project Book
Improve Tech Pre Calibration Project Book
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 

More from Ian McDonald

Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2
Ian McDonald
 
Choosing an alm tool set
Choosing an alm tool setChoosing an alm tool set
Choosing an alm tool set
Ian McDonald
 
Requirements Verification v3
Requirements Verification v3Requirements Verification v3
Requirements Verification v3
Ian McDonald
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test design
Ian McDonald
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Ian McDonald
 
Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Estimating test effort part 2 of 2
Estimating test effort part 2 of 2
Ian McDonald
 
CTE Presentation V2
CTE Presentation V2CTE Presentation V2
CTE Presentation V2
Ian McDonald
 

More from Ian McDonald (7)

Non functional performance requirements v2.2
Non functional performance requirements v2.2Non functional performance requirements v2.2
Non functional performance requirements v2.2
 
Choosing an alm tool set
Choosing an alm tool setChoosing an alm tool set
Choosing an alm tool set
 
Requirements Verification v3
Requirements Verification v3Requirements Verification v3
Requirements Verification v3
 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test design
 
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013Implementing test scripting   Ian McDonald updated (minor changes) 26-04-2013
Implementing test scripting Ian McDonald updated (minor changes) 26-04-2013
 
Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Estimating test effort part 2 of 2
Estimating test effort part 2 of 2
 
CTE Presentation V2
CTE Presentation V2CTE Presentation V2
CTE Presentation V2
 

RCA Presentation V0 1

  • 1. Ian McDonald Root Cause Analysis - Presentation © 2010 Ian McDonald 1
  • 2. Capability Maturity Model (CMM) The importance of a good CMM profile is to achieve:  Better customer satisfaction  Increased quality  More accurate schedules  Lower development costs  Substantial return on investment  Improved employee morale and reduced turnover 2
  • 3. CMM Levels The levels within CMM are: 2. Initial (chaotic, ad hoc, individual heroics) - the starting point for use of a new process. 3. Managed - the process is managed according to the metrics described in the Defined stage. 4. Defined - the process is defined/confirmed as a standard business process, and decomposed to levels 0, 1 and 2 (the latter being Work Instructions). 5. Quantitatively managed 6. Optimizing - process management includes deliberate process optimization/improvement. 3
  • 4. Optimisation CMM Level 5 1. Level 5 is about not only collecting metrics, but using these to feedback into the company processes to improve the process further. 2. This presentation addresses the opportunities for improvement from the collection of Defect Record Metrics. In particular two processes as part of the life cycle: 3. Root Cause Analysis (RCA) – covered within this presentation. 4. Test Escape Analysis (TEA) – covered in a further presentation, but mentioned here for clarification. 4
  • 5. Cost of Defect Fixing  It can take one person 10 minutes to find a defect in requirements, 10 minutes to fix the document. Cost £10 per defect (2010).  Finding the same defect in Functional Test and then Fixing. Cost £211 per defect.  Finding the same single defect in System Integration Testing. Cost £587 per defect.  Cost following delivery £? + £Reputation. 5
  • 6. RCA vs TEA  Root Cause Analysis (RCA) allows us to learn, rectify and avoid future defect injection. Providing we use the data.  Test Escape Analysis (TEA) in contrast allows us to become more efficient at testing and avoid future defects from escaping detection. Provided we use the data. 6
  • 7. Cost of Defect Fixing  It can take one person 10 minutes to find a defect in requirements, 10 minutes to fix the document. Cost £10 per defect.  Finding the same defect in Functional Test and then Fixing. Cost £211 per defect.  Finding the same single defect in System Integration Testing. Cost £587 per defect.  Cost following delivery £? + £Reputation. Ideally we want to prevent the defect injection in the first place and be able to find those defects that do occur a lot sooner. RCA and TEA ultimately lead to budget savings and faster delivery. 7
  • 8. Purpose  Root Cause Analysis is aimed at the code programming – why was the defect introduced.  Analogy why did the tightrope walker fall  TEA in contrast is about why a defect was not detected.  Analogy why did we not catch the falling tightrope walker. 8
  • 9. Purpose  We do RCA to improve our development techniques. This might result for example in changes in design methods, review check lists updated, training, new tools deployed, etc. RCA is targeted at developers.  We do TEA to learn how to detect more defects and how to detect them sooner and smarter. The ultimate goal is to drive down the number of defects leaking to the customer by finding those defects ourselves first. 9
  • 10. TEA and RCA Handling  Both RCA and TEA are handled as part of the Defect Management process. Collecting data within the Defect Management Database, using the Defect Management Tooling deployed.  TEA is handled on a statistical bases by development team (a tester and developer – to assist in setting the context of the defect fix). The process helps the test team to prioritise specific test design approaches (e.g. methods as described within BS7925-2 and other such test design methods such as Classification Tree). The outcome is to ensure that we learn from the experience and apply the right test design techniques or right test tooling far sooner in the development and test lifecycle. That means we spend less time and money testing and fixing defects.  TEA is targeted at a particular phase of a project, to avoid future defect leeks beyond that phase. It uses only a sample of defects (e.g. Customer Reported Critical and High Severity), it will aim typically to address 80% of the defects within the targeted group and is about spotting trends. TEA accepts that not all defects will be capable of being identified as being able to prevent earlier. 10
  • 11. TEA and RCA Handling  RCA in contrast is carried out for ALL defects. at all levels of the product life cycle. It can be carried out by the development team as defects are reported and fixed. However it is mandated to be completed by the time the defect is declared fixed and ready for test. The test team need to ensure that the RCA process has been completed at the time the Defect is received, before closing the defect. This is important since the RCA report may prompt additional targeted testing. Consequently RCA also has a side benefit in that it can prompt improved defect fix testing. 11
  • 12. Benefits of RCA This is about collecting data that influences change for the better. The information may lead for example to:  An individual ABC has always used a particular method to set up a call to a procedure, this quick method has been passed onto other team members. However on the new project this often causes problems, which is fixed later by the defect fixing team. Spotting this reoccurring problem will mean that we can simply talk to the team and point out the reoccurring problem and prevent this type of defect being re-injected. We might also want to update the project review check list, to spot these problems sooner.  We may have specific problems with a COTS package, which may lead to a commercial decision to create a specific support process or use a different package.  We may be interfacing with customer legacy code that is being maintained by another team or company. Having the metrics that show that we are having problems with changes that break links can be helpful in changing process operating procedures.  We might have issues with operating system changes.  We may need to adapt to a different compiler (e.g. we are using techniques that only worked on the previous one in a different project).  We may need to update our company training. e.g. we may have issues with the way requirements are defined and reviewed. OR we may find that we are letting too many defects through at review and we may want to look at how the review process is running.  We may have race conditions in code that require that in future we do specific timing checks, or use specific methods to prevent future conditions arising. 12
  • 13. When Triggered in Defect Life Cycle  RCA data can be collected at any point within a defect lifecycle. This is because information about the cause of the defect starts to become available at the moment the defect is reported. This information can later be updated, however by the time the defect is declared fixed and ready for test RCA is mandatory.  TEA can be triggered in a number of ways:  By a defect being raised to the triggered criteria (e.g. Customer Reported, Critical or High Severity, Defect Fixed and an RCA report raised).  By manually choosing to include a TEA report.  Either as an early report for the targeted classification of defects.  OR for any other type of defect. 13
  • 14. Commonality between TEA and RCA Within the defect data fields, there will be some commonality between TEA and RCA, as both processes will want to use SOME common data e.g:  Reason fault introduced  Development Phase fault introduced (we will want this to fit the delivery life cycle management process)  Code designed from (e.g. Customer Requirements, Engineering Requirements, API Specification, etc) 14
  • 15. Reason Introduced  A shared field with the main Defect between RCA and TEA. The record can be changed from any of the reports.  Fields include:  Code Missing  Code not fully built or tested Stage Defect Introduced:  Coding Error “Earliest stage in the processes  Design Incorrect that the defect could have been  Design Missing or Incomplete prevented”.  Design Unclear Reason Introduced:  Environment Unavailable “Provide finer detail as to the initial root cause of the defect”.  Initial Fix Incomplete  Initial Fix Incorrect  Requirement Incorrect  Requirement Missing or Incomplete  Requirement Unclear  Standards Not Followed  Typing Mistake  Other (free text) 15
  • 16. Development Phase  Requirements Review,  Design Review,  Code Review, Phase Defect Introduced: “Earliest phase in the processes  Unit Test, that the defect was introduced”. This should ideally fit within the Delivery Life Cycle process.  Component Test,  Component Integration Test,  System Test 16
  • 17. Code Designed From  API Spec,  Detail Design, What was the source used, from which the code with the  Requirement, defect was created?  Standards,  Functional Specification,  Developer Led Requirements,  Other (Selecting Other allows a free text field to be used). 17
  • 18. Typical data to collect within RCA  In addition with the data that is common with TEA, one may want to consider the following.  However one can update and change this list. It may be for example that in looking at System Architecture that we have a lot of defects and we decide to provide sub- clauses to help us manage these. On the other hand we may find that coding contains too many options to be useful and we decide to reduce or group options. The point being is that we collect data to bring about improvement and we do not collect data for the sake of it.:  This is considering a Software project and Hardware projects will need different data collecting. 18
  • 19. RCA Data Capture Recursion Database Error Resource Coding Error “Identify list of common coding problems.” • Null Pointer  Arithmetic • Un-initialised Pointer  Division by zero • Data Type  Arithmetic overflow • Access Violations  Arithmetic Underflow • Memory Handling  Precision • File Handling  Rounding • Buffer Overflow  Arithmetic Stability • Storage Violation  Boundary Condition or Off Bye One Error (OBOE) • Stack Overflow  Compatibility Security – Coding Issue  Browser • Buffer Overflows • Format Strings  Operating System • Canonicalization  Interface • Privilege Checking  GUI Related • Script Injection  Logic • Information Leakage  Infinite Loops • Error Handling  Busy Wait Loops Syntax  Deadlock – two or more actions are each waiting for the other to finish Team working - clashes due to conflicting changes  Memory Access Violation within code  Race Condition Hardware Compatibility System Architecture Error Other (plus free text) 19
  • 20. Summary  For projects where products are continually revised and updated, TEA can help to reduce defect leakage.  It can also be useful for large programmes targeting reviews at past phases.  The defect record fields need to be set up to accommodate TEA.  TEA reviews are targeted at sample batches the reviewers are seeking patterns to discover where to target test improvement. 20