Top Banner
1 Metrics
59

1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

Dec 16, 2015

Download

Documents

Elmer White
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1

Metrics

Page 2: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-2

Definition

• Measure: 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.

A comparison of 2 or more measures.• Indicator:A metric or combination of metrics that p

rovide insight into the software process, a software project or the product.

Page 3: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-3

Why Do We Measure?

• To understand what is happening during development and maintenance.

• To control what is happening on our projects.• To improve our process and products.

Page 4: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-4

A Good Manager Measures

measurementmeasurement

What do weWhat do weuse as ause as abasis?basis? • • size?size? • • function?function?

project metricsproject metrics

process metricsprocess metricsprocessprocess

productproduct

product metricsproduct metrics

Page 5: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-5

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

Page 6: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-6

Defect Removal EfficiencyDefect Removal Efficiency

DRE = (errors) / (errors + defects)

where

errors = problems found before release

defects = problems found after release

Page 7: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-7

Project Metrics

• Objectives:– To minimize the development schedule– To assess product quality on an ongoing basis.

• Examples:– 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 8: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-8

Product Metrics• Objectives:

– focus on the quality of deliverables• Examples:

– 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

Page 9: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-9

ตั�วอย่�างตั�วว�ดกระบวนการ

ตั�วว�ด คำ�าอธิ�บาย่Defect Arrival Rate The number of defects found over a specific period

of time.

Defects by Phase The number of defects found during each phase of the project.

Defect Backlog The number of defects waiting to be fixed.

Fix Response Time The average time it takes to fix a defect.

Defective Fixes The number of fixes that created new defects.

Page 10: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-10

ตั�วอย่�างตั�วว�ดผลิ�ตัภั�ณฑ์�Mean Time to

FailureAverage or mean time elapsed until a product fails.

Defect Density The number of defects per lines of code (LOC) or function points.

Customer Found Defects

The number of defects found by the customer.

Customer Satisfaction

An index to measure customer satisfaction – e.g., scale from 1 (very unsatisfied) to 5 (very satisfied)

Page 11: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-11

ตั�วอย่�างตั�วว�ดโคำรงการScope Change

RequestsThe number of scope changes requested by the client or

sponsor.

Scope Change Approvals

The number of scope changes that were approved.

Overdue tasks The number of tasks that were started but not finished by the expected date or time.

Tasks that should have started

The number of task that should have started but have been delayed.

Over budgeted tasks The number of tasks (and dollar amount) of tasks that have cost more to complete than expected

Earned Value Budgeted Cost of Work Performed (BCWP)

Over allocated Resources

The number of resources assigned to more than one task.

Turnover The number of project team members who quit or terminated.

Training Hours The number of training hours per project team member.

Page 12: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-12

Measurement Process

• Formulation• Collection• Analysis• Interpretation• Feedback

Page 13: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-13

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.

• Metrics should be tailored to best accommodate specific products and processes.

Page 14: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-14

Collection & Analysis Principles

• Whenever possible, data collection and analysis should be automated.

• Valid statistical techniques should be applied to establish relationships between internal product attributes and external quality characteristics.

• Interpretative guidelines and recommendations should be established for each metric.

Page 15: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-15

Attributes Of Effective Soft ware Metrics

• Simple and Computable• Empirically and Intuitively• Consistent and Objective• Programming language independent• An effective mechanism for quality feedback

Page 16: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-16

คำ�ณภัาพซอฟท์�แวร� (Software quality)

• ซอฟท์�แวร์�ท์งนได้�สอด้คล้�องกั�บควมต้�องกัร์ของผู้��ใช้�

• ซอฟท์แวร์�ได้�ร์�บกัร์พั�ฒนข� นโด้ยปฏิ%บ�ต้%ต้มกัฎเกัณฑ์�ของกัร์พั�ฒน

• ซอฟท์�แวร์�ท์*+พั�ฒนนอกัจกัสอด้คล้�องควมต้�องกัร์ในด้�นกัร์ใช้�แล้�ว ย�งต้�องสอด้คล้�องกั�บควมต้�องกัร์ท์*+ไม.ใช้�กัร์ใช้�งนด้�วย เช้.นควมสมร์ถในกัร์บร์0งร์�กัษ ควมสมร์ถในกัร์ย�ยแพัล้2ต้ฟอร์�ม เป3นต้�น

