metric estimation

28
Chapter 4 Software Process and Project Metrics

Upload: abdur-rehman-muhammadi

Post on 14-Jun-2015

301 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Metric estimation

Chapter 4Software Process and Project Metrics

Page 2: Metric estimation

Lecture Objectives:

To comprehend:

Basic concepts of software metrics

Process Metrics

Project Metrics

Normalization of metrics

Page 3: Metric estimation

Measurement & Metrics

... collecting metrics is too hard ... ... collecting metrics is too hard ...

it's too time-consuming ... it's too it's too time-consuming ... it's too

political ... it won't prove anything ...political ... it won't prove anything ...

Anything that you need to Anything that you need to quantify can be measured in quantify can be measured in some way that is superior to some way that is superior to not measuring it at all ..not measuring it at all ..

Tom GilbTom Gilb

Page 4: Metric estimation

Why do we Measure?

• To characterize• To evaluate• To predict• To improve

Page 5: Metric estimation

Important Concepts

• Measure (A quantitative indication of an attribute)• Measurement (Act of measure)• Metrics (A quantitative measure of the degree to

possess a given attribute)• Indicator (A metric or combination of metrics

which provide an insight)

Page 6: Metric estimation

Steps to create a metric

• Define the goal of a metric

• Identify the requirements of a metric

• Determine the baseline figure of the metric

• Review the metric created

Page 7: Metric estimation

Process as controllable factor

Product

TechnologyPeople

Process

Business Conditions

Customer Characteristics

Development Enviornment

Page 8: Metric estimation

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.

Page 9: Metric estimation

Process Metrics - strategic

• 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

Page 10: Metric estimation

• The efficacy of a software process can be measured indirectly

• Process metrics are also derived by measuring the characteristics of specific software engineering tasks

• There are “private and public” uses for different types of process data

• The derivation of simple indicators give way to a more rigorous approach “Statistical Software Process Improvement (SSPI)”

Process Metrics:

Page 11: Metric estimation

Project Metrics - tactical

• The first application of project metrics occurs during estimation

• Metrics collected from the past projects are used as a basis for current projects

• As project proceeds, measures of effort and calendar time expended compared to the original estimates

• This data is used by the Project Manager to monitor and control the progress

Page 12: Metric estimation

Project Metric

• 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

Page 13: Metric estimation

Project Metric

• The intent of project metric is twofold:

1) They are used to minimize the development schedule and mitigate problems and risks

2) They are used to assess and improve quality

• Every Project should measure:o Inputso Outputso Results

Page 14: Metric estimation

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

Page 15: Metric estimation

Size Oriented Metrics

Project LOC Effort $(000) Pp.doc Errors Defects People

alpha 12100 24 168 365 134 29 3

beta 27200 62 440 1224 321 86 5

gamma 20200 43 314 1050 256 64 6

Page 16: Metric estimation

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

Page 17: Metric estimation

LOC Based Estimation

Page 18: Metric estimation

An Example of LOC-Based Estimation

Function Estimated LOC

User interface and control facilities (UCIF) 2300

Two-dimensional geometric analysis 5300

Three-dimensional geometric analysis 6800

Database management 3350

Computer graphics display facilities 4950

Peripheral control function 2100

Design Analysis Modules 8400

Estimated lines of code 33200

Page 19: Metric estimation

How you get estimated LOC

3D geometric Analysis Function:

Optimistic LOC = 4600

Most Likely LOC= 6900

Pessimistic LOC= 8600

Estimated LOC For 3D = (Opt. + 4 Most Likely + Pessi.) / 6

= (4600 + 4 (6900) + 8600) / 6 = 6800 LOC

Page 20: Metric estimation

Estimated LOC = 33200

Suppose

Organizational Average Productivity = 620 LOC / pm

Labor Rate = Rs. 8000 / month

Find cost per LOC, Total Project Cost, and Estimated effort?

Page 21: Metric estimation

Cost per LOC = Labor Rate / Productivity = 8000 / 620 = Rs. 12.90 /LOC

Total Project Cost = Estimated LOC * cost Per LOC = 33200 * 12.90

= Rs. 428280

Estimated Effort = Estimated LOC / Productivity = 33200 / 620 = 54 PM

Page 22: Metric estimation

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

Page 23: Metric estimation

Analyze information domain of the application and develop counts

Weight each count by assessing complexity

Assess influence of global factors that affect the application

Compute function points

Establish count for input domain and system interfaces

Assign level of complexity or weight to each count

Grade significance of external factors, F such as reuse, concurrency, OS, ...

FP = Count Total * [ 0.65 + 0.01 * (Fi)]

i

Computing Function Points

Page 24: Metric estimation

Analyzing the Information Domain

complexity multiplier

function points

number of user inputs number of user outputs number of user inquiries number of files number of ext.interfaces

measurement parameter

3 4 3 7 5

countweighting factor

simple avg. complex

4 5 4 10 7

6 7 6 15 10

= = = = =

count-total

X X X X X

Page 25: Metric estimation

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

Page 26: Metric estimation

FP = Count Total * [ 0.65 + 0.01 * Σ(Fi) ]

Page 27: Metric estimation

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

Page 28: Metric estimation

Measuring Quality

• Correctness — the degree to which a program operates according to specification

• Maintainability—the degree to which a program is agreeable to change

• Integrity—the degree to which a program is resistant to outside attack (“Threat and Security”)

• Usability—the degree to which a program is easy to use