Chapter 13: Defect Prevention & Process Improvement

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Chapter 4 Quality Assurance in Context
Software Quality Assurance (SQA). Recap SQA goal, attributes and metrics SQA plan Formal Technical Review (FTR) Statistical SQA – Six Sigma – Identifying.
Software Development Process Models. The Waterfall Development Model.
Software Quality Engineering Roadmap
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Planning a measurement program What is a metrics plan? A metrics plan must describe the who, what, where, when, how, and why of metrics. It begins with.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
CMM Overview - 1 © Paul Sorenson CMPUT Software Engineering refs. IEEE Software, March 1988, 73-79, and IEEE Software, July 1993, (Capability.
CS 325: Software Engineering March 26, 2015 Software Quality Assurance Software Metrics Defect Injection Software Quality Lifecycle Measuring Progress.
Chapter 24 - Quality Management 1Chapter 24 Quality management.
Software Defects Defect Prevention and Removal 1.
Software Quality: An Overview From the Perspective of Total Quality Management By Kan, Basili and Shapiro.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Chapter 3 Software Processes.
Chapter 20: Defect Classification and Analysis  General Types of Defect Analyses.  ODC: Orthogonal Defect Classification.  Analysis of ODC Data.
Chapter : Software Process
CS 4310: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
S T A M © 2000, KPA Ltd. Software Trouble Assessment Matrix Software Trouble Assessment Matrix *This presentation is extracted from SOFTWARE PROCESS QUALITY:
Integrated Capability Maturity Model (CMMI)
UNIT-II Chapter : Software Quality Assurance(SQA)
Ch.4: QA in Context  QA and the overall development context Defect handling/resolution How alternative QA activities fit in process Alternative perspectives:
COURSE TITLE: 1 Software Quality Assurance. Course Aims Introduction to software quality assurance. Software testing terminology. Role and responsibility.
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
N By: Md Rezaul Huda Reza n
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Chapter 14: Inspection  Basic Concept and Generic Process  Fagan Inspection  Other Inspection and Related Activities.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Week 2 Quality Assurance Quality Assurance in Context
Software Quality Engineering Chapters 1-3 Overview, Software Quality and Quality Assurance.
S Q A.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
 CS 5380 Software Engineering Chapter 8 Testing.
Week 8 - Quality Management Learning Objectives You should be able to: §List and explain common principles of quality management (QM) §List, distinguish.
Software Project Management With Usage of Metrics Candaş BOZKURT - Tekin MENTEŞ Delta Aerospace May 21, 2004.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Process Improvement l Understanding, Modelling and Improving the Software Process.
This chapter is extracted from Sommerville’s slides. Text book chapter
Chapter 19: Quality Models and Measurements  Types of Quality Assessment Models  Data Requirements and Measurement  Comparing Quality Assessment Models.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 2 The Software Process Discussion of the Software Process: Process Framework,
Software Assurance Session 13 INFM 603. Bugs, process, assurance Software assurance: quality assurance for software Particularly assurance of security.
21-22 May 2004IMPROQ 2004 / Impact of SW Processes on Quality Workshop 1 Quality for Components: Component and Component- Based Software Quality Issues.
CS Process Improvement CMM Hans Van Vliet, Software Engineering, Principles and Practice, 3 rd edition, John Wiley & Sons, Chapter 6. W. Humphrey,
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming Both change and stability are fundamental to process.
Cmpe 589 Spring 2006 Lecture 1. Software Quality  Definable and measurable Quality: –Conformance to requirements, non- conformance is a defect –Fitness.
Quality Assurance.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Ensure that the right functions are performed Ensure that the these functions are performed right and are reliable.
Process Improvement. It is not necessary to change. Survival is not mandatory. »W. Edwards Deming.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Software reviews Cost impact of software defects Defect amplification model Review metrics and their use – Preparation effort (E p ), assessment effort.
Software Engineering (CSI 321) Software Process: A Generic View 1.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Figures – Chapter 26. Figure 26.1 Factors affecting software product quality.
Software Configuration Management
Software Quality Engineering
Software Verification and Validation
Software Quality Engineering
Product reliability Measuring
Chapter 21 Software Quality Assurance
Chapter 21 Software Quality Assurance
Software Quality Assurance
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 13 Quality Management
Presentation transcript:

Chapter 13: Defect Prevention & Process Improvement Defect prevention approaches Error blocking Error source removal Process improvement

QA Alternatives Defect and QA: Defect prevention (this chapter): Defect: error/fault/failure. Defect prevention/removal/containment. Map to major QA activities Defect prevention (this chapter): Error source removal & error blocking Defect removal: Inspection/testing/etc. Defect containment: Fault tolerance and failure containment (safety assurance).

Generic Ways for Defect Prevention Error blocking Error: missing/incorrect actions Direct intervention Error blocked => fault injections prevented Rely on technology/tools/etc. Error source removal Root cause analysis => identify error sources Removal through education/training/etc.

Defect Prevention: Why and How? Major factors in favor of defect prevention: Super-linear defect cost ↑ over time early faults: chain-effect/propagation difficult to fix remote (early) faults in-field problems: cost s↑ significantly Basis for defect prevention: Causal and risk analysis Analyze pervasive defects Cause identification and fixing Risk analysis to focus/zoom-in

Defect Cause and Actions Types of causal analyses: Logical (root cause) analysis by expert for individual defects and defect groups Statistical (risk) analysis for large data sets with multiple attributes Model: predictor variables => defects # defects: often as response variable Actions for identified causes: Remedial actions for current product Preventive actions for future products:

Common Causes/Preventive Actions Education/training to correct human misconceptions as error sources (13.3): Product/domain knowledge, Development methodology, Development process, etc. Act to remove error sources Formal methods, Chapter 15: Formal specification: to eliminate imprecision in design/implementation. Formally verify fault absence.

Common Causes/Preventive Actions Technologies/tools/standards/etc. (13.4): Based on empirical (statistical) evidence Proper selection and consistent usage More for error blocking than error source removal Process improvement (13.5): Integration of many factors in processes Based on empirical evidence or logic Define/select/enforce Both for error blocking and error source removal Cause identification: often implicit

Education and Training People: most important factor to quality - e.g., vs. impl. languages (Prechelt, 2000) Development methodology knowledge: Solid CS and SE education Methodology/process/tools/etc. Product/domain knowledge: Industry/segment specific knowledge Type of products: new vs. legacy, etc. General product environment, etc. Means of delivery: formal and informal education + on-the-job training.

Other Techniques Analysis and modeling: research, predictive models Appropriate software technologies: Formal methods: Chapter 15. Clean room: formal verification + statistical testing Other technologies: CBSE, COTS, etc. Appropriate standards/guidelines: Misunderstanding / miscommunication ↓ Empirical evidence for effectiveness (Briand2001 & Dijkstra1968)

Tools for Error Blocking Programming language/environment tools: Syntax-directed editor / syntax checker . General tools for coding standards, etc. Other tools: Design/code and version control Tools for individual development activities: testing automation tools, see Chapter 7 requirement solicitation tools, design automation tools, etc. General tools or tool suites for certain methodologies, e.g., Rational Rose.

Process Improvement Process improvement => defect prevention Selecting appropriate development processes Process characteristics and capability Match to specific product environment Consideration of culture/experience/etc. Process definition and customization Adapt to specific project environment Process enforcement and ISO/9000: Define the process or “say what you do" Follow the process or ”do what you say" Demonstrate evidence it was followed or “show me"

Process Maturity for Improvement Level Description Focus 1 initial (ad-hoc) competent people (and heroics) 2 repeatable project management processes 3 defined engineering process and organizational support 4 managed product and process quality 5 optimized continual process improvement SEI/CMM work KPA (key practice areas) for each level Expectation:” maturity" => “quality" Focus on defect prevention Recent development: CMMI, P-CMM, SA-CMM, etc.

Other process maturity work for Improvement SPICE (Software Process Improvement and Capability dEtermination) International effort 3 goals: Process assessment, industry trials, and technology transfer BOOTSTRAP 2 ESPRIT programme European Commission develop methodology for software process assessment, quantitative measurement, and improvement validate it by applying it in a number of companies

Quality Improvement Process QIP: Quality Improvement Paradigm understand baseline intro. process change and assess impact package above for infusion into development organization GQM: goals/questions/metrics paradigm for QIP goal-driven activities questions related to goals metrics to answer questions EF: Experience Factory provides organizational support separation of concerns for product and process EF supports reuse of experience and collective learning form a feedback/improvement loop

Summary Key advantages: Key limitations: Significant savings if applicable Important people factor Promising tools, methodologies, etc. Process improvement: long-lasting and wide-impact Key limitations: Need to know causes of pervasive problems Difficulties in analyzing complex problems Difficulties with changing environment Hard to automate Process quality == product quality ?? Comparison to other QA: Chapter 17.