Software Process and Project Metrics

Similar documents
Chapter 4 Software Process and Project Metrics

QUESTIONS AND ANSWERS ON SOFTWARE PROCESS AND PRODUCT METRICS

Software Project Management

4-3 Software Measurement

Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a comple

Metrics and Estimation. Metrics. Lord Kelvin

Introduction to Software Metrics

Concepts of Project Management. All projects have followings.

Introduction to Software Metrics

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

Figure 1 Function Point items and project category weightings

Software Quality Management

R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

Management of Software Engineering. Ch. 8 1

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT

Estimating Duration and Cost. CS 390 Lecture 26 Chapter 9: Planning and Estimating. Planning and the Software Process

Chapter 6. Software Quality Management & Estimation

Management and MDD. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems March 6, 2007

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

ESTIMATION OF ASPECT ORIENTED PROGRAMMING USING DIFFERENT METRICES

Chapter 5: Software effort estimation- part 2

Estimation for Software Projects. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Software Efforts & Cost Estimation Matrices and Models. By: Sharaf Hussain

Software Engineering

SOFTWARE DEVELOPMENT PRODUCTIVITY FACTORS IN PC PLATFORM

Introduction to Software Engineering

Tutorial Software is the differentiating characteristics in many computer based products and systems. Provide examples of two or three products

UNIT V PROJECT MANAGEMENT

Sri Vidya College of Engineering & Technology-Virudhunagar

Unit-II Measures, Metrics and Indicators

Darshan Institute of Engineering & Technology for Diploma Studies

So#ware Architecture

Headquarters U.S. Air Force

SE curriculum in CC2001 made by IEEE and ACM: What is Software Engineering?

Resource Model Studies

Chapter 26. Quality Management

Software Measurement

Applying the Personal Software Process (PSP) sm with Ada

Today s Lecture. Fall 2004 SE 101 Introduction to Software Engineering 2

To get the most out of this tutorial, it is good to have a basic understanding of the Software Development Life Cycle (SDLC).

EE382V. System Design Metrics

PLANNING AND ESTIMATING

Building a Local Resource Model

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

Software Metrics & Software Metrology. Alain Abran. Chapter 9 Use Case Points: Analysis of their Design

Cost Estimation. What are the costs of a Software Project? Why does it matter for us to know this? How do you measure productivity?

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

ANALYSIS OF FACTORS CONTRIBUTING TO EFFICIENCY OF SOFTWARE DEVELOPMENT


Introduction to Function Points

Producing Production Quality Software Lecture 14: Group Programming Practices Data Prof. Arthur P. Goldberg Fall, 2005

3 Planning the Measurement Process

3 Planning the Measurement Process

CSE 435 Software Engineering. Sept 14, 2015

Lecture 7 Software Product Design and Project Overview

SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION

S f o tware E are n E g n i g nee ee ing Projec Proj t Ma nagem ent C ent oncepts

Fundamental estimation questions. Software cost estimation. Costing and pricing. Software cost components. Software pricing factors

Lecture 28: Software metrics

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

INF 3121 Software Testing - Lecture 05. Test Management

GEARING FACTORS. The A FLEXIBLE SIZING APPROACH

7. What is planning? It is an act of formulating a program for a definite course of action. Planning is to decide what is to be done.

Software Quality Management

7. Project Management

What is SQA? Software Quality Assurance. Quality Concepts. Quality Concept (cont.)

Personal Software Process SM for Engineers: Part I

Information Technology Project Management. Copyright 2012 John Wiley & Sons, Inc.

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik

Introduction to Software Testing

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik

Managing Customer Specific Projects Tomas Nyström

Models in Engineering Glossary

Joined-up Requirements: Business Goals to System Tests

SWEN 256 Software Process & Project Management

Capability Maturity Model for Software (SW-CMM )

COCOMO Models 26/12/2016 1

CHAPTER 6 AN ANALYSIS OF EXISTING SOFTWARE ESTIMATION TECHNIQUES

Reflection on Software Process Improvement

Software Metrics: An Essential Tool for determining software success

DEPARTMENT OF DEFENSE STANDARD PRACTICE

Software Quality Management

Software Quality Management

A Software Metrics Primer

THE BCS PROFESSIONAL EXAMINATION BCS Level 6 Professional Graduate Diploma in IT September 2018 EXAMINERS REPORT. Software Engineering 2

SENG380:Software Process and Management. Software Size and Effort Estimation Part2

