Learning from Our Mistakes with Defect Causal Analysis. April 2001. Copyright 2001, Software Productivity Consortium NFP, Inc. All rights reserved.



Similar documents
USING DEFECT ANALYSIS FEEDBACK FOR IMPROVING QUALITY AND PRODUCTIVITY IN ITERATIVE SOFTWARE DEVELOPMENT

The Importance of Project Quality Management. What Is Project Quality? The International Organization for Standardization (ISO)

Body of Knowledge for Six Sigma Green Belt

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Wendell Bosen-MBA, CPCU, ARM-E Director, Risk Management Management & Training Corporation. Kristina Narvaez-MBA President & CEO ERM Strategies, LLC

Integrating Lean, Six Sigma, and CMMI. David N. Card

Chapter 8: Project Quality Management

Project Quality Management. Project Management for IT

Supplier Training 8D Problem Solving Approach Brooks Automation, Inc.

Quality Management of Software and Systems: Continuous Improvement Approaches

pm4dev, 2008 management for development series Project Quality Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Root Cause Analysis for IT Incidents Investigation

8D :: Problem Solving Worksheet

Defect Analysis and Prevention for Software Process Quality Improvement

Lean Six Sigma Training The DMAIC Story. Unit 6: Glossary Page 6-1

Fundamentals of Measurements

Defect Management in Agile Software Development

Leading Indicators for Project Management

PROJECT QUALITY MANAGEMENT

Learning Objectives Lean Six Sigma Black Belt Course

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

ITIL-CMM Process Comparison

SIX-STEP PROBLEM SOLVING MODEL

DMAIC PHASE REVIEW CHECKLIST

CAPA Essentials Root Cause Analysis Tools and Techniques

Darshan Institute of Engineering & Technology Unit : 7

Statistical Tune-Up of the Peer Review Engine to Reduce Escapes

Moving from ISO9000 to the Higher Levels of the Capability Maturity Model (CMM)

Unit 1: Introduction to Quality Management

Effective Root Cause Analysis For Corrective and Preventive Action

QUIZ MODULE 1: BASIC CONCEPTS IN QUALITY AND TQM

Peer Review Process Description

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

Common Tools for Displaying and Communicating Data for Process Improvement

Application Support Solution

ENGINEERING COMPETENCIES ENTRY LEVEL ENGINEER. Occupation Specific Technical Requirements

SEI Level 2, 3, 4, & 5 1 Work Breakdown Structure (WBS)

Establishing a Defect Management Process Model for Software Quality Improvement

Utilization of Statistical Process Control in Defined Level Software Companies to Manage Processes Using Control Charts with Three Sigma

Peer Review Process Description

Reliability Analysis A Tool Set for. Aron Brall

PROJECT MANAGEMENT PLAN Outline VERSION 0.0 STATUS: OUTLINE DATE:

Measurement Information Model

Total Quality Management and Cost of Quality

Introduction to the ITS Project Management Methodology

Resource Management. Determining and managing the people resources on projects can be complex as:

PROJECT SCOPE MANAGEMENT

Coverity White Paper. Effective Management of Static Analysis Vulnerabilities and Defects

PMP Examination Tasks Puzzle game

Software Process Improvement CMM

The Role of the Quality Group in Software Development

Root Cause Analysis for Customer Reported Problems. Topics

Corrective and Preventive Action Background & Examples Presented by:

The Software Life Cycle. CSE 308: Software Engineering

Implementation of Lean Six Sigma Principles: Making Data Cleansing Lean

MNLARS Project Audit Checklist

Continuous Improvement Toolkit

Optimizing IV&V Benefits Using Simulation

Topic 12 Total Quality Management. From Control to Management. Deming s Fourteen Points for TQM

Software Quality Data Part 1: Basic and Derived Metrics

Process Improvement. Objectives

Accident Investigations -- ISRI Safety Council

Measurement and Metrics Fundamentals. SE 350 Software Process & Product Quality

Lean Silver Certification Blueprint

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Orthogonal Defect Classification in Agile Development

