Embed
Email

Estimation Metrics

Document Sample

Description

Software engineering notes, slides

Shared by: Atif Bashir
Stats
views:
5
posted:
11/1/2011
language:
English
pages:
27
Metrics

A Good Manager Measures

process

process metrics



project metrics

measurement

product metrics



product

What do we

use as a

basis?

• size?

• function?

Why Do We Measure?

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.

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

The IEEE glossary defines a metric as ―a

quantitative measure of the degree to which a

system, component, or process possesses a

given attribute.‖

An indicator is a metric or combination of metrics

that provide insight into the software process, a

software project, or the product itself

Process Measurement

We measure the efficacy of a software process

indirectly.

 That is, we derive a set of metrics based on the outcomes that

can be derived from the process.

 Outcomes include

measures of errors uncovered before release of the software

defects delivered to and reported by end-users

work products delivered (productivity)

human effort expended

calendar time expended

schedule conformance

other measures.

We also derive process metrics by measuring the

characteristics of specific software engineering tasks.

Process Metrics Guidelines

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.

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.

Software Process Improvement



Process model



Process improvement

Improvement goals recommendations





Process metrics SPI

Process Metrics

Quality-related

 focus on quality of work products and deliverables

Productivity-related

 Production of work-products related to effort expended

Statistical SQA data

 error categorization & analysis

Defect removal efficiency

 propagation of errors from process activity to activity

Reuse data

 The number of components produced and their degree of

reusability

Project Metrics

used to minimize the development schedule by making the

adjustments necessary to avoid delays and mitigate potential

problems and risks

used to assess product quality on an ongoing basis and, when

necessary, modify the technical approach to improve quality.

every project should measure:

 inputs—measures of the resources (e.g., people, tools) required to do

the work.

 outputs—measures of the deliverables or work products created during

the software engineering process.

 results—measures that indicate the effectiveness of the deliverables.

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

Typical Size-Oriented Metrics

errors per KLOC (thousand lines of code)

defects per KLOC

$ per LOC

pages of documentation per KLOC

errors per person-month

Errors per review hour

LOC per person-month

$ per page of documentation

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

Comparing LOC and FP

Programming LOC per Function point

Language avg. median low high

Ada 154 - 104 205

Assembler 337 315 91 694

C 162 109 33 704

C++ 66 53 29 178

COBOL 77 77 14 400

Java 63 53 77 -

JavaSc ript 58 63 42 75

Perl 60 - - -

PL/1 78 67 22 263

Powerbuilder 32 31 11 105

SAS 40 41 33 49

Smalltalk 26 19 10 55

SQL 40 37 7 110

Visual Basic 47 42 16 158





Representative values developed by QSM

Software Project Planning

The overall goal of project planning is to

establish a pragmatic strategy for controlling,

tracking, and monitoring a complex technical

project.



Why?



So the end result gets done on time, with

quality!









These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14

Steps in Estimating

Estimate cost and effort

 Decompose the problem

 Develop two or more estimates using size,

function points, process tasks or use-cases

 Reconcile the estimates









These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15

Estimation

Estimation of resources, cost, and

schedule for a software engineering effort

requires

 experience

 access to good historical information (metrics

 the courage to commit to quantitative

predictions when qualitative information is all

that exists

Estimation carries inherent risk and this

risk leads to uncertainty

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 16

Project Estimation

Project scope must be understood

Elaboration (decomposition) is

necessary

Historical metrics are very helpful

At least two different techniques

should be used

Uncertainty is inherent in the

process









These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17

Estimation Techniques

Past (similar) project experience

Conventional estimation

techniques

 task breakdown and effort

estimates

 size (e.g., FP) estimates

Empirical models

Automated tools



These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 18

Estimation Accuracy

Predicated on …

 the degree to which the planner has properly

estimated the size of the product to be built

 the ability to translate the size estimate into human

effort, calendar time, and dollars (a function of the

availability of reliable software metrics from past

projects)

 the degree to which the project plan reflects the

abilities of the software team

 the stability of product requirements and the

environment that supports the software engineering

effort.

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 19

Functional Decomposition



Statement functional

of decomposition

Scope

Perform a

Grammatical “parse”









These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 20

Conventional Methods:

LOC/FP Approach



compute LOC (lines of code)/FP

(function points) using estimates of

information domain values

use historical data to build estimates

for the project







These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 21

Example: LOC Approach









Average productivity for systems of this type = 620 LOC/pm.

Burdened labor rate =$8000 per month, the cost per line of

code is approximately $13.

Based on the LOC estimate and the historical productivity

data, the total estimated project cost is $431,600 and the

estimated effort is 54 person-months.





These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 22

Function Points

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)

FP = count-total X [0.65 + 0.01 X Sum (Fi)]







These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 23

Count-Total

Count-Total = sum(number X weight)

Where weights are:

Simple Average Complex

External Inp 3 4 6

External Out 4 5 7

External Inq 3 4 6

Internal Files 7 10 15

External Files 5 7 10

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 24

Calculation of sum(Fi)

Total of 1-5 rating of following 14 questions:

 Does the system require reliable back-up/recovery?

 Are specialized data communications required?

 Are there distributed processing functions?

 Is performance critical?

 Will run in heavily utilized operating environment?

 On-line data entry required?

 For on-line data entry, will it require multiple screens?

 Are ILF’s updated on-line?

 Are input, output, files, or inquiries complex?

 Is the internal processing complex?

 Is the code designed to be reusable?

 Are conversion and installation included?

 Is the system designed for installation in different organizations?

Is the application designed to facilitate change and ease of use?

These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided



with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 25

Example: FP Approach









The estimated number of FP is derived:

FPestimated = count-total X [0.65 + 0.01 X Sum (Fi)]

FPestimated = 375

organizational average productivity = 6.5 FP/pm.

burdened labor rate = $8000 per month, the cost per FP is approximately $1230.

Based on the FP estimate and the historical productivity data, the total estimated

project cost is $461,000 and the estimated effort is 58 person-months.







These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided

with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 26

Reference

Pressman 15, 22,23

 Section: 15.2.1,15.3, 22.2,23.6


Related docs
Other docs by Atif Bashir
cases
Views: 1  |  Downloads: 0
archiving in oracle
Views: 15  |  Downloads: 0
oracle ocp exam 1Z0-001 hand book
Views: 26  |  Downloads: 0
Auditing in oracle
Views: 18  |  Downloads: 0
Managing oracle Schema Objects
Views: 18  |  Downloads: 0
Estimation Metrics
Views: 5  |  Downloads: 0
LEC-2
Views: 3  |  Downloads: 0
oracle user management
Views: 21  |  Downloads: 0
Oracle system datafile recovery
Views: 22  |  Downloads: 1
LEC-1
Views: 2  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!