Metrics for Process and Projects

Slides:



Advertisements
Similar presentations
Software Engineering: A Practitioner’s Approach Chapter 25 Process and Project Metrics copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Advertisements

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
Project Estimation: Metrics and Measurement
Chapter 4 Software Process and Project Metrics
1 Estimating Software Development Using Project Metrics.
Metrics. A Good Manager Measures measurement What do we use as a basis? size? size? function? function? project metrics process metrics process product.
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.
Chapter 4 Software Process and Project Metrics
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
Chapter 22 Process and Project Metrics
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.
Process and Project Metrics
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
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.
Software Metrics.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
Project Management Metrics.
A Good Manager Measures
Software Process and Product Metrics
Project Metrics Infsy 570 Dr. R. Ocker.
Software Engineering Software Process and Project Metrics.
Chapter 6 : Software Metrics
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Chapter 4 Software Process and Project Metrics.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Software Metrics – part 2 Mehran Rezaei. Software Metrics Objectives – Provide State-of-art measurement of software products, processes and projects Why.
Lecture 4 Software Metrics
Estimation - Software Metrics Managers frequently have to measure the productivity of software engineers.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Chapter 3: Software Project Management Metrics
1 Software Engineering: A Practitioner’s Approach Chapter 25 Process and Project Metrics Software Engineering: A Practitioner’s Approach Chapter 25 Process.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Software Project Management Lecture # 3. Outline Metrics for Process and Projects  Introduction  Software Metrics Process metrics Project metrics Direct.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Software Engineering: A Practitioner’s Approach Chapter 25 Process and Project Metrics Software Engineering: A Practitioner’s Approach Chapter 25 Process.
Software Metrics 1.
Chapter 22 Process and Project Metrics
Software Engineering (CSI 321)
Chapter 4 Software Process and Project Metrics
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
Function Point Analysis
Software Metrics “How do we measure the software?”
For University Use Only
Why Do We Measure? assess the status of an ongoing project
Chapter 25 Process and Project Metrics
Software metrics.
Process and Project Metrics
Why Do We Measure? assess the status of an ongoing project
Process and Project Metrics
Why Do We Measure? assess the status of an ongoing project
Chapter 32 Process and Project Metrics
Chapter 22 Process and Project Metrics
Metrics for Process and Projects
Presentation transcript:

Metrics for Process and Projects Chapter 15 & 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6th Edition Roger S. Pressman

Measurement Provides a mechanism for objective evaluation Assists in Estimation Quality control Productivity assessment Project Control Tactical decision-making Acts as management tool

Measures, Metrics and Indicators A measure provides a quantitative indication of the extent, amount, dimension, capacity, or size of some attribute of a product or process. E.g., Number of errors The IEEE glossary defines a metric as “a quantitative measure of the degree to which a system, component, or process possesses a given attribute.” E.g., Number of errors found per person hours expended An indicator is a metric or combination of metrics that provide insight into the software process, a software project, or the product itself.

Motivation for Metrics Estimate the cost & schedule of future projects Evaluate the productivity impacts of new tools and techniques Establish productivity trends over time Improve software quality Forecast future staffing needs Anticipate and reduce future maintenance needs

A Good Manager Measures process process metrics project metrics measurement product metrics product What do we use as a basis? • size? • function?

Metrics in the Process and Project Domains Process metrics are collected across all projects and over long periods of time Project metrics enable a software project manager to Assess the status of an ongoing project Track potential risks Uncover problem areas before they go “critical” Adjust work flow or tasks Evaluate the project team’s ability to control quality of software work products

Process Metrics and Software Process Improvement (1) Product Customer characteristics Business conditions Process People Technology Development environment Fig.-22.1: Determinants for s/w quality and organizational effectiveness

Process Metrics and Software Process Improvement (2) We measure the efficacy of a s/w process indirectly, based on outcomes Probable outcomes are Measures of errors uncovered before release of the s/w Defects delivered to and reported by end-users Work products delivered (productivity) Human effort expended Calendar time expended Schedule conformance, etc.