Page 17: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-17

McCall’s Quality Factors

Page 18: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-18

Page 19: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-19

Measuring Quality i n Software Requirements

Specification (SRS)• Unambiguous• Complete• Correct• Understandable• Verifiable• Internally consistent• Externally consistent• Achievable• Concise• Design independent• Traceable• Modifiable

• Electronically stored• Executable/Interpretable• Annotated by relative importance• Annotated by relative stability• Annotated by version• Not redundant• At right level of detail• Precise• Reusable• Traced• Organized• Cross-referenced

Page 20: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-20

Metrics f or SRS Attributes

• nf = functional requirements

• nnf = non-functional requirements

• nr = total requirements = nf + nnf

Page 21: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-21

• A SRS is unambiguous if and only if every requirement stated therein has only one possible interpretation.

• Metric:

nui is the number of requirements for which all reviewers presented identical interpretations.

0 - every requirement has multiple interpretation

1 - every requirement has a unique interpretation

Unambiguous

1Q ui

r

nn

Page 22: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-22

Completeness

• A SRS is complete if everything that the software is supposed to do is included in the SRS.

• Metric:

– nA is the number of requirements in block A

• แต้.เน4+องจกัเร์ไม.ร์� �ว.จะว�ด้บล้6อค C หร์4อ D ได้�อย.งไร์ ด้�งน� นส�ต้ร์กัร์ว�ด้ควมสมบ�ร์ณ�จ�งอจเป3นด้�งน*

2Q A

r

nn

2A

A B

nQ

n n

Page 23: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-23

Alexander’s Requirements Completeness Model

