PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.

Slides:



Advertisements
Similar presentations
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
Advertisements

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.
Important concepts in software engineering The tools to make it “easy to apply common sense”!
Important concepts in software engineering The tools to make it easy to apply common sense!
Personal Software Process
Software Quality Engineering Roadmap
SE 450 Software Processes & Product Metrics Reliability Engineering.
CS 350: Introduction to Software Engineering Slide Set 5 Software Quality C. M. Overstreet Old Dominion University Spring 2006.
SE 450 Software Processes & Product Metrics Software Metrics Overview.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
1 Software Engineering II Presentation Software Maintenance.
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.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
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.
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Capability Maturity Model
Personal Software Process Software Quality CIS 376 Bruce R. Maxim UM-Dearborn.
Project Management Methodology More about Quality Control.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
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.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
N By: Md Rezaul Huda Reza n
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
SE-280 Dr. Mark L. Hornick 1 Process Adaptations.
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.
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
SE-280 Dr. Mark L. Hornick 1 In software engineering, we sometimes distinguish between "practice" and "process". By "practice", we mean "what" software.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Lecture 1 Introduction to Software Engineering
Software Quality See accompanying Word file “Software quality 1”
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.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #8 Software Engineering.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
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 9 – Quality Management 1INFO636 Week 9.
Winter 2005SE-280 Dr. Mark L. Hornick Personal Software Process: Initial Process Overview.
1 The Personal Software Process Estimation Based on Real Data* * Would Martin Fowler approve? “I want you to take this personally…”
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
1 TenStep Project Management Process ™ PM00.9 PM00.9 Project Management Preparation for Success * Manage Quality *
SE-280 Dr. Mark L. Hornick 1 Design and Code Reviews Review Checklists.
Chapter 19 Process Quality. 山东大学计算机学院 2 outline  Then meaning of process quality  Process measurement  COQ  Failure costs, Appraisal costs, Prevetion.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
COSTING AND THE VALUE CHAIN CHAPTER 18 PAGE# 794 Faisal
INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Final Report Goals and Objectives. SE-280 Dr. Mark L. Hornick 2 PSP Self-review questions How good is my process? Where can it be improved? What is the.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview.
Software Economics Phase Yield
Software Quality Engineering
Software Inspections and Testing
Progression of Test Categories
Capability Maturity Model
Capability Maturity Model
Presentation transcript:

PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1

