Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 22

Chapter Three

Process and Project Metrics


SW Metrics Terms
• Measure –
– provides a quantitative indication of the extent, amount,
dimension, capacity or size of some attribute of a process or
product.
– Example: Number of defects found in component testing.
• Measurement –
– The action of measuring.
– Example: Collecting the defect counts.
• Metric- It relates measure in some way.

2
Software metrics
• Software metrics refers to a broad range of measurements
for computer software.
• Measurement can be applied to the software process with the
intent of improving it on a continuous basis.
• Measurement can be used throughout a software project to
assist in estimation, quality control, productivity assessment,
and project control.
• Measurement can be used by software engineers to help
assess the quality of technical work products and to assist in
tactical decision making.
3
cont…
• Measurement is commonplace in the engineering world. We
measure power consumption, weight, physical dimensions,
temperature, voltage, ……the list is almost endless.
• Unfortunately, measurement is far less common in the
software engineering world.
• We have trouble agreeing on what to measure and
evaluating measures that are collected.

4
Software process and project metrics:-
• Are quantitative measures that enable software
engineers to gain insight into efficacy of the
software process and projects that are
conducted.

5
How are metrics used?
– Measures are often collected by SW engineers and
used by SW managers.
– Measurements are analyzed and compared to past
measurements, for similar projects, to look for trends
(good and bad) and to make better estimates.

6
Three domains of SW metrics
Product
Process
Project

• Product:-
– These measurements relate to SW product and all related artifacts.
– Examples: code, design docs, test plan, user manual…LOC,
# of objects, # of pages, # of files.
– Measures can also be used to evaluate the SW quality

7
Three domains of SW metrics cont…

• Process: -
– These measures used to quantify characteristics of the SW
process.
– Usually related to events or things that occur.
– Examples: # defects found in test, # requirements changes,
# days to complete task …

8
Three domains of SW metrics cont…
Two types of process metrics
• Private metrics –
– Measures taken of an individual's software process.
These are usually private to the individual or team.
Used to improve an individual's performance or personal software
process. – Example: defect rate for an individual.

• Public metrics –
– Measures taken at a team level. These are made public to the
organization. Used to improve an organizations process maturity.
– Example: defects found after release per KLOC. 9
Three domains of SW metrics cont…

• Software process metrics can provide significant benefit as an


organization works to improve its overall level of process
maturity.
• However, like all metrics, these can be misused, creating more
problems than they solve.
• Grady suggests a “software metrics etiquette” that is
appropriate for both managers and practitioners as they
institute a process metrics program:

10
Three domains of SW metrics cont…
Etiquette of Process Metrics
• Use common sense and organizational sensitivity when interpreting
metrics data.
• Don’t use metrics to evaluate 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 should not be considered “negative”


-Such data are just an indicator for process improvement.
• Don’t obsess on a single metric to the exclusion of other important
metrics.
11
Three domains of SW metrics cont…
• Project:-
• Used by project managers and software team to adapt project
workflow and technical activities.
• The first application of project metrics on most software
projects occurs during estimation.
– Metrics collected from past projects are used as a basis
from which effort and time estimates are made for current
software work.
cont…
The purpose of project metrics is twofold.
• First, these metrics are used to minimize the development
schedule by making the adjustments necessary to avoid delays
and mitigate potential problems and risks.
• Second, project metrics are used to assess product quality on
an ongoing basis and, when necessary, modify the technical
approach to improve quality.
 As quality improves, defects are minimized, and as the defect
count goes down, the amount of rework required during the
project is also reduced.
 This leads to a reduction in overall project cost.
13
Three domains of SW metrics cont…
Another model of software project metrics suggests that every
project should measure:
• Inputs—measures of the resources (e.g., people, environment)
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.

14
Software Measurement
Two categories of software measurement
• Direct measures of the product: include lines of
code (LOC) produced, execution speed, memory size,
and defects reported over some set period of time.
• Indirect measures of the product include:
functionality, quality, complexity, efficiency, reliability,
maintainability, and many other
Metrics for SW Quality
4 suggested quality measures
 Correctness :-
• the degree to which the SW performs its required function.
• Usually measured by defects/KLOC.
• A defect is defined as a verified lack of conformance to
requirements. Usually counted over a standard period of time.

16
Cont..
 Maintainability:-
• the ease to which a program can be corrected, if an error is found,
changed, for a new environment, or enhanced for a user request.
• No direct way to measure this.
• One measure is mean-time-to-change which measures that time
from when the change request is analyzed to when it is distributed
to the user.

17
Cont..
 Integrity:-
• a system's ability to withstand/resist attacks to its security.
Attacks can be made to a systems data, programs or documents.
• Threat - the probability that an attack will occur in a given time
period.
• Security - the probability that an attack will be repelled.

18
Cont..
 Usability:-
• an attempt to measure "user-friendliness"
• Can be measured in terms of 4 characteristics:
1. The physical and/or intellectual skill required to learn the
system
2. The time required to become moderately efficient in the use of
the system.
3. Increase in productivity, measured against the old process or
system, measured after a user has gained moderate efficiency.
4. A subjective measure of user attitude towards the system
19
Arguments for Software Metrics
• Most software developers do not measure, and most have little desire
to begin.
• Establishing a successful company-wide software metrics program
can be a multi-year effort.
• But if we do not measure, there is no real way of determining whether
we are improving.
• Measurement is used to establish a process baseline from which
improvements can be assessed.
• Software metrics help people to develop better project estimates,
produce higher-quality systems, and get products out the door on time
20
Getting Started with Metrics

1) Understand your existing process


2) Define the goals to be achieved by establishing a metrics
program
3) Identify metrics to achieve those goals
– Keep the metrics simple

– Be sure the metrics add value to your process and product

4) Identify the measures to be collected to support those metrics

21
Getting Started with Metrics (continued)
5) Establish a measurement collection process
a) What is the source of the data?
b) Can tools be used to collect the data?
c) Who is responsible for collecting the data?
d) When are the data collected and recorded?
e) How are the data stored?
f) What validation mechanisms are used to ensure the data are correct?
6) Acquire appropriate tools to assist in collection and assessment
7) Establish a metrics database
8) Define appropriate feedback mechanisms on what the metrics indicate about
your process so that the process and the metrics program can be improved
22

You might also like