Process Metrics and Software Process Improvement (3) Software metrics etiquette [GRA92] Use common sense and organizational sensitivity when interpreting metrics data Provide regular feedback to the individuals and teams who collect measures and metrics Don’t use metrics to appraise individuals

Process Metrics and Software Process Improvement (4) Software metrics etiquette [GRA92] (contd.) 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

Process Metrics and Software Process Improvement (5) Error Some flaw in a s/w engineering work product that is uncovered before the s/w is delivered to the end-user Defect A flaw that is uncovered after delivery to the end-user

Project Metrics Used during estimation Used to monitor and control progress The intent is twofold Minimize the development schedule Assess product quality on an ongoing basis Leads to a reduction in overall project cost

Typical Project Metrics Effort/time per software engineering task Errors uncovered per review hour Scheduled vs. actual milestone dates Changes (number) and their characteristics Distribution of effort on software engineering tasks

Software Measurement S/W measurement can be categorized in two ways: Direct measures of the s/w process (e.g., cost and effort applied) and product (e.g., lines of code (LOC) produced, etc.) Indirect measures of the product (e.g., functionality, quality, complexity, etc.) Requires normalization of both size- and function-oriented metrics

Size-Oriented Metrics (1) Lines of Code (LOC) can be chosen as the normalization value Example of simple size-oriented metrics Errors per KLOC (thousand lines of code) Defects per KLOC $ per KLOC Pages of documentation per KLOC

Size-Oriented Metrics (2) Project LOC Effort $(000) Pp. doc. Errors Defects People alpha 12,100 24 168 365 134 29 3 Beta 27,200 62 440 1224 321 86 5 gamma 20,200 43 314 1050 256 64 6 .

Size-Oriented Metrics (3) Controversy regarding use of LOC as a key measure According to the proponents LOC is an “artifact” of all s/w development projects Many existing s/w estimation models use LOC or KLOC as a key input According to the opponents LOC measures are programming language dependent They penalize well-designed but shorter programs Cannot easily accommodate nonprocedural languages Difficult to predict during estimation

Function-Oriented Metrics The most widely used function-oriented metric is the function point (FP) Computation of the FP is based on characteristics of the software’s information domain and complexity

Information Domain Number of external inputs – from user or another application Number of external outputs Number of external inquiries – request from user that generates an on-line output Number of internal logical files (maintained by system) Number of external interface files (provides data but not maintained by system) 19

Computing Function Points

Analyzing the Information Domain 12 3 5 25 2 8 4 40 1 7 92 [0.65 + 0.01 × ∑(Fi)] count-total × [0.65 + 0.01 ×∑(Fi)]

Taking Complexity into Account Factors(Fi) are rated on a scale of 0 (not important) to 5 (essential) The following are some examples of these factors: Is high performance critical? Is the internal processing complex? Is the system to be used in multiple sites and/or by multiple organizations? Is the code designed to be reusable? Is the processing to be distributed? and so forth . . .

Computing Function Points 12 3 5 25 2 8 4 40 1 7 92 [0.65 + 0.01 × ∑(Fi)] 1.07 98.44 count-total × [0.65 + 0.01 ×∑(Fi)]

Uses of Function Points(FP) But how long will the project take and how much will it cost? If programmers in an organization produce average 16 function points per month. Thus . . . 98.44 FP divided by 16 = 6 man-months If the average programmer is paid $5,200 per month (including benefits), then the [labor] cost of the project will be . . . 6 man-months X $5,200 = $31,200

Pros & Cons of FP Controversy regarding use of FP as a key measure According to the proponents It is programming language independent Can be predicted before coding is started According to the opponents Based on subjective rather than objective data Has no direct physical meaning – it’s just a number

Reconciling LOC and FP Metrics

Chapter 15 & 22 15.2, 15.3, 22.1, 22.2 Exercises 15.5, 22.3, 22.4, 22.5, 22.8