Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview.

Slides:



Advertisements
Similar presentations
Web Development Engineering Processes Introduction to Web Development Outsourcing Processes.
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.
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.
Swami NatarajanJune 10, 2015 RIT Software Engineering Activity Metrics (book ch 4.3, 10, 11, 12)
Software Quality Engineering Roadmap
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Defect Removal Metrics
Swami NatarajanJune 13, 2015 RIT Software Engineering Project Management.
Software Design & Production Methodologies STRUCTURED & OBJECT-ORIENTED METHODS for SYSTEMS ANALYSIS & DESIGN Vassilka Kirova Computer & Information Science.
Software Measurement and Process Improvement
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
Defect Removal Metrics
CMPUT Software QualityMajor Software Strategies - 1 © Paul Sorenson MAJOR SW STRATEGIES BASED HEAVILY ON ROBERT GRADY'S BOOK “Practical Software.
SE 450 Software Processes & Product Metrics Reliability Engineering.
SE 450 Software Processes & Product Metrics Software Metrics Overview.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
SE 450 Software Processes & Product Metrics Activity Metrics.
EXAMPLES OF METRICS PROGRAMS
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Software Process and Product Metrics
1 Software Quality Metrics Ch 4 in Kan Steve Chenoweth, RHIT What do you measure?
12 Steps to Useful Software Metrics
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Quality Planning & Defect Estimation
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
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.
Defect Management Defect Injection and Removal
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Software Engineering Software Process and Project Metrics.
Chapter 6 : Software Metrics
Quality Control Project Management Unit Credit Value : 4 Essential
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
Software Measurement & Metrics
Team Assignment 15 Team 04 Class K15T2. Agenda 1. Introduction 2. Measurement process 3. GQM 4. Strength Weakness of metrics.
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
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.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
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.
Software Quality Metrics III. Software Quality Metrics  The subset of metrics that focus on quality  Software quality metrics can be divided into: End-product.
Carnegie Mellon Software Engineering Institute © 2006 by Carnegie Mellon University Software Process Performance Measures James Over Software Engineering.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
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.
M ANAGKEMENT COMPONENTS OF SOFTWARE QUALITY. S OFTWARE QUALITY METRICS Chapter 21.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Why Metrics in Software Testing?
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
SEVERITY & PRIORITY RELATIONSHIP
Introduction SOFTWARE ENGINEERING.
Verifying – Evaluating Software Estimates
12 Steps to Useful Software Metrics
Software Quality Engineering
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Reliability Engineering
Software Quality Engineering
Software Testing and Maintenance Maintenance and Evolution Overview
Capability Maturity Model
Chapter # 7 Software Quality Metrics
Metrics for Process and Projects
6. Software Metrics.
Capability Maturity Model
Software Design & Production Methodologies
Presentation transcript:

Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview

Swami NatarajanOctober 1, 2016 RIT Software Engineering Measurements & Metrics Measurements: Raw numbers Metrics: Derived numbers that –Indicate the extent to which some objective is being achieved –Facilitate cross-comparison –Can serve as the basis for actions to improve achievement of the objective Identifying useful metrics is hard work –Many times, we can’t find any for some objectives

Swami NatarajanOctober 1, 2016 RIT Software Engineering Measurements for software Size: Lines of code, function points Time and effort for different project activities Defects found, classified by phase occurred, phase found, module, type, severity Failures and when they occurred Staffing, requirements changes, customer satisfaction (survey results) …

Swami NatarajanOctober 1, 2016 RIT Software Engineering Metrics for Software Product Metrics –Indicate the quality of the product produced In-process Metrics –“Barometers” to indicate whether the process appears to be “working normally” –Useful during the development and maintenance process to identify problems and areas for improvement Project Metrics –Indicate whether project execution (business aspects) are on track

Swami NatarajanOctober 1, 2016 RIT Software Engineering As you see each metric, think about How useful is it? How would this be used? How meaningful is it? How easy is it to gather? How much extra work is it for developers to generate the numbers? Are there ways to “beat / defeat” this metric? – Can you “make it look good” in ways that don’t achieve the objectives? What other metrics do you need to get a balanced picture?

Swami NatarajanOctober 1, 2016 RIT Software Engineering Product Metrics Overview Performance –Lots of measurements, lack of good metrics AFAIK (“as far as I know”) disclaimer applies to lots of these Reliability –Defect density: Defects per KLOC (“1000 lines of code”) –Failure intensity: Number of failures per (hour of) operation Availability –Uptime % Usability –SUMI score: user survey results, relative to “state-of-the-art” Evolvability, safety, security –Metrics are more like measurements, value as indicators debatable Overall –Customer satisfaction: results of customer surveys –Customer reported defects: defect reports per customer-month

Swami NatarajanOctober 1, 2016 RIT Software Engineering In-process metrics: Quality Reliability growth pattern –Failures during system testing plotted vs. time –Expected: spikes during each release, decrease over time –Magnitude of spike related to significance, volume of changes Pattern of defects found (arrivals) during testing –Test defects found plotted vs. time during testing –Should decrease significantly close to release –Can project “latent defects” (defects left at release) from this Defect density (can be tracked during development as well) –Defects per KLOC (can be classified by type, module) Highlights “hot spots” –Post-release defect density (product metric) Strong indicator of effectiveness of testing (if product is used!)

Swami NatarajanOctober 1, 2016 RIT Software Engineering In-process metrics: Maintenance Backlog management Index –Rate of problem arrivals / rate of closure Should be close to 1, at least for high severity Responsiveness of fixing –Mean closure time, Age of open & closed problems, % late fixes Should stay within target values Fix quality –Number and % of defective fixes (didn’t work or created new bugs)

Swami NatarajanOctober 1, 2016 RIT Software Engineering In-process Metrics: Management Cost of Quality –Total effort on quality assurance activities: testing, reviews, procedures –Should be as low as possible – high may indicate “perfectionism” Cost of poor quality –Total effort expended on rework –Should be within range (what if it is “too low”, isn’t that great?) Phase containment effectiveness / defect removal effectiveness –What % of the errors were detected within that phase? Shows effectiveness of reviews and other quality procedures –Preferably around 0.7 or so If it is 0.97, is that good? (It is an opportunity)

Swami NatarajanOctober 1, 2016 RIT Software Engineering Project Metrics Cycletime –Elapsed time from requirements to delivery Productivity –Size of delivered software / total effort Rate of requirements change –% of requirements that changed plotted vs. time –High requirements change will affect estimation accuracy, cycletime, quality Estimation accuracy –% difference between estimated and actual –Can be done for cycletime, effort Staffing change pattern –% of turnover (entered, left) plotted vs. time –High staffing change will impact productivity, quality

Swami NatarajanOctober 1, 2016 RIT Software Engineering Conclusion There do exist a number of metrics that can give a meaningful picture of what is going on in a project By designing a metrics program that uses multiple metrics in conjunction with each other, we can get a balanced picture Most of the metrics come from relatively little raw data: size, effort, defects / failures, timeline data There are metrics that can help to identify problems and areas of improvement, as well as metrics that evaluate results