(We Know)เร์ร์� � (We Don't Know)เร์ไม.ร์� �

(Weเร์เข�ใจUnderstand)

(Weเร์ไม.เข�ใจDon't Understand)

A

(Weเร์ร์� �เร์ร์� �ส%+งเหล้.น* know we know these)

B

(Weเร์ไม.ร์� �เร์ร์� �ส%+งเหล้.น* don't know we know these)

C

(Weเร์ร์� �เร์ไม.ร์� �ส%+งเหล้.น* know we don't know these)

D

(Weเร์ไม.ร์� �เร์ไม.ร์� �ส%+งเหล้.น* don't know we don't know these)

Page 24: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-24

Correctness

• A SRS is correct if and only if every requirement represents something required of the system to be built

• Metric:

– nC is the number of correct requirements

– nI is the number of incorrect requirements

3Q C

C I

nn n

Page 25: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-25

Understandable

• A SRS is understandable if all classes of SRS readers can easily comprehend the meaning of all requirements with a minimum of explanation.

• Metric:

nur is the number of requirements for which all reviewers thought they understood.

4Q ur

r

nn

Page 26: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-26

Concise

• A SRS is concise if it is as short as possible without adversely affecting any other quality of the SRS.

• Metric:

– size is the number of pages

5

1

1Q

size

Page 27: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-27

Not Redundant

• A SRS is redundant if the same requirement is stated more than one.

• Metric:

– nf is the actual functions specified

– nu is the actual unique functions specified

6Q f

u

nn

Page 28: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-28

- High level Design Metrics

• High-level design metrics focus on characteristics of the program architecture with an emphasis on the architectural structural and the effectiveness of modules

• Metrics:– Card and Glass (1990)

– Henry and Kafura (1981)

– Fenton (1991)

Page 29: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-29

Card And Glass (1990)

• 3 software design complexity measures:– structural complexity

– data complexity

– system complexity

Page 30: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-30

Card And Glass (1990)

• Structural complexity (S(i))

where fout is the fan-out of module i

• Data complexity (D(i))

where v(i) is the number of input and output variables that are passed to and from module i

• System complexity (C(i))

S i f iout( ) ( ) 2

D i v i f iout( ) ( ) / [ ( ) ] 2 1

C i S i D i( ) ( ) ( )

Page 31: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-31

Henry & Kafura (1981)

where length (i) = the number of programming language statements in module i

fin(i) = the number of fan-in of module i

fout(i) = the number of fan-out of module i

• fan-in = the number of local flows of information that terminate at a module + the number of data structures from which information is retrieved.

• Fan-out = the number of local flows of information that emanate from a module plus_the number of data structures that are updated by that module

Complexity length i f i f iin out ( ) [ ( ) ( )]2

Page 32: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-32

WC

FD CW DR

GDN RD FWS PW

DOC

name docerr

name

doc doc

doc

doc docdoc

doc, cw

wc wc

Page 33: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-33

Fenton (1991)

• Measure of the connectivity density of the architecture and a simple indication of the coupling of the architecture.

r = a/n

r = arc-to-node ratio

a = the number of arcs (lines of control)

n = the number of nodes (modules)

• Depth = the longest path from the root (top) to a leaf node

• Width = maximum number of nodes at any one level of the architecture

Page 34: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-34

- Component level DesignMetrics

• Cohesion Metrics– Bieman and Ott (1994)

• Coupling Metrics– Dhama (1995)

• Complexity Metrics– McCabe (1976)

Page 35: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-35

Bieman and Ott (1994)

• Data slice is a backward walk through a module that looks for data values that affect the module location at which the walk began.

• Data token are variables and constants defined for a module.

• Glue tokens are data tokens that lie on one or more data slice.

• Superglue tokens are the data tokens that are common to every data slice in a module.

Page 36: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-36

Bieman and Ott (1994)

• Strong functional cohesion (SFC)SFC(i) = SG(SA(i))/tokens (i)

SG(SA(i)) = superglue tokens

Page 37: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-37

Procedure Sum and Product

(N : Integer; Var SumN, ProdN : Integer);Var I : IntegerBegin

SumN : = 0; ProdN : = 1;For I : = 1 to N do begin

SumN : = SumN + IProdN: = ProdN + I

End;End;

Page 38: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-38

Data Slide for SumN ( N : Integer; Var SumN, ProdN : Integer);Var I : IntegerBegin

SumN : = 0; ProdN : = 1;For I : = 1 to N do begin

SumN : = SumN + IProdN: = ProdN + I

End;End;

Data Slice for SumN = N1·SumN1·I1·SumN2·01·I2·12·N2·SumN3·SumN4·I3

Page 39: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-39

Data Slide for ProdN

Data Slice for ProdN = N1·ProdN1·I1·ProdN2·11·I2·12·N2·ProdN3·ProdN4·I4

( N : Integer; Var SumN, ProdN : Integer);Var I : IntegerBegin

SumN : = 0; ProdN : = 1;For I : = 1 to N do begin

SumN : = SumN + IProdN: = ProdN + I

End;End;

Page 40: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-40

Data token SumN ProdNN1

SumN1

ProdN1

I1

SumN2

01

ProdN2

11

I2

12

N2

SumN3

SumN4

I3

ProdN3

ProdN4

I4

1

1

 

1

1

1

 

 

1

1

1

1

1

1

1

 

1

1

 

1

1

1

1

1

 

 

 

1

1

1

Page 41: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-41

Super Glue

S1 S2 S3

I I I Super GlueI

II

I I I Super GlueI

I I GlueI I Glue

Page 42: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-42

Functional Cohesion

• Strong functional cohesion (SFC)SFC(i) = SG(SA(i))/tokens (i)

SG(SA(i)) = superglue tokens

SG(SumAndProduct) = 5/17 = 0.204

Page 43: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-43

Dhama (1995)

• Data and control flow coupling– di = number of input data parameters– ci = number of input control parameters– do = number of output data parameters– co = number of output control parameters

• Global coupling– gd = number of global variables used as data– gc = number of global variables used as control

• Environmental coupling– w = number of modules called (fan-out)– r = number of modules calling the module

under consideration (fan-in)

Page 44: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-44

Dhama (1995)

• Coupling metric (mc)

mc = k/M, where k = 1

M = di + a* ci + do + b* co + gd + c* gc + w + r

where a=b=c=2

Page 45: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-45

Coupling M etric - Example

MODULE 1Package sort1 is type array_type is arrary (1..1000) of integer;procedure sort1 (n: in integer;

to_be_sorted: in out array_type;a_or_d: in character) is

location, temp: integer;begin

for start in 1..n looplocation := start;

loop to get min or max each timefor i in (start + 1)..n loop

if a_or_d = ‘d’ thenif to_be_sorted(i) > to_be_sorted(location) then location := i;endif;

else if to_be_sorted(i) < to_be_sorted(location) then location := i;

endifendloop;

temp := to_be_sorted(start);to_be_sorted(start) := to_be_sorted(location);to_be_sorted(location) := temp;

endloopendsort1;endsort1;

Page 46: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-46

Coupling M etric - ExampleMODULE2

Package sort2 istype array_type is arrary (1..1000) of integer;Procedure sort2 (n: in integer;

to_be_sorted: in out array_type;a_or_d: in character);

procedure find_max (n: in integer;to_be_sorted: in out array_type;location: in out integer);

procedure find_min (n, start: in integer;to_be_sorted: in out array_type;location: in out integer);

procedure exchange (start: in integer;to_be_sorted: in out array_type;location: in out integer);

endsort2;

Page 47: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-47

Coupling M etric - Exampleprocedure find_max (n, start : in

integer; to_be_sorted: in out array_type; location: in out integer); is

beginlocation := start;for i in start + 1..n loopif to_be_sorted(i) > to_be_sorted(location) then

location := i;endif;endloop

end find_max;

procedure find_min (n, start: in integer; to_be_sorted: in out array_type; location: in out integer) is

beginlocation := start;for i in start + 1..n loopif to_be_sorted(i) < to_be_sorted(location) then

location := i;endif;endloop

end find_min;

Page 48: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-48

Coupling M etric - Exampleprocedure exchange (start: in integer;

to_be_sorted: in out array_type; location: in out integer) is

temp: integer;begintemp := to_be_sorted(start);to_be_sorted(start) :=

to_be_sorted(location);to_be_sorted(location) := temp;end exchange;

Procedure sort2 (n: in integer;to_be_sorted: in out array_type;a_or_d: in character)is

location : integer;begin

for start in 1..n loop if a_or_d = ‘d’ then

find_max(n, start, to_be_sorted, location);

elsefind_min(n, start, to_be_sorted,

location); endif;

exchange(start, to_be_sorted, location);

endloop;end sort2;end sort2;

Page 49: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-49

McCabe (1976)

• Cyclomatic Complexity (V(G))– V(G) = the number of region of the flow graph

+ the area outside the graph

– V(G) = E - N + 2

where E = the number of flow graph edges

N = the number of flow graph nodes

– V(G) = P + 1

where P = the number of predicate nodes

Page 50: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-50

Flow Graph Notation

CASESequence IF

While

Until

Page 51: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-51

Cyclomatic Complexity - Example

1

2

3

4

5

6

7 89

10

11

1

2,3

4, 56

7 8

9 10

11

Edge Node

R1

R4

Region

R2

R3

Page 52: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-52

Metrics f or Testing

• Size of the software• High-level design metric• Cyclomatic complexity

Page 53: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-53

Metrics for Maintenance

• Fix Backlog and Backlog Management Index• Fix Response Time• Percent Delinquent Fixes• Fix Quality• Software Maturity Index (SMI)

Page 54: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-54

Fix Backlog and Backlog Management Index

• Fix backlog is a work load statement for software maintenance.

• It is a simple count of reported problems that remain opened at the end of each month or each week.

• Backlog management index (BMI)

BMI= Number of problems closed during the monthNumber of problem arrivals during the month

X 100%

Page 55: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-55

Fix Response Time

• Fix response time metric

= Mean time of all problems from open to closed

Page 56: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-56

Percent Delinquent Fixes

• For each fix, if the turnaround time exceeds the response time criteria by severity, then it is classified as delinquent

• Percent delinquent fixes =

Number of fixes that exceeds the fix response time criteria by severity level

Total number of fixes delivered in a specified timeX 100%

Page 57: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-57

Fix Quality

• Fix quality or the number of defective fixes metric = the percentage of all fixes in a time interval that are defective.

• A fix is defective if it did not fix the problem that was reported, or if it fixed the original problem but injected a new defect.

• A defective fix can be recorded in the month it was discovered or in the month when the fix was delivered.

Page 58: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-58

Software Maturity Index (SMI)

• SMI = [MT - (Fa + Fc + Fd)]/ MT

MT = the number of modules in the current release

Fc = the number of modules in the current release that have been changed

Fa = the number of modules in the current release that have been added

Fd = the number of modules from the preceding release that were deleted in the current release

Page 59: 1 Metrics. 1-2 Definition Measure: A quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process.

1-59

Software MetricsEtiquette

• 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 “ne

gative”. These data are merely an indicator for process improvement.• Don’t obsess on a single metric to the exclusion of other important me

trics.