12 Steps to Useful Software Metrics

Slides:



Advertisements
Similar presentations
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.
Advertisements

Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
W5HH Principle As applied to Software Projects
Stepan Potiyenko ISS Sr.SW Developer.
Software Development Process Models. The Waterfall Development Model.
Overview Lesson 10,11 - Software Quality Assurance
Software Quality Metrics
Software Measurement and Process Improvement
RIT Software Engineering
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Software Process and Product Metrics
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
12 Steps to Useful Software Metrics
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Capability Maturity Model
SEA Side Software Engineering Annotations
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
N By: Md Rezaul Huda Reza n
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.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
Disciplined Software Engineering Lecture #6 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Software Project Management With Usage of Metrics Candaş BOZKURT - Tekin MENTEŞ Delta Aerospace May 21, 2004.
Software Project Management Lecture # 10. Outline Quality Management (chapter 26)  What is quality?  Meaning of Quality in Various Context  Some quality.
Regents Strategies: ELIMINATION Ruling out answers that we know are incorrect.
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Company LOGO Team assignment 03 Team 04 K15T02. Members… 1.Hoàng Thị Kim Dâng 2.Thái Thanh Nhã 3.Trần Thị Mộng Hà 4.Trần Tiễn Hưng 5.Chu Thị Thu Hương.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Chapter 3: Software Project Management Metrics
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Chapter 6: THE EIGHT STEP PROCESS FOCUS: This chapter provides a description of the application of customer-driven project management.
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
The Implementation of BPR Pertemuan 9 Matakuliah: M0734-Business Process Reenginering Tahun: 2010.
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
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.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
Emilia Mendes Professora Visitante CAPES/ Associate Professor Univ. Auckland, NZ. Introdução a Métricas, Qualidade e Medição de Software.
Capability Maturity Model. What is CMM? n CMM: Capability Maturity Model n Developed by the Software Engineering Institute of the Carnegie Mellon University.
Swami NatarajanOctober 1, 2016 RIT Software Engineering Software Metrics Overview.
Software Development.
IF 3507 Manajemen Proyek Perangkat Lunak
Software Configuration Management
Software Project Configuration Management
CIS 375 Bruce R. Maxim UM-Dearborn
Six-Sigma : DMAIC Cycle & Application
Managing the Project Lifecycle
The Systems Engineering Context
Disciplined Software Engineering Lecture #6
IEEE Std 1074: Standard for Software Lifecycle
Information Technology Project Management – Fifth Edition
Chapter 5: Project Scope Management
PROJECT SCOPE MANAGEMENT
Taking an Iteration Down to Code
Software Quality Engineering
Quality Measurable characteristic Cyclomatic complexity Cohesion
Capability Maturity Model
PROJECT SCOPE MANAGEMENT
Adaptive Product Development Process Framework
Software Testing Lifecycle Practice
Software Development In Agile
Capability Maturity Model
INTRODUCTION TO QUALITY
Metrics Organizational Guidelines [1]
Presentation transcript:

12 Steps to Useful Software Metrics Westfall The Team Linda Westfall

What are Software Metrics? Applied To Measurement Based Techniques Software Processes, Products & Services To Supply Engineering & Management Information To Improve

Entity: Attribute: Mapping: Measurement Defined Entity: Attribute: Features & Properties Mapping: Numbers & Symbols

Two Historic Schools of Thought Collect data on everything -- then find meaning Implement a random selection of metrics Jeopardy approach to metrics -- start with the answer and try to guess the question

Step 1 - Identify Metrics Customers Who needs the information? Who’s going to use the metrics? ? If the metric does not have a customer -- do not use it.

Task goals (entry & exit criteria) Step 2 - Target Goals Organizational goals Be the low cost provider Meet projected revenue targets Project goals Deliver the product by June 1st Finish the project within budget Task goals (entry & exit criteria) Effectively inspect software module ABC Obtain 100% statement coverage during testing

Frustrations Goals Project manager: our estimated project schedules always end up being way off. Functional manager: if we have another late delivery... Engineer: too much overtime -- not enough time to do things right Test manager: no time left to test product before it is scheduled to ship Improve the schedule estimation process

Step 3 - Ask Questions Goal: Maintain a high level of customer satisfaction What is our current level of customer satisfaction? What attributes of our products and services are most important to our customers? How do we compare with our competition?

