project metrics infsy 570 dr. r. ocker. goal of metrics n to improve product quality and...

51
Project Metrics Infsy 570 Dr. R. Ocker

Upload: rosa-dixon

Post on 22-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Project Metrics

Infsy 570

Dr. R. Ocker

Page 2: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

goal of metrics

to improve product quality and development-team productivity

concerned with productivity and quality measures measures of SW development output as

function of effort and time measures of usability

Page 3: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

terms:

measure– quantitative expression of an attribute of a

product or process measurement

– the act of determining a measure metric

– quantitative measure of the degree to which a system, component or process possesses an attribute

Page 4: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

terms:

indicator– a metric that provides insight into the SW

process or project– enables manager to adjust (improve) the

process or project process indicators

– allow assessment of process in terms of what works and what doesn’t

Page 5: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Terms:

project indicators allow manager to (1) assess status of ongoing project (2) track project risks (3) uncover problem areas (4) adjust tasks or workflow (5) evaluate team’s ability to control quality

Page 6: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

metrics apply to

process - used to develop the SW project - specific SW development

project product - SW produced

many of the same metrics apply to both the process and project domains

Page 7: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

1. Process metrics and SW process improvement How to improve SW quality and

organizational performance? fig 4.1 text, fig.2 Paulish & Carleton: Factors that influence quality:

– people - skills and experience of SW people– technology - used in development (e.g. CASE)– product complexity– process - glue that ties it all together

Page 8: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

motivation to improve process:

results from business need, e.g. strong competition, need increased profitability

“The only rational way to improve any process is to measure specific attributes of the process, develop a set of meaningful metrics based on these attributes, and then use the metrics to provide indicators that will lead to a strategy for improvement.”

... process metrics are strategic

Page 9: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Process improvement approach (fig. 3, Paulish et al.) business need motivation to improve assessment (of current practices and

process maturity level) improvement methods selected metrics measure impact

Page 10: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Process improvement approach (fig. 3, Paulish et al.) business establishes goals to improve

process over period of time defines measures to gauge progress when data indicate process problems -

take corrective action

Page 11: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Software process improvement method integrated collection of procedures,

tools, and training for increasing product quality, improving development-team productivity, or reducing development time

Page 12: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Some outcomes of an improved SW process might include: fewer defects earlier identification and correction of

defects faster time to market better predictability of project schedules

and resources

Page 13: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Types of process metrics:

private vs. public metrics SW process improvement should begin

at the individual level

Page 14: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

some private metrics:

defect rates by individual defect rates by module errors found during development

Page 15: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

public metrics

use information from individual and team metrics

some public metrics: project-level defect rates effort

calendar times

Page 16: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

2. Project Metrics

project metrics are tactical

used by project manager to adapt project work flow and technical activities

i.e. guide adjustments to work schedule to avoid delays; assess product quality on an ongoing basis

Page 17: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

attention to metrics should lead to reduction in project costs: as quality improves

errors are minimized rework reduced

Page 18: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

estimation

first application of project metrics on SW project

metrics collected from past projects used as basis for time and effort estimates

as project advances, collect production rates and error metrics

Page 19: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

3. Software Measurement

direct measures vs. indirect measures

Page 20: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

direct measures

direct measure of process:– cost and effort

direct measure of product:– lines of code (LOC)– execution speed– defects per time period

Page 21: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Indirect measures

indirect measures of product:– functionality– quality– complexity– reliability– maintainability

Page 22: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Consolidation of metrics

individual metrics combined to develop project metrics

project metrics consolidated to create process metrics

how to combine metrics from different projects?

normalization - enables comparison

Page 23: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

3.1 Size-oriented metrics

derived by normalizing quality and/or productivity measures

use size of the SW to normalize size-oriented measures include:

LOC effort $ errors defects people

Page 24: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

normalizing

suppose choose LOC as normalization value

then can compare across projects: errors per KLOC defects per KLOC $ per LOC

Page 25: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

estimates

very important to estimate the associated cost of development early in the development project

to have accurate cost predictions, need accurate estimates of project size

Page 26: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Software size

primary factor affecting SW cost is the SIZE of the project

estimating SW size is DIFFICULT most frequently used metrics for measuring

size:– lines of code (LOC)– function points

some controversy regarding using LOC as key normalization measure

Page 27: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

LOC pros:

easily counted (after the fact, once you choose a counting method)

used a lot

Page 28: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

LOC cons:

lack of universally accepted definition for what a line of code really is (there are at least 11 different variations for counting LOC)

programming language dependent difficult to use to estimate project size and