CDC UNIFIED PROCESS PRACTICES GUIDE

Capability Maturity Model Software Development Using Cleanroom Software Engineering Principles - Results of an Industry Project

Lean Six Sigma Black Belt-EngineRoom

Certified Software Quality Engineer (CSQE) Body of Knowledge

MEASURES FOR EXCELLENCE. Software Process Improvement: Management. Commitment, Measures. And Motivation

Software Project Management Matrics. Complied by Heng Sovannarith

Chapter 8 Project Quality Management (1) Dr. Feng-Jen Yang

Process Improvement. Objectives

Problem Management Fermilab Process and Procedure

Steve Masters (SEI) SEPG North America March Carnegie Mellon University

Applying the DMAIC Steps to Process Improvement Projects

TRAINING TITLE: CAPA System Expert Certification (CERT-003)

Business Process Optimization w/ Innovative Results

A Framework for Incident and Problem Management

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

Continuous Risk Management Guidebook

Figure 1: Fishbone Diagram - Structure. Cause-and-Effect Diagram, Ishikawa diagram, Fishbone diagram, Root Cause Analysis.

FAILURE INVESTIGATION AND ROOT CAUSE ANALYSIS

AIPM PROFESSIONAL COMPETENCY STANDARDS FOR PROJECT MANAGEMENT PART B CERTIFIED PRACTISING PROJECT PRACTITIONER (CPPP)

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

A Guide To The Project Management Body of Knowledge (PMBOK) Significant Changes from the 3 rd edition to the 4 th edition

Minimum Standard Z/11 - Performance Evaluation

Transcription:

Learning from Our Mistakes with Defect Causal Analysis April 2001 David N. Card Based on the article in IEEE Software, January 1998 1 Agenda What is Defect Causal Analysis? Defect Prevention Key Process Area Defect Causal Analysis Procedure Action Team Activities Summary and Conclusions 2

What is DCA? Examination of information about problems Intent to identify causes of defects so that they can be prevented or detected earlier Many different approaches called defect causal analysis or root cause analysis employ many different techniques Performed in response to an out of control situation or as part of a continual improvement program 3 Definitions Error - a mistake made by a member of the software team Defect - a section of code or documentation that must be changed to correct a failure Failure - a situation in which the software fails to execute as intended Problem Report - usually documentation that a failure has occurred during testing or use. May also be used to document defects found in inspections and reviews. 4

The Defect Causal Chain 1 + 1 = 3 OILCO Defect (Quality) Pumping Station Accident (Safety) Error (Process) Causal Analysis Anaysis Debugging Failure (Reliability) 5 Concept of Causality Conditions of causality Cause must precede the effect in time Mechanism by which the cause produces the effect must be understood Assignment of cause in a human-intensive process always includes a significant element of subjectivity 6

Relationship to CMM Level 4 May be ad-hoc Performed in response to out-of control situations Level 5 Component of Defect Prevention KPA Systematic approach required in accordance with a documented procedure Performed even when process is in control 7 Causal Analysis for Control Robust causal analysis process is not required for Level 4, but it can give you a head-start on Level 5 Causal analysis indicated when out of control situations arise Use all the data associated with the out of control situation as input to the causal analysis Control charts may track subgroups of any size for any type of measure Causal analysis resulting from monitoring measures of defect data requires same techniques as for continuous improvement 8

Corrective Action Cycle Project Software Process Data Process Analysis Corrective Action(s) Action Planning Proposed Action(s) Out of Control Signal & Data Causal Analysis 9 Causal Analysis for Improvement May be organized within a Defect Prevention context Assigns responsibility for causal analysis of a process to the software team Bases analysis on a sample of problems rather than an exhaustive study of all problems The software team proposes actions to: prevent problems find problems earlier Assigns responsibility for implementing proposals to a management action team 10

