Www.ischool.drexel.edu INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.

Slides:



Advertisements
Similar presentations
Software Quality Management Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process.
Advertisements

Software Reviews Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
INFO 631 Prof. Glenn Booker Week 5 – Quality Assessment & Process Improvement 1INFO631 Week 5.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
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.
SE382 Software Engineering Lecture 21b
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Personal Software Process
CS 350: Introduction to Software Engineering Slide Set 5 Software Quality C. M. Overstreet Old Dominion University Spring 2006.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
1 H. Brief Orientation on aspects of Quality What is Quality? –Various “gurus” have proposed different ideas. One of the most well known was Philip Crosby.
Galin, SQA from theory to implementation © Pearson Education Limited Chapter 13 CASE Tools and their Effect on Software Quality.
Fundamental of Software Project Management Team Assignment 1 – K15T2 – Team 07.
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Capability Maturity Model
Personal Software Process Software Quality CIS 376 Bruce R. Maxim UM-Dearborn.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
COMPGZ07 Project Management Presentations Graham Collins, UCL
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Product Quality, Testing, Reviews and Standards
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Chapter 15 Projecting Defects( 缺陷预测 ). 山东大学齐鲁软件学院 2 outline  Analyze and use your defect data to help improve both planning accuracy and product quality.
N By: Md Rezaul Huda Reza n
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
Disciplined Software Engineering Lecture #8 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Why do we … Life cycle processes … simplified !!!.
S Q A.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #8 Software Engineering.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 8 – Reviews 1INFO636 Week 8.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
1 The Personal Software Process Estimation Based on Real Data* * Would Martin Fowler approve? “I want you to take this personally…”
Formal Methods in Software Engineering
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
INFO 636 Software Engineering Process I Prof. Glenn Booker Weeks 1-2 – Introduction 1INFO636 Weeks 1-2.
SE-280 Dr. Mark L. Hornick 1 Design and Code Reviews Review Checklists.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Chapter 19 Process Quality. 山东大学计算机学院 2 outline  Then meaning of process quality  Process measurement  COQ  Failure costs, Appraisal costs, Prevetion.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Intermediate Systems Acquisition Course Produce/Deploy/Support: Production Manufacturing Page X of Y Welcome to Production Costs and Quality On average,
INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Engineering Lecture 8: Quality Assurance.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 10 – Process Definition 1INFO636 Week 10.
CASE Tools and their Effect on Software Quality
Successful Verification
SQA for Individuals based on
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9

INFO636 Week 92 Software Quality Management The PSP focuses on managing defects to produce a quality product This, in turn, helps improve productivity –Productivity still falls as the size of a system increases, due to its increasing complexity To improve further, must improve your process quality

INFO636 Week 93 What is Quality? Crosby considered software quality to be “conformance to requirements” Meeting user needs is often key to determine quality We can distinguish between the quality of the product created, and the quality of the process used to create it

INFO636 Week 94 Product Quality A software product must provide the functions defined in its requirements, and must be a functioning application –Beyond that, how sensitive the user is to other aspects of usability, reliability, compatibility, etc. varies wildly –Poor quality products tend to have a lot of focus on testing to find defects

INFO636 Week 95 Process Quality Process quality focuses on meeting the developer’s needs A quality process supports creating good products –Process consistency and repeatability are generally critical –Efficiency and usability are less obvious objectives

INFO636 Week 96 Cost of Quality Quality is a big cost issue for software Each defect has costs for –detecting it –finding the source –determining a solution –fixing the problem (req’ts, design, and/or code) –reviewing the fix –testing the fix to see if it works –testing the fix to check for regression problems –updating documentation to reflect the fix

INFO636 Week 97 Cost of Quality The relative cost of finding and correcting a defect increases through the life cycle –During requirements or design phases, a defect has a relative cost of about 1 –Coding and testing phases, cost –After release to the customer, cost

INFO636 Week 98 Cost of Quality Many of you also noted that the time to fix defects found in testing or later is much higher than those found earlier (see pp ) PSP experience has shown that reviews are twice as efficient at finding defects as testing

INFO636 Week 99 Testing Schedules Many organizations focus on getting into system testing quickly, as a sign of progress However, more time in requirements and design would produce higher quality code which needs less testing time

INFO636 Week 910 Cost of Defect Removal Typical developers inject (create) about 100 defects per thousand LOC –About half are found by compiler –The rest need to be found by inspection or testing Using the PSP, about 70% of defects entering inspection are found