Turning Questions into Lower Level Goals High level goal: Ship only defect free software Questions: Is software adequately tested? How many defects are still undetected? Are all known defects corrected? Lower level goal: Ensure all known defects are corrected before shipment

Select metrics that provide information to help answer the questions Step 4 - Select Metrics Select metrics that provide information to help answer the questions Be practical, realistic, pragmatic Consider current engineering environment Start with the possible Metrics don’t solve problems -- people solve problems Metrics provide information so people can make better decisions

Selecting Metrics Goal: Ensure all known defects are corrected before shipment

Role of Measurement Understand Control Evaluate Predict Processes, Products & Services Evaluate Predict

Metrics Objective Statement Template To understand evaluate control predict the attribute of the entity in order to goal(s) Example - Metric: % defects corrected To the in order to % defects found & corrected during testing ensure all known defects are corrected before shipment evaluate

Benefits Clearly defined metric objectives: Ensures a well defined metric based on customer goals Eliminates misunderstandings Communicates need Provides requirements statement

Step 5 - Standardize Definitions Open User Open Developer

Standardize Definitions Select definitions from the literature that match your organizational goals Use them as a basis for creating your own definitions Apply them consistently Include them in an appendix to each metrics report

Models for code inspection metrics Metric Primitive Models: Step 6 - Choose a Model Models for code inspection metrics Metric Primitive Models: Lines of Code Inspected = loc Hours Spent Preparing = prep_hrs Hours Spent Inspecting = in_hrs Discovered Defects = defects Other Metric Models: Preparation Rate = loc / prep_hrs Inspection Rate = loc / in_hrs Defect Detection Rate = defects / (prep_hrs + in_hrs)

If you are miles away from your target Keep It Simple If you are miles away from your target -- it doesn’t make sense to measure in millimeters. Questions: Does it give us more information than we have now? Is that information of practical benefit? Does it tell us what we want to know?

Step 7 - Establish Counting Criteria Lines of Code Variations in counting No industry accepted standard SEI guideline - check sheets for criteria Advice: use a tool

Counting Criteria - Effort What is a Software Project? When does it start / stop? What activities does it include? Who works on it?

Step 8 - Decide On Decision Criteria Establish Baselines Current value Problem report backlog Defect prone modules Statistical analysis (mean & distribution) Defect density Fix response time Cycle time Variance from budget (e.g., cost, schedule)

Deciding “what’s good” Establishing Goals Deciding “what’s good” Customer requirements Metrics literature Benchmarking Own best results Avoid the roller coaster effect Decrease variance Baseline Move the mean

Step 9 - Define Reporting Mechanisms

Metrics Reporting Timing Delivery Mechanism Distribution Availability Database Data Extraction Snapshot Reporting Delivery Mechanism Distribution Availability

Step 10 - Determine Additional Qualifiers A good metric is a generic metric Additional qualifiers: Provide demographic information Allow detailed analysis at multiple levels Define additional data requirements

Additional Qualifier Example Metric: software defect arrival rate Release / product / product line Module / program / subsystem Reporting customer / customer group Root cause Phase found / phase introduced Severity

? Step 11 – Collect Data What data to collect? Metric primitives Additional qualifiers Who should collect the data? The data owner Direct access to source of data Responsible for generating data Owners more likely to detect anomalies Eliminates double data entry ?

Examples of Data Ownership

Step 12 – Consider Human Factors The People Side of the Metrics Equation How measures affect people How people affect measures “Don’t underestimate the intelligence of your engineers. For any one metric you can come up with, they will find at least two ways to beat it.” [unknown]

Use metrics as a “stick” Don’t Use metrics as a “stick” Measure individuals Ignore the data Use only one metric Cost Quality Schedule

Select metrics based on goals Focus on processes, products & services Question 1 Question 2 Question 3 Question 4 Metrics 1 Metric 2 Metric 3 Metric 4 Metric 5 [Basili-88] Provide feedback Feedback Data Data Providers Metrics Focus on processes, products & services Processes, Products & Services Obtain “buy-in”

12 Steps to Useful Software Metrics Step 1 - Identify Metrics Customers Step 2 - Target Goals Step 3 - Ask Questions Step 4 - Select Metrics Step 5 - Standardize Definitions Step 6 - Choose a Model Step 7 - Establish Counting Criteria Step 8 - Decide On Decision Criteria Step 9 - Define Reporting Mechanisms Step 10 - Determine Additional Qualifiers Step 11 - Collect Data Step 12 - Consider Human Factors