Organization Process Long-term Actions Software Production Improvement Cycle Baseline for Future Projects Software Software Evaluation 11 Action Team Meeting Short-term Actions Recommended Actions Problems to Fix Problem Database Causal Analysis Meeting Sample of Problems Problems Identified Defect Prevention KPA 12

Purpose Defect Prevention Description To identify the cause of defects and prevent them from recurring KPA goals Defect prevention activities are planned Common causes of defects are sought out and identified Common causes of defects are prioritized and systematically eliminated Source: Key Practices of the Capability Maturity Model, Version 1.1, SEI, CMU/SEI-93-TR-25. 13 Project DP Process in the CMM Project Phase (ongoing work) Prepared Team Defects Phase Kickoff Meeting DP Activity Planning Causal Analysis Team 14 Process Assets Improved Processes Lessons Learned Process Improvements Interim Process Improvements Action Team Suggested Actions

DP Planning Defines focus, composition, roles, and responsibilities of defect causal analysis team(s) Defines charter, composition, roles, and responsibility of action team(s) Based on results of process performance analysis provided by QPM, SQM, PCM activities 15 Defect Causal Analysis Procedure 16

Causal Analysis Meeting Focus of DCA process Held at regular intervals for continuous improvement or when an out of control situation arises Involves the entire development or maintenance team - or other group contributing to the out of control situation Designated moderator (facilitator) Managers not present Open and constructive, not defensive 17 DCA Phases Meeting Preparation Causal Analysis Corrective Action Development 18

Problem Sample Need to reduce the input to a manageable volume, especially for continuous improvement Selection and Classification may be done in advance by Moderator Select no more than 20 problems for analysis in one session Omit obvious duplicates and non-software problems Do not select only high priority problems Do not select problems from just one source (individual or component) 19 Problem Classification Problems may be classified by the programmer when analyzing or implementing fixes Use local standard classifications: when inserted (activity) when found (activity) type of error made Develop Pareto Diagrams or counts for each category Revise the classifications as indicated by experience 20

Pareto Example (Quality) INTERFACE DATA LOGIC Number INITIALIZATION COMPUTATION Type of Defect 21 Pareto Example (Cost) DATA Rework INTERFACE LOGIC INITIALIZATION COMPUTATION Type of Defect 22

Systematic Errors Random mistakes are expected - focus attention on the least random Characteristics of Systematic Errors Same or similar defect repeated Many defects from the same activity Many defects of the same type Few defects captured by an activity Look at defects that fall into both the peak source and peak type categories Develop problem statements for the Systematic Error 23 Example of Systematic Error Problem Reports from Integration Testing: unable to locate file access not authorized device not found Systematic Error variations in use of computing environment results in incompatible software components 24

Cause Identification Ignore the effect of the problem in assigning cause Consider classification information symptoms special circumstances departures from usual practice Many factors usually contribute - look for the primary cause Develop Cause-Effect Diagram if the primary cause is not obvious 25 Cause-Effect Diagram Simple graphical technique Helps to sort and relate many factors Developed as a team (facilitated) Focus for discussion - not a definitive result Also called an Ishikawa or Fishbone Diagram 26

Diagramming Steps State problem (effect) - Use statement of Systematic Error - Draw main branch Insert headings for generic causes methods people tools/environment input Brainstorm specific causes - attach to appropriate generic causes Highlight principal/operative causes(s) - circle 27 Cause-Effect Example Input Methods Lack of Conventions Misuse of Computing Environment Lack of Knowledge People Tools 28

Action Proposals (1) Must address Systematic Errors Focus on high payoff actions Consider How could we have done things differently? What information did we need to avoid this? How could we detect the problem earlier? Actions must be specific/concrete Limit actions to four per Systematic Error - one good action proposal is enough! 29 Action Proposals (2) Examples of Actions update common error lists used in reviews provide training in a specific skill regularly disseminate key information Avoid general terms (e.g., better, more, as needed, available, enough) List specific characteristics of suggested action (e.g., stimulus, frequency, scope, responsibility) Focus on you own process - only address the interfaces to other processes 30