INFO636 Week 911 Cost of Defect Removal Inspection and review average about ½ hour per defect, whereas testing averages 8-10 hours per defect – so the cost benefit of inspection becomes clear

INFO636 Week 912 An Example Consider a 50,000 LOC project –About 5000 defects are initially created, but 2500 are found by the compiler (and are presumably fixed immediately) –Without reviews or inspections, those 2500 defects would take at least 2500*8 = 20,000 hours to find and fix using testing alone

INFO636 Week 913 An Example –Using inspections, we would expect to find 1750 of those defects, and fix them in ½ hour each for 875 hours –The remaining 750 defects would be found by testing, and fixed in 750*8=6000 hours Total defect removal time with inspection and test is 6,875 hours, versus 20,000 hours for testing alone –That saves $1.3M at $100/hr

INFO636 Week 914 Cost of (Low) Quality Poor quality can be measured to determine its impact on the project –Failure cost = the cost of finding and repairing failures –Appraisal cost = the cost of conducting reviews (called), and testing which finds no defects –Prevention cost = the cost of preventing the failures from occurring

INFO636 Week 915 Cost of Quality (COQ) For the PSP we simplify these to –Failure cost = time for compile and test –Appraisal cost = time for reviews and inspections –Prevention costs are low, since we have few projects to examine for defect trends Based on this, define COQ measures

INFO636 Week 916 COQ Measures –Failure COQ = 100*(compile time + test time)/(total devel time) –Appraisal COQ = 100*(design review time + code review time)/(total devel time) –Total COQ = Failure COQ + Appraisal COQ –Appraisal cost as % of total quality = 100*(appraisal COQ)/(total COQ) –A/FR ratio = Appraisal COQ/(Failure COQ)

INFO636 Week 917 COQ Measures The purpose of these measures is to help look for trends in quality over several projects –Hope to see higher ‘appraisal cost as % of total quality’ over time –This should lead to lower defect rates for later projects

INFO636 Week 918 Quality Strategy Important to keep product and process measures separate – both are important Avoid productivity measures by themselves – they can help with planning, and be compared to other measures, but don’t use them as a sole objective

INFO636 Week 919 Process Yield Total process yield is helpful – the percent of defects removed before test You can also evaluate yield for every life cycle phase, but only after hidden defects have been later discovered The life cycle is a filtering process –Each phase has some kind of step to help find and remove defects to keep from feeding them into the next phase

INFO636 Week 920 No One Answer The PSP is a personal process for many reasons – one is that there is no one best way to find and remove defects –Need to look for the best ways for you to improve your work –Then reevaluate your strategy periodically

INFO636 Week 921 Benchmarking It can be helpful to compare your product and process measures to other people’s, or to industry standards –For example, plot the A/FR ratio over time It should increase (p. 288) –Or look at A/FR versus the yield –Or Test defects per kLOC versus A/FR

INFO636 Week 922 Benchmarking Productivity can be compared to other measures, such as yield, to look for trends Yield acts like the filter part of the life cycle process –Each step’s yield reduces the number of defects to be found later, so a small improvement in yield can be significant

INFO636 Week 923 Injection and Removal The key to understanding your software development process is to balance the injection of new defects with activities to detect and remove them To achieve greater control, need to examine the factors which cause defects to occur

INFO636 Week 924 Defect Causes Education – didn’t know how to do it Communication – weren’t informed about something Oversight – forgot to do something Transcription – knew what to do, but made a mistake Process – the process misled your actions

INFO636 Week 925 Yield Management While the overall process yield doesn’t care if you have 80% review yield, and 40% test yield, or 40% review and 80% test, the costs and A/FR ratio of those situations are quite different This is why so much emphasis is placed on the quality of early reviews (see recommendations on pp )

INFO636 Week 926 Defect Prevention Finding and fixing defects is purely defensive To be more proactive, need to prevent defects from being created Analyze the types of defects which occur frequently in your experience Determine the causes of common defect types (see slide 24 again)

INFO636 Week 927 Defect Prevention Then look for ways to prevent those defects from being made again, e.g. –Improve review checklists –Get additional instruction –Conduct more detailed design –Get independent reviews And change your processes accordingly

INFO636 Week 928 Defect Prevention The critical follow-up is to re-examine your defects later, and see if your changes helped or not Incidentally, defect prevention and continuous process improvement are the highest levels of process maturity –CMM and CMMI level 5 activities