1 Pop Quiz What is an Orthogonal Defect? Which is more precise: predictive models or management models? Why? Essay: Why are metrics and models an important.

Slides:



Advertisements
Similar presentations
Prescriptive Process models
Advertisements

INFO 631 Prof. Glenn Booker Week 1 – Defect Analysis and Removal 1INFO631 Week 1.
Metrics to improve software process
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Chapter 4 Quality Assurance in Context
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
1 In-Process Metrics for Software Testing Kan Ch 10 Steve Chenoweth, RHIT Left – In materials testing, the goal always is to break it! That’s how you know.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Swami NatarajanJune 10, 2015 RIT Software Engineering Activity Metrics (book ch 4.3, 10, 11, 12)
Defect Removal Metrics
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
SE 450 Software Processes & Product Metrics Reliability Engineering.
SE 450 Software Processes & Product Metrics Software Metrics Overview.
RIT Software Engineering
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
SE 450 Software Processes & Product Metrics Activity Metrics.
Software Development Overview CPSC 315 – Programming Studio Spring 2009.
Validating and Improving Test-Case Effectiveness Author: Yuri Chernak Presenter: Lam, Man Tat.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
SOFTWARE PROJECT MANAGEMENT Project Quality Management Dr. Ahmet TÜMAY, PMP.
Project Tracking and Scheduling Infsy 570 Dr. R. Ocker.
1 Quality Management Models Kan Ch 9 Steve Chenoweth, RHIT Right – To keep in mind – For Kan, this is part of Total Quality Management.
Project phases and the life cycle
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Capability Maturity Model
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Kan Ch 7 Steve Chenoweth, RHIT
Chapter 20: Defect Classification and Analysis  General Types of Defect Analyses.  ODC: Orthogonal Defect Classification.  Analysis of ODC Data.
Pop Quiz How does fix response time and fix quality impact Customer Satisfaction? What is a Risk Exposure calculation? What’s a Scatter Diagram and why.
S/W Project Management
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Commercial Database Applications Testing. Test Plan Testing Strategy Testing Planning Testing Design (covered in other modules) Unit Testing (covered.
Extreme Programming Software Development Written by Sanjay Kumar.
1 Software Quality Engineering CS410 Class 5 Seven Basic Quality Tools.
Quality Planning & Defect Estimation
Chapter 2 The process Process, Methods, and Tools
CLEANROOM SOFTWARE ENGINEERING.
N By: Md Rezaul Huda Reza n
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Software Defect Prevention Using Orthogonal Defect Classification
Error reports as a source for SPI Tor Stålhane Jingyue Li, Jan M.N. Kristiansen IDI / NTNU.
Software Engineering Software Process and Project Metrics.
Quality Control Project Management Unit Credit Value : 4 Essential
1 POP Quiz T/F Defect Removal Effectiveness and Defect Removal Models are not true Predictive Models Define DRE What is a Checklist? What is it for? What.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
Software Measurement & Metrics
Testing Workflow In the Unified Process and Agile/Scrum processes.
Quality Planning And Defect Estimation Presented by Basker George.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
Chapter 3: Software Project Management Metrics
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
Software Engineering Lecture 8: Quality Assurance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
Chapter 05 Quality Planning SaigonTech – Engineering Division Software Project Management in Practice By Pankaj Jalote © 2003 by Addison Wesley.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview.
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

1 Pop Quiz What is an Orthogonal Defect? Which is more precise: predictive models or management models? Why? Essay: Why are metrics and models an important element to managing the quality of software development? T/F An evolutionary prototype is evolved rather than thrown away

2 Software Quality Engineering CS410 Class 10 Quality Management Models

3 –Tools for helping to monitor and manage the quality of software when it is under development –Goal - provide early warning signs so that timely improvement actions can be planned and implemented –Models must cover entire development phase (front-end and back-end) to be useful –Some Reliability Models can be used as Quality Management Models

4 Quality Management Models Rayleigh Model Framework –Based on the two assumptions: 1. Defect rate observed during development is positively correlated with defect rate observed in the field 2. Given the same error injection rate, if more defects are found and removed early then fewer will remain in later stages (I.e. the field) –“Do it right the first time” It is important to manage quality throughout the entire development process

5 Quality Management Models 1. Best scenario is to prevent errors from being injected into the development process (and hence, into the product) 2. When errors are introduced, improve front-end processes (design reviews, code reviews, etc.) to remove as many of them, as early as possible. 3. Unit testing serves as the last chance to catch errors in the front-end process (the gatekeeper for front-end process escapes).

6 Quality Management Models The Rayleigh model is a good Quality Management model because it promotes defect prevention and early defect detection As an in-process tool, the data can indicate the quality direction of the current project Comparison to previous models would show whether the defect removal is more/less/same front-end loaded: same - quality should be similar to previous products more - quality should be better than previous products less - quality action should be taken

7 Quality Management Models Rayleigh curve shifts Left - more front-end loaded (early defect removal) Right - less front-end loaded Up - more error injection Down - less error injection (defect prevention) Goal - shift the curve left and down as much as possible Fig 9.2 p. 223

8 Quality Management Models Actions for shifting the curve –Left (early defect removal) focus on design reviews / code inspections –moderator training –inspection checklists –in-process measurements to track effectiveness mini-builds (prior to formal integration)

9 Quality Management Models –Actions for shifting the curve –Down (defect prevention) implementation of DPP use of CASE tools improved communications between interface owning groups

10 Quality Management Models Challenge - knowing exactly what the differences in the curve represent: –Lower defect removal rates (lower curve) could be less errors injected, or ineffective design reviews and code inspections –Higher defect removal (higher curve) could mean higher error injection or better design reviews and code inspections Additional indicators are needed to help interpret the data

11 Quality Management Models Quality of process metrics can be used as additional indicators, for example: –Inspection effort (expressed in hours) combined with defect rate Inspection Effort and Defect Rate when compared to historical data

12 Quality Management Models –Best case - high effort / low defects: Indicator that the design and/or code contained fewer defects, and that the design reviews and code inspections were effective, and better quality was ensured. –Good / Not Bad case - high effort / high defects: Indicator that error injection may be higher, but process was effective in detecting defects.

13 Quality Management Models –Unsure case - low effort / low defects: Not sure whether less defects were injected, or whether less time spent in design reviews and code inspections turned up less defects. –Worst case - low effort / high defects: Indicator of high error injection, but process was not effective in detecting defects.

14 Quality Management Models PTR Sub-model –Continuous integration of some product life cycles make parametric models difficult. –Spiral and Iterative models make it difficult to differentiate between front-end and back-end processes. –These life cycles sometimes have the concept of continuous integration. –Different Quality management models are required for this type of product development life cycle.

15 Quality Management Models PTR (Problem Tracking Reports) are a common tool used for managing the change process during development and testing. Non-parametric model that is a sub-model of the overall defect removal model. PTR model spreads over time the number of defects that are expected to be removed during formal testing so that precise tracking may be done.

16 Quality Management Models PTR model is a function of: 1. Planned or actual lines of code integrated over time. Can be estimated from historical data, design documents, and estimating tools 2. Expected overall PTR rate per KLOC. Can be estimated from historical data. 3. PTR-surfacing pattern after the code is integrated. Depends on testing activities and integration plans (eg. weekly integration - faster discovery / fix / integration cycle than bi-weekly or monthly)

17 Quality Management Models Deriving PTR Sub-model Curve 1. Determine code integration plan 2. Multiple expected PTR rates times expected KLOCs to derive expected PTRs per integration 3. Spread PTRs over time depending on PTR spread pattern and sum of number of PTRs 4. Update model when integration plan changes or actual integration data becomes available 5. Plot the curve and track current project in terms of months until GA (General Availability)

18 Quality Management Models Example PTR Sub-model Fig 9.7 p. 229 –Note - PTR sub-model is non-parametric and therefore cannot make projections. It is used for tracking current data. –Goal - compared to the model, if the actual curve (actual defect arrivals) increases, and peaks earlier, then it will decline faster relative to the GA date (I.e. less defects will be shipped to the field)

19 Quality Management Models PTR Arrival/Backlog Projection Model –Goal - determine whether the scheduled code-freeze date can be met without sacrificing quality. In other words - will the PTR arrival rate and PTR backlog decrease to the acceptable levels? –Other models do not answer this question: PTR Sub-model - cannot predict Reliability Growth Models - predictions are made too late

20 Quality Management Models Model uses a general linear approach, and assumes that relevant variables observed over time perform an adequate prediction. –Predictor Variables: Chronological Time - eg. weeks Time Lag Variables - PTR mean time to resolution Cumulative KLOC integrated - total of all integrations Significant activities - eg. component test, system test, etc. PTR Arrival = constant + f(Week, Week 2, Week 3, KLOC, KLOC 2, # Arrivals in preceding week, System Test) + e Example: Fig p. 235

21 Quality Management Models Reliability Growth Models –Models from previous products can be used to track the defect rates of the current product –To experience significant quality improvement, the current defect arrival rate must fall below the model curve –Comparing to a model allows for quality actions to be identified and implemented. –Models can be good for determining the end date of testing –Other models should be used in conjunction because the Reliability Growth Models do not focus on the front-end of the process

22 Quality Management Models Criteria for Model Evaluation –Most Important Criteria: Timeliness of quality indication –“Raises a red flag” –Allows more time to react and recover Scope of process coverage –Should address each phase –Should address quality of stage deliverables Capability –Ability for model to provide information for planning and managing software development

23 Quality Management Models In-Process Metrics and Reports –A defect tracking and reporting system and a set of related in-process metrics is an important element in implementing Quality Management Models. –Especially important for large projects. –Multiple teams –Metric data and feedback needs to be available to all levels, and all teams

24 Quality Management Models –Example - Using an Inspection Effort/Defect Rate report and matrix to access the rigor and effectiveness of the inspection process: Fig p. 240 and Fig p. 242 A tool to help measure process quality by tracking inspection effort and defects detected/removed

25 Quality Management Models –Example - Inspection Report showing defect origin Fig p. 245 “Among the defects found by this stage, what is the percentage that should have been found by the previous stage?” Does not require the total defect data like the DRE approach does. This approach can be used as an in-process quality management tool

26 Quality Management Models Orthogonal Defect Classification –Orthogonal - pertaining to, or composed of right angels (Webster’s II) –In context: A set of mutually independent cause categories –ODC - A method for in-process quality management based on defect cause (or type) analysis, where a distribution of defect types is associated with process phases

27 Quality Management Models Concept: By examining the distribution of defect types, one can tell which development phase the current project is at (or should be at). Eight Defect types: 1. Function (missing or incorrect functions) - Design Phase 2. Interface - low-level design 3. Checking - low-level design or code implementation

28 Quality Management Models Eight Defect types (cont.): 4. Assignment - Code Phase 5. Timing/Serialization - low-level design 6. Build/Package/Merge - library tools 7. Documentation - publications 8. Algorithms - low-level design

29 Quality Management Models Keys to ODC - look at the majority of defect types vs. where the project actually is. May be an indicator of an out of control condition. Defect Trigger - a condition that allows (forces) a defect to surface. Challenges for ODC: –What are defect triggers? –Can defects really be classified as orthogonal? –Overlap and interrelations between proposed defect types –Indirect method for accessing project progress

30 Quality Management Models Summary Quality Management Models, unlike reliability models, need to focus on: –Timeliness - for quality indications –Scope of coverage - all phases of development process –Capability - provides information (indicators and attributes) about quality Tracking and reporting systems and sets of related in-process metrics are needed to make Quality Management Models work. Defect cause analysis (eg. ODC) can lead to a better understanding of quality of the project.