MTAT Software Economics. Session 6: Software Cost Estimation

Software Engineering

Topic 12. SW/CIS Project Estimates (LOC, FP, efforts, cost, etc.)

IT-hub College, Sargodha Version: 1.0 Online Attendance Management System Date: February 20, 2017

Using a Validation Model to Measure the Agility of Software Development in a Large Software Development Organization

Automated Collection of Software Sizing Data

SOFTWARE ENGINEERING

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. October 2012 EXAMINERS REPORT. Software Engineering 2

Implementation & Testing Plan. CS 307: Software Engineering Pascal Meunier

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Software cost estimation

Transcription:

Software Process and Project Metrics Software Engineering 5 1 Measurements When you can measure what you are speaking about and can express it in numbers, you know something about it. But when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind. Lord Kelvin If software development is to be viewed as an engineering discipline, it requires a measurement component that allows us to better understand, evaluate, predict and control the software process and product. Victor Basili University of Maryland 2 SOE5 1

Measurement & Metrics... collecting metrics is too hard... it's too time-consuming... it's too political... it won't prove anything... Anything that you need to quantify can be measured in some way that is superior to not measuring it at all.. Tom Gilb 3 Why do we Measure? To characterize To evaluate To predict To improve 4 SOE5 2

A Good Manager Measures process process metrics measurement project metrics product metrics product What do we use as a basis? size? function? 5 Measures, Metrics, and Indicators Measure Provides a quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process. Metric A quantitative measure of the degree to which a system, component, or process possesses a given attribute. Indicator A metric or combination of metrics that provide insight into the software process, a software project, or the product itself. 6 SOE5 3

Software Measurement Classification Software measurements can be classified in several ways: Objective/subjective Absolute/relative Explicit/derived Dynamic/static Predictive/explanatory 7 Process Metrics majority focus on quality achieved as a consequence of a repeatable or managed process statistical SQA data error categorization & analysis defect removal efficiency propagation from phase to phase reuse data 8 SOE5 4

Project Metrics Effort/time per SE task Errors uncovered per review hour Scheduled vs. actual milestone dates Changes (number) and their characteristics Distribution of effort on SE tasks 9 Product Metrics focus on the quality of deliverables measures of analysis model complexity of the design internal algorithmic complexity architectural complexity data flow complexity code measures (e.g., Halstead) measures of process effectiveness e.g., defect removal efficiency 10 SOE5 5

Metrics Guidelines Use common sense and organizational sensitivity when interpreting metrics data. Provide regular feedback to the individuals and teams who have worked to collect measures and metrics. Don t use metrics to appraise individuals. Work with practitioners and teams to set clear goals and metrics that will be used to achieve them. Never use metrics to threaten individuals or teams. Metrics data that indicate a problem area should not be considered negative. These data are merely an indicator for process improvement. Don t obsess on a single metric to the exclusion of other important metrics. 11 Causes of Defects and Their Origin Specification/Requirements Design Code Logic 20% Data Handling 10.5% Standards 6.9% Specifications 25.5% User Interface 11.7% Error Checking 10.9% Hardware Interface 7.7% Software Interface 6% 12 SOE5 6

Statistical Software Process Improvement - Failure Analysis 1. All errors and defects are categorized by origin (e.g. flaw in specification, flaw in logic, nonconformance to standards). 2. The cost to correct each error and defect is recorded. 3. The number of errors and defects in each category are counted and ordered in descending order. 4. The overall cost of errors and defects in each category is computed. 5. Resultant data are analyzed to uncover the categories that result in highest cost to the organization. 6. Plans are developed to modify the process with the intent of eliminating (or reducing the frequency of occurrence of) the class of errors and defects that is most costly. 13 Problem Cause Analysis 14 SOE5 7

Normalization for Metrics Normalized data are used to evaluate the process and the product (but never individual people) size-oriented normalization the line of code approach function-oriented normalization the function point approach 15 Typical Size-Oriented Metrics errors per KLOC (thousand lines of code) defects per KLOC $ per LOC page of documentation per KLOC errors / person-month LOC per person-month $ / page of documentation 16 SOE5 8

