Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.

Slides:



Advertisements
Similar presentations
Metrics for Process and Projects
Advertisements

Metrics for Process and Projects
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.
PRO2 - 1 Introduction to the Personal Software Process SWENET PRO2 Module Developed with support from the National Science Foundation.
W5HH Principle As applied to Software Projects
1 - Sudhir P, Balasubrahmanyam P Leveraging TSP SM /PSP SM Metrics to drive Predictability and Quality of product releases An Intuit Perspective.
Personal Software Process
CMMI PMC Group Members Inam ul Haq Sajjad Raza Nabeel Azam
Aplicaciones de Ingeniería de Software
CMMI Overview Quality Frameworks.
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
Chapter : Software Process
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Process: A Generic View n A software process  is a roadmap to building high quality software products.  provides a framework for managing activities.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Capability Maturity Model. Reflection Have you ever been a part of, or observed, a “difficult” software development effort? How did the difficulty surface?
COMPANY CONFIDENTIAL Page 1 Final Findings Briefing Client ABC Ltd CMMI (SW) – Ver 1.2 Staged Representation Conducted by: QAI India SM - CMMI is a service.
N By: Md Rezaul Huda Reza n
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.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
Software Engineering Software Process and Project Metrics.
Disciplined Software Engineering Lecture #6 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Chapter 2 Process: A Generic View
Lecture 1 Introduction to Software Engineering
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture: The Personal Software Process. 2 Overview  Personal Software Process assumptions process stages measures and quality strategy results.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
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.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Lecture 4 Software Metrics
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 #8 Software Engineering.
Software Engineering Prof. Dr. Bertrand Meyer March–June 2007 Chair of Software Engineering Lecture 2: The Personal Software Process.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Software Engineering - I
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
Process: A Generic View
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
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.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Pittsburgh, PA CMMI Acquisition Module - Page M5-1 CMMI ® Sponsored by the U.S. Department of Defense © 2005 by Carnegie Mellon University This.
CMMI Overview Quality Frameworks. Slide 2 of 146 Outline Introduction High level overview of CMMI Questions and comments.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
CS4311 Spring 2011 Process Improvement Dr
Chapter 4 Software Process and Project Metrics
A possible solution: Personal Software Process (PSP)
For University Use Only
Capability Maturity Model
Software metrics.
Capability Maturity Model
Presentation transcript:

Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering Institute Carnegie Mellon University Pittsburgh, PA

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Purpose Why are you interested in process improvement? Hopefully for the process performance benefits. If so, process performance measurement is a key concern. Many of the examples in this presentation are from the Team Software Process SM, however the concepts are broadly applicable. SM Team Software Process is a registered service mark of Carnegie Mellon University

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Team Software Process The Team Software Process (TSP) is an integrated set of practices for developing software. TSP is a process-based solution to common software engineering and management issues. cost and schedule predictability productivity and product quality process improvement Unlike other methods, TSP teams are self-directed. emphasizes measurement and quality management. provides immediate and measurable benefits. accelerates CMMI-based improvement.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP Performance Summary -1 * From a study of 20 projects in 13 organizations conducted in 2003 ** Of the unsuccessful projects, average schedule error was 222% Performance Category TSP Impact Study (2003)* Typical Industry Performance (Standish Group)** Schedule error average 6% Schedule error range -20% to +27%

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP Performance Summary -2 * From a study of 20 projects in 13 organizations conducted in 2003 Performance Category TSP Impact Study (2003)* Typical Industry Performance System test defects per thousand instructions 0.4 avg. 0.0 to to 14 Released defects per thousand instructions 0.06 avg. 0.0 to to 7 System test effort (% of total effort) 4% avg. 2% to 7% 40%

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP Performance Summary -3 An analysis of 20 projects in 13 organizations showed TSP teams averaged 0.06 defects per thousand lines of new or modified code. Approximately 1/3 of these projects were defect-free. These results are substantially better than those achieved in high maturity organizations. Source: CMU/SEI-2003-TR-014

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP-CMMI Overall Coverage

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Topics Process management concepts TSP measurement framework Performance measures

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures SEI Process Management Premise “The quality of a software system is governed by the quality of the process used to develop and evolve it.” - Watts Humphrey

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Managed Process The CMMI defines a managed process as a process with the following characteristics. a performed process that is planned an executed in accordance with policy the process employs skilled people who have adequate resources to produce controlled outputs it involves relevant stakeholders it is monitored, controlled, and reviewed it is evaluated for adherence to its process description

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Process Management Process ownership: key responsibilities for designing, establishing, and implementing the process and the mechanisms for measurement and corrective action is assigned. Process definition: the design and formal documentation of the components of the process and their relationships. Process control: the function of ensuring that the process output meets specifications including measurement control variable(s) feedback loop(s) defect detection, correction, and defect prevention Source: Quality Process Management by Gabriel Pall

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Process Management Concept Work Process InputOutput Control

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Example Inspection Process InputOutput Control Review Rate Process Yield System test yield

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Process Management Conclusions A defined process is a prerequisite for process management. The enactment of the process should not differ from the defined process in any substantive way. The key determinants of process performance must be instrumented and measured. Failure to measure or limited measurement scope can lead to sub-optimization or “process tampering” The process and measures should be designed to support process management from the start.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Topics Process management concepts TSP measurement framework Performance measures

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Process Measurement Issues Some common process measurement issues… substantial variation in measurement reporting requirements across development groups and suppliers few measures of quality standards emphasize derived measures instead of common base measures inability to summarize, aggregate, drill-down, extend cannot benchmark or make comparisons limited use as a management indicator lack of accountability Measurement framework “literally” tied to CMMI process areas and the examples of derived measures from CMMI.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Measurement System Design and a “systems” approach solves many measurement issues. Define a few common base measurement categories and establish standards for the most used instances. Develop a measurement framework that relates the base measures to the key elements of software process work. Create derived measures from the standard base measures. Identify process performance models and benchmarks that predict future performance. Integrate into monitoring and decision-making processes.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP Measurement Framework -1 Base measurement categoriesExample derived measures Estimation accuracy Prediction intervals Productivity Cost performance index Planned value Earned value Predicted earned value Defect density Defect density by phase Defect removal rate by phase Defect removal leverage Review rates Process yield Phase yield Failure cost of quality Appraisal cost of quality Appraisal/Failure COQ ratio Percent defect free Defect removal profiles Quality profile Quality profile index … Size ScheduleDefects Effort

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP Measurement Framework -2 A model of key process elements and their relations provides a context for the base measures. processes and phases projects and sub-projects products and parts teams and team members tasks period (week, month, etc.) The model facilitates analysis aggregation and drill-down queries and views scalability ProcessProjectTeamProductTasksPeriod

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Estimated and Actual Size Size is a measure of the magnitude of the software deliverable, e.g. lines of code or function points. Size is estimated and actual size is measured for each component. Five size accounting categories are used. Base Modifications to the base Deletions from the base Added or new Reused Size data are used to estimate effort track progress normalize other measures

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Estimated and Actual Effort Effort is a measure of time on task. The TSP effort measure is called a task hour. Task hours are estimated and measured by process phase task day or week How many task hours are there in a 40 hour week? About 15 to 20.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Estimated and Actual Schedule Schedule has two components resource availability task completion dates Planned task dates are calculated from estimates of resource availability and planned task hours. Actual date completed is recorded as tasks are finished. Actual resource availability is derived from actual task hours.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Estimated and Actual Defects Defects are the measure of quality. Estimates of the number of defects injected and removed. A count of the actual number of defects injected and removed. Defect data includes component phase injected phase removed Definition: a work product element that must be changed, after it was completed, in order to ensure proper design, implementation, test, use, or maintenance.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Topics Process management concepts TSP measurement framework Performance measures

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures TSP Performance Measures The most often used TSP performance measures are: Planned value, earned value, predicted earned value Planned and actual task hours Estimation error Growth Defect density Percent defect-free Quality profile and index These measures support planning and tracking. Combined with historical data and/or benchmarks, these measures also support process performance modeling.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Process Performance Models Project data Process performance model Predicted project performance Historical data and Benchmarks

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Example: Quality Profile Project data Time in design, design review, coding, and code review Defects found in compile and unit test. Product size Process performance model Quality Profile Predicted value Likelihood of post system test defects Benchmarks Development time ratio criteria Defect density criteria

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Quality Profile Benchmarks These software quality benchmarks predict post- development defects. Modules that meet these criteria were found to be largely defect free in system test and after deployment. Software Quality Benchmarks Derived Measure Desired Value Design Time vs. Code Time Ratio 1 to 1 Design vs. Design Review Time Ratio 2 to 1 Code vs. Code Review Time Ratio 2 to 1 Compile defect density < 10 per KLOC Unit test defect density < 5 per KLOC

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Quality Profile The quality profile is a process performance model that provides an early warning indicator for post-development defects. The quality profile uses the five software quality benchmarks. Satisfied criteria are plotted at the outside edge of the chart. High quality componentPoor quality component Inadequate design review time results in design defects escaping to test and production.

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Using the Quality Profile

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Quality Performance Index The Quality Performance Index is the product of the five parameters in the quality profile. QPI predicts the likelihood of post-development defects in a system. Quality Performance Index Post-Development Defect Density Quality Performance Index vs. Post-Development Defect Density Interpreting the Quality Performance Index RangeInterpretation 0.0 to 0.2Re-inspect; test and post- development defects likely 0.2 to 0.4Re-inspect if test defects are found 0.4 to 1.0Component is of high-quality

© 2006 by Carnegie Mellon University Carnegie Mellon Software Engineering Institute Software Process Performance Measures Conclusion Measurement and process management are inseparable, you should incorporate measurement in your initial processes. A common problem with software process measurement is a lack of integrated, well designed measurement systems resulting in unnecessary complexity and usability issues such as lack of scalability and extensibility. Process management can be successfully applied to the software process with a few, simple, derived measures that are integrated into a measurement framework.