[ 2 What is software quality? Basic definition: Meeting users' needs What about “wants”? True needs may be hard to establish Hierarchy of needs Do required tasks Be Usable & convenient  Install quickly & easily  Run consistently Economical Timely Dependable  No destructive or unexpected behavior

[SE-280 Dr. Mark L. Hornick 3 How do you measure quality?

[SE-280 Dr. Mark L. Hornick 4 In the PSP, defects are the basic quality measure; is this reasonable? On the one hand, defects are only important to the customer or user if they cause visible adverse effects. Affect operations Cause inconvenience Cost time or money Result in a loss of confidence However, defects have a big impact on the software development process, costing money and taking time that could be better spent in adding value for those customers and users.

[SE-280 Dr. Mark L. Hornick 5 Why focus on defects? Defects have a big impact on the software development process: Defects must be managed, costing money and taking time that could be better spent in adding value for those customers and users. With poor quality, there is no time to address other quality issues such as: Ease of installation Safety Recovery & robustness Usability & convenience

Generally, defects are more expensive to remove if they are not found until later in the software development process.

[SE-280 Dr. Mark L. Hornick 7 CMM – Capability Maturity Model CMM is an assessment of an organization’s software capabilities; an SEI-developed metric with 5 levels: Level 1 = “no defined process” Level 5 = “process exhibiting continuous improvement”

[SE-280 Dr. Mark L. Hornick 8 A mature organization at CMM level 5: Creates and reviews requirements Does design inspections (design is reviewed by a group) Does code inspections (code is reviewed by a group) Does a lot of testing And still leaves about 1 defect/KLOC

[SE-280 Dr. Mark L. Hornick 9 With the growth of software systems, we are facing a significant quality challenge What if we want 1-10 defects per MLOC? Level 5 CMMI is about 1000 defects/MLOC! You probably can't "test in" this quality level And, probably can't "inspect it in" either: Assume 1000 LOC  30 pages of listings Then, 1 MLOC  30,000 pages Can we inspect 30K pages well enough to leave only 1-10 defects??

[SE-280 Dr. Mark L. Hornick 10 Quality management (defect removal and prevention) is a critical part of the PSP. Q. Who injects software defects? A. Individual software engineers! Fundamental Axiom: The personal process of the individual software engineer is the place to remove defects, determine their causes, and learn to prevent them.

[SE-280 Dr. Mark L. Hornick 11 Remove Quality Metrics: Yield is a measure of how well we find and remove defects. Development phase Yield is the % of existing defects we remove in a phase. Generally, defects are injected in development phases like Design and Coding, but it is possible for defects to be injected or removed in any phase.. Inject Development phase RemoveInject Development phase RemoveInject Escapes are defects that pass from one phase to the next.

Process Yield is the composite yield for all phases before Test. The process yield (or just "yield") target is about 70%; that is, no more than 30% of defects should be left to be found during testing, since testing is expensive!

[SE-280 Dr. Mark L. Hornick 13 There are different kinds of costs associated with quality. Appraisal costs are the costs of inspecting for defects, (in the PSP, Design and Code review times). Failure costs result from rework, repair, and scrap in the PSP, this is time you spend in Test Both of these metrics are costs of quality; that is, the “price” you pay to ensure the quality of your code.

The relationship between these two kinds of quality costs are described by a ratio: In the PSP, the A/F ratio should be about 2.0. A/FR tracks ratio of Appraisal cost (review time) Failure cost (test time)

SE-280 Dr. Mark L. Hornick 15 If measured in many organizations, A/FR would be near zero! but (mature) PSP processes typically exceed 2.0 High A/FR is associated with low test defect density and high product quality

The five PQI components are calculated in the following manner. Note that all PQI values are limited to a range of 0.0 … 1.0 Target value: < 10 defects/KLOC A+M Target value: < 5 defects/KLOC A+M Overall PQI is computed by taking the product of the components. Target: > 0.4

Here is an example of a PQI calculation. PQI Raw PQI Adj PQI DesignCodeTime DesignReviewTime CodeReviewTime CompileDefects UnitTestDefects Total PQI Design Time125 Design Review Time38 Code Time67 Code Review Time32 Compile Defects/KLOC (A+M)0 UT Defects/KLOC (A+M)6.1 PQI DesignCodeTime PQI Code Review Time PQI Compile Defects PQI Unit Test Defects PQI Design Review Time Note that Adjusted PQI values are limited to a range of 0.0 … 1.0

Results of the PQI calculations PQI Raw PQI Adj PQI DesignCodeTime DesignReviewTime0.61 CodeReviewTime0.96 CompileDefects UnitTestDefects0.90 Total PQI0.52 Design Time125 Design Review Time38 Code Time67 Code Review Time32 Compile Defects/KLOC (A+M)0 UT Defects/KLOC (A+M)6.1 PQI DesignCodeTime PQI Code Review Time PQI Compile Defects PQI Unit Test Defects PQI Design Review Time

The process quality index (PQI) is a compact representation of five quality measures. Text, page 150 The value at each vertex is 1.0 (good), while the center is zero (bad).

The Process Dashboard tool computes a number of quality metrics. Start looking at your own quality metrics!

What about the use of automated defect-finding tools? If you have a tool that can remove 100% of a certain type of defect, use it as early as possible to get rid of them! If you have a tool that can remove about 10% of a certain type of defect, it is not very effective, but also relatively harmless since you won’t rely on it. If you have a tool that can remove 90% of a certain type of defect, it can be dangerous because you will tend to believe that it found them all, and not aggressively seek out the remaining ones.

[SE-280 Dr. Mark L. Hornick 22 Conclusion Inspections and Testing will not catch enough defects It is more much more expensive to inspect and test than to review Personal Design and Code reviews are key to high quality software