Typical Function-Oriented Metrics errors per FP (thousand lines of code) defects per FP $ per FP pages of documentation per FP FP per person-month 17 The Controversy over Sizeoriented Metrics Size-oriented metrics are not universally accepted. The use of LOC as a key measure is the center of the conflict. Proponents of the LOC measure claim: it is an artifact of all software engineering processes which can easily be counted many existing metrics exist which use LOC as an input a large body of literature and data exist which is predicated on LOC Opponents of the LOC measure claim: that it is language dependent well designed short programs are penalized they do not work well with non-procedural languages their use in planning is difficult because the planner must estimate LOC before the design is completed 18 SOE5 9

Function-Oriented Metrics Function-oriented metrics are indirect measures of software which focus on functionality and utility. Functionality cannot be directly measured, so it must be derived indirectly using other direct measures. The first function-oriented metrics was proposed by Albrecht who suggested a productivity measurement approach called the function point method. Function points (FPs) are derived using an empirical relationship from countable measures and assessments of software complexity. Once calculated, FPs may be used in place of LOC as a measure of productivity, quality, cost, documentation, and other attributes 19 Why Opt for FP Measures? independent of programming language uses readily countable characteristics of the"information domain" of the problem does not "penalize" inventive implementations that require fewer LOC than others makes it easier to accommodate reuse and the trend toward object-oriented approaches 20 SOE5 10

LOC to FP Ratio Estimates Programming Language LOC/FP (average) Assembly Language 320 C 128 Cobol 105 Fortran 105 Pascal 90 Ada 70 Object-oriented languages 30 Fourth gen. languages (4GL) 20 Code generators 15 Spreadsheets 6 Graphical languages (icons) 4 21 Computing Function Points Analyze information domain of the application and develop counts Establish count for input domain and system interfaces Weight each count by assessing complexity Assign level of complexity or weight to each count Assess influence of global factors that affect the application Grade significance of external factors, F i such as reuse, concurrency, OS,... Compute function points function points = (count x weight) x C where: complexity multiplier: C = (0.65 + 0.01 x N) degree of influence: N = F i SOE5 11

Analyzing the Information Domain measurement parameter number of user inputs count weighting factor simple avg. complex X 3 4 6 = number of user outputs X 4 5 7 = number of user inquiries X 3 4 6 = number of files X 7 10 15 = number of ext.interfaces X 5 7 10 = count-total complexity multiplier function points 23 Taking Complexity into Account Factors are rated on a scale of 0 (not important) to 5 (very important): data communications distributed functions heavily used configuration transaction rate on-line data entry end user efficiency on-line update complex processing installation ease operational ease multiple sites facilitate change 24 SOE5 12

Measuring Quality Correctness the degree to which a program operates according to specification Maintainability the degree to which a program is amenable to change Integrity the degree to which a program is impervious to outside attack Usability the degree to which a program is easy to use 25 Defect Removal Efficiency DRE = (errors) / (errors + defects) where errors = problems found before release defects = problems found after release 26 SOE5 13

Managing Variation The mr Control Chart Er, Errors found/ review hour 6 5 4 3 2 1 0 1 3 5 7 9 11 13 15 17 19 Projects 27 Formulation Principles The objectives of measurement should be established before data collection begins; Each technical metric should be defined in an unambiguous manner; Metrics should be derived based on a theory that is valid for the domain of application (e.g., metrics for design should draw upon basic design concepts and principles and attempt to provide an indication of the presence of an attribute that is deemed desirable); Metrics should be tailored to best accommodate specific products and processes [BAS84] 28 SOE5 14

Collection and Analysis Principles Whenever possible, data collection and analysis should be automated Valid statistical techniques should be applied to establish relationship between internal product attributes and external quality characteristics Interpretative guidelines and recommendations should be established for each metric 29 Attributes simple and computable. It should be relatively easy to learn how to derive the metric, and its computation should not demand inordinate effort or time empirically and intuitively persuasive. The metric should satisfy the engineer s intuitive notions about the product attribute under consideration consistent and objective. The metric should always yield results that are unambiguous. consistent in its use of units and dimensions. The mathematical computation of the metric should use measures that do not lead to bizarre combinations of unit. programming language independent. Metrics should be based on the analysis model, the design model, or the structure of the program itself. an effective mechanism for quality feedback. That is, the metric should provide a software engineer with information that can lead to a higher quality end product 30 SOE5 15

Analysis Metrics Function-based metrics: use the function point as a normalizing factor or as a measure of the size of the specification Bang metric: used to develop an indication of software size by measuring characteristics of the data, functional and behavioral models Specification metrics: used as an indication of quality by measuring number of requirements by type 31 SOE5 16