effort - don’t have enough information at beginning of project to accurately estimate LOC

Page 29: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

3.2 Function-oriented Metrics

use a measure of functionality as the normalization value

formula estimate functionality cannot be measured directly, but

must be derived using other (direct) measures

method of quantifying size and complexity of system in terms of functions that system delivers to user

Page 30: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

fig. 4.5 computing function pointsmeasurement parameter count simple average complex

1. number of user inputs ??? 3 4 6 = X

2. number of user outputs ??? 4 5 7 = X

3. number of inquiries ??? 3 4 6 = X

4. number of files ??? 7 10 15 = X

5. number of external interfaces

??? 5 7 10 = X

count=total XX

Page 31: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

You must perform the count:

Page 32: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

1. number of user inputs

each unique user input that provides application-oriented data to the SW

includes input that enter directly as transactions from the user, and those that enter as transactions from other applications (e.g. input file of transactions)

Page 33: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

2. number of user outputs

each user output that provides application-oriented information to user (reports, screens, error messages, etc.)

include reports and messages to the user and reports and messages to other applications (e.g. files of reports and messages)

Page 34: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

3. number of inquiries

inquiry is an on-line input that results in generation of an immediate SW response in form of an on-line output

each distinct inquiry is counted

Page 35: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

4. number of internal files

include each logical file or if using a DB, logical grouping of data, that is generated, used and maintained by the application

Page 36: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

5. number of external interfaces

files passed or shared between applications should be counted

i.e., machine-readable interfaces (e.g., data files on tape or disk) that are used to transmit information to another system are counted

Page 37: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

to compute:1. classify and count the five user function types

2. adjust for processing complexity

determine complexity value associated with each count

can develop criteria for determining whether simple, average or complex

3. make the function points calculation

FP= count-total X [.65+.01X Fi

Fi (i=1 to 14) are complexity adjustment values

see table 4.1

Page 38: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

answer questions such as:

answer questions such as: Is performance critical? Are the master files updated on-line? Is the code designed to be reusable?

Use function points to normalize measures of SW productivity and quality.

Page 39: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

FP Pros:

programming language independent based on data more likely to be known

early in the project (still need requirements specs. or design specs.; see Matson et al.)

Page 40: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

FP Cons:

computation based on subjective data designed to measure business-type

applications (not good for technical or scientific applications)

Page 41: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

4. Metrics for SW Quality

focus on the process, the project and the product (as do productivity metrics)

Page 42: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Factors that affect quality

product operation - using it product revision - changing it product transition - portability

Page 43: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Measuring quality

correctness degree to which SW performs its

required function defects per KLOC - most common

measure for correctness maintainability

ease with which a program can be corrected, adapted, or enhanced

Page 44: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Measuring quality

MTTC - mean time to change -– simple metric - time it takes to analyze,

implement change, test it, and distribute it to users

integrity– measures system’s ability to withstand

attacks on its security

Page 45: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Measuring quality

usability– quantify user friendliness

measured using 4 characteristics1. physical/intellectual skill required to learn the

system

2. time required to become moderately efficient

3. net increase in productivity when system used

4. users attitudes toward the system

Page 46: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

5. Integrating metrics within the SW process majority of SW developers do not

measure problem is cultural measurement results in cultural change resistance, often due to fear

Page 47: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

barriers to implementing process improvement methods (Paulish et al.)

1. getting started

orgs. need to conduct an assessment (e.g. Capability Maturity Model)

2. staff turnover

downsizing is difficult environment for process improvement

need champions to stick around

3. dedicated resources

need full-time dedicated resource(s) to implement process improvement methods

Page 48: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

barriers to implementing process improvement methods (Paulish et al.)

4. management support it’s necessary 5. time restrictions you’ve got to make the time to institute it

Page 49: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Some preliminary recommendations (Paulish et al.) 1. use capability maturity model as

guide to improvement it provides a framework showing which

methods to use based on current maturity

2. conduct an assessment at beginning to identify priorities for improvement and

build consensus within org.

Page 50: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

Some preliminary recommendations (Paulish et al.)

3. pick a few process improvement methods

implement these effectively

4. pay attention to implementation of methods

includes good training and management

5. some process improvement methods easier to implement than others

Page 51: Project Metrics Infsy 570 Dr. R. Ocker. goal of metrics n to improve product quality and development-team productivity n concerned with productivity and

remember...cultural factors are substantial

have significant impact on success with adopting software process improvement methods

“the collection of quality metrics enables an organization to ‘tune’ its software engineering process to remove the ‘vital few’ causes of defects that have the greatest impact on software development”