Meeting Documentation Records are necessary to ensure that actions get implemented Identify meeting event (date, etc.) out of control situation (if applicable) systematic error (if identified) problem reports related to systematic error proposed actions Problems are the justification for action 31 Action Team Activity 32

Action Team Organization Meets regularly to consider proposed actions Must include management - needs resources May include technical personnel - usually DCA moderators Multiple DCA teams often feed into one Action Team Benefits of DCA are lost without timely action 33 Action Team Role Select and prioritize proposals Resolve conflicts and combine related proposals Plan and schedule implementation Allocate resources and assign responsibility Monitor progress and effectiveness Communicate actions and status to the teams 34

Example of DCA Process Problem - inconsistent use of environment by developers resulted in many errors during integration Proposal - define operational environment (e.g., directory structures, devices, protections) as early as possible and perform developer testing in this environment Results - integration time for subsequent builds was reduced 50% 35 Comparison of Defect Rates for Builds Defects/kDSI Build 1 Build 2 36 Integration testing System testing 10

Sources of Systematic Errors Methods: 65% failure to follow defined process failure to communicate information People: 15% Input: 12% Tools: 8% 37 Key Points Don t study all problems reported - sampling will find systematic errors Look beyond the symptoms to the underlying causes Do not create an action for each problem - get leverage by attacking the systematic errors Focus on fixing the team s process, not someone else s Benefits take time to realize Facilitator training is helpful for moderators Action team must follow through 38

Summary and Conclusions 39 Maturity-Pull Effect 40 DCA is a high-leverage activity Relationship to SEI CMM CMM is descriptive, not prescriptive Level 1 organizations usually implement training and SEPGs (Level 3 KPAs) to get to Level 2 DCA helps organizations establish themselves at Level 3 DCA does not fully satisfy the Defect Prevention KPA of Level 5 DCA shows the value of an effective defined process DCA is of limited value in an ad-hoc process

Summary of DCA Experience Easy to implement - common sense approach Low cost (about 1.5% of software budget - including implementation of actions) Increased awareness of quality, process, and measurement Tangibly improved product quality Personnel reacted favorably Large dollar savings for IBM and Lucent; increased customer satisfaction for CSC 41 Relationship to Six Sigma Additional causal analysis techniques provided in most Six Sigma training programs (e.g, Error Modes and Effects Analysis) Defect prevention strategy and team-based approach to DCA usually are not explicit elements of Six Sigma CMM approach assumes processes are defined, the need to define processes as part DCA increases the time and effort required 42

Orthogonal Defect Classification Assumption: Distribution of defect types within each phase remains stable while process is stable. Data from past projects/builds establishes defect profile. More or less defects than expected of any type indicates problem areas. Chi-square test can be performed to test significance of difference between current results and expected results. 43 Example of ODC Trend Number of Defects Expected Trend Legend Function Assignment Checking Timing design code function test system test ODC defect type process signature 44 Source: Bridge, N., and C. Miller. Orthogonal Defect Classification Using Defect Data. ASQ Software Quality Newsletter, March 1998.

Summary Most organizations with well-defined processes can benefit from some application of DCA Maximum benefit obtained from Following a systematic approach Involving the developers/maintainers Pursuing a strategy derived from an objective understanding of improvement opportunities DCA can be applied to any process that receives feedback on its defects or failures 45 References Card, D. Statistical Process Control for Software? IEEE Software, May 1994. Chillargee, R., and I. Bhandari, et. al. Orthogonal Defect Classification - A Concept for In-Process Measurements, IEEE Transactions on Software Engineering, November 1992. Mays, R., et al., Experiences with Defect Prevention, IBM Systems Journal, January 1990 Dangerfield, O., et al., Defect Causal Analysis - A Report from the Field, ASQC International Conference on Software Quality, October 1992 Yu, W., A Software Fault Prevention Approach in Coding and Root Cause Analysis, Bell Labs Technical Journal, April 1998 Card, D., Learning from Our Mistakes with Defect Causal Analysis, IEEE Software, January 1998 46