Chapter 3: Software Project Management Metrics
What is a MetricA metric enables you to measure
the quality of a factor. E.g., prototype, the metrics could be the number of defects reported for the prototype.
The analysis of metrics enables you to make important decisions related to project management. E.g., the data for defects recorded for the prototype enables you to identify the causes of the defects.
2
Types of defectsSevere – critically affect the
functionality of a product.Major – logically affect the
functionality of a product.Minor – a slight defect but does
not disturb the functionality of the application.
3
An Example of a MetricPrototype 1 Categorization of
Defects
Severe Major
Minor
Total
Planned less than equal to 0 5 20 25
Actual 3 9 25 37
4
Characteristics of a MetricGoal-oriented approachMeasurableAnalyzableProgramming Language-
independentTimely
5
Goal-oriented Approach
The goal of a metric:to reduce the time spent on it.is used to define a baseline
value.
6
MeasurableMeasurability, metric can be used
to measure a software entity to a high degree of accuracy.
Measurability of a metric ensures consistent results for all processes in a project.
E.g., measuring the reusability of a piece of code.
7
AnalyzableAnother important characteristic
of a metric is analysis.If a metric is not suitable for
analysis, it is futile to monitor it for improvement in a project.
E.g., an organization uses a metric to measure client satisfaction.
8
Programming-language independentMetric is independent of the
programming language used to develop software.
E.g., Software project is divided into three main modules. For each modules are programmed in different languages, the metrics that can measure the size, complexity, or the effort spent.
9
TimelyA good metric is timely.The data to produce results using
the metric should always be available when it is needed.
10
How Many Steps to Create a Metric?There are four steps to create a
metric:Define the goal of the metricIdentify the requirements of the
metricIdentify the organizational
baseline value for the metricReview the metric for its usability
11
Complete Steps to Create Metric
Define the Goal of a Metric
Identify the Requirements of a Metric
Identify the Organization Baseline Value for the Metric
Review the Metric for its Usability
12
Define the Goal of a Metric
The definition of a goal is important because the metric is designed based on goal.
The goal should be as clear, measurable and as explicit as possible.
E.g., a metric can have a goal to measure the number of defects reported by clients.
13
Identify the Requirements of the MetricAfter defining the goal of the
metric, the next step is to identify its requirements.
The requirement include: human resource, data collection techniques, and methodologies used to process the data.
14
Identify the Organizational Baseline Value for the Metric
A baseline value is an average value, which is identified based on prior experience.
A metric is designed so as to achieve the baseline value.
15
Review the Metric for its UsabilityIt is the final step.Process experts can be asked to
test and provide feedback on the metric.
The feedback can be used to enhance the functionality and the user-friendliness of the metric.
16
Types of Software Metrics
The types of metrics commonly used by organizations include:
Design metricsProject metricsProduct metricsMaintenance metrics
17
Design MetricsDesign metrics enable you to see the
deviation from user requirements.Lesser the deviation, fewer the defects.Complexity is a characteristic measured
during design phase. E.g., structure, data components and interface design.
Design metrics are difficult to implement.
Architecture design metric is the one of the varieties of design metrics.
18
Architecture Design Metrics
measures the complexities by referring to the design of the software program.
is crucial for predicting the features and functionalities of the final product.
addresses three types of complexities of a software program.
19
Architecture Design Metrics TypesStructural complexity – the
number of fan-out modules.Data complexity – the internal
interface. System complexity – combining
the values of structural complexity and data complexity.
20
Example of Fan-out of a Module
21
Check for Valid User Names
String Not More Than 12
Check for Invalid Numeric &
Alphanumeric Strings
Chk-Name
Fan-o
ut
1
Fan-out 3
Fan-out 2
Project Metricsis a set of metrics related to all
SDLC phases.can help to avoid project delays,
avoid and mitigate project risk.also used to assess the quality of a
finished product.E.g., project metrics are the metrics
that measure the size, complexity or the time and effort spent on a project.
22
Phases of Applying Project MetricsEffortProductivity FPCostSizeDefectsTesting
23
Effort Metricsto determine the amount of effort
required to complete a project.Generally, effort is estimated
close to accuracy in all the phases of SDLC.
A man-month is the amount of effort required to complete work in a month.
24
Example of Effort MetricMetric(s) Analys
isDesign
Construction
Testing
Total
Planned Effort (man-month) 5 12 25 10 52
Actual Effort (man-month) 8 14 35 8 65
Percentage of increase in Effort
60 16.5 40 -20 20
25
Productivity MetricMeasurement human effort
according to the number of hours spent on an FP of work.
The effort in performing an FP of work in an hour is called productivity.
To calculate productivity: ◦Determine the total amount of FP;◦Distribute the total FP among the
phases in the SDLC.26
Example of Productivity Metric
Metric Analysis
Design
Construction
Testing
Total
Productivity in hours/FP
Planned 1.2 1.6 2.8 2.4 8.0
Actual 1.0 1.4 3.0 2.5 7.9
Difference 0.2 0.2 -0.2 -0.1 0.1
27
Cost Metricmeasures the planned versus actual
expense incurred on a project.An important component of cost metric
are resource and material resource.Cost is the most difficult metric to
control.The reasons of cost overrun can be:
price of the required resources, change, or shift in project objectives, or increase in the requirement of resources.
28
Example of Cost MetricMetric Analysi
sDesign
Construction
Testing
Total
Cost in US Dollars
Resources
Planned 40,000 100,000 200,000 100,0
00440,0
00
Actual 55,000 130,000 300,000 250,0
00735,0
00
Communication
Planned 10,000 7000 1,000 1000 19,000
Actual 20,000 4500 700 500 25,700
Total
Planned 50,000 107,000 201,000 101,0
00459,0
00
Actual 105,000 134,500 300,700 250,5
00790,7
00
Deviation in percentage
((actual-planned/planned)*100)
110 25 50 148 72
29
Size MetricSize metric is calculated the
number of FP for an entire project.
The size metric directly affects the effort, testing, and productivity metrics of a project.
Frequency changes mean that the design specifications are not clearly defined.
30
Defects MetricDefects are errors that occur in a
work product.The number of defects defines the
quality of a project.Defects can occur during any phase
of the SDLC.To facilitate calculation and
categorization of defects, many organizations use automated tools and techniques.
31
Example of Defects Metric
Metric
Defects per KLOC
Analysis
Design
Construction
Testing
Total
Severe
Planned 0 0 0 0 0
Actual 5 3 15 8 31
Major
Planned 5 2 5 10 22
Actual 3 6 12 18 39
Minor
Planned 20 15 15 20 70
Actual 12 10 12 25 59
32
Testing MetricTesting metric is used to measure the
number of test cases required to test software.
Test case is a specification that needs to be executed to test a particular module.
There are separate test cases for:◦ Integration testing refers to the overall
black box testing.◦ unit testing refers to testing individual
modules.33
Example of Testing Metric
Metric(s) ContractionTest cases pr FP
Planned 5
Actual 4
34
Product Metricscan provide an insight into the
quality of work done by the development teams.
Product metrics trace and measure the quality of a deliverable in different phases.
35
Example of Product Metrics
Deliverable Name
Effectiveness (%)
Conformance to requirements (%)
Planned Source Code 100 100
Actual Source Code 72 90
36
Effectiveness of a deliverable is measured in terms of the quantity of the deliverable completed and the number of quality goals achieved.
Effectiveness = Quantity in % * Quality in % / 100
Maintenance Metricsare used for maintenance
projects. Maintenance projects require
enhancements based on client feedback or changes in the market, technology, and user preferences.
37
A Sample Change Request Form
Project Name:Name: Date:Functional description of the change desired
Type of Change Change Trigger Component
CorrectionEnhancementAdaptationRe-engineering
Requirements specificationDesignCodeOther
Total Effort required to perform change
Responsibility of performing change
38
Measurement Types of Maintenance ProjectExtent of change required. The
modification (remaining, added, modified, deleted) modules are counted.
Type of maintenance requested by client. There are two types:◦Corrective – addresses the software-
related defects reported by the client.◦Upgrades – enhancements on software
to incorporate additional functionality.
39
Key PointsMetrics facilitate project planning,
scheduling, and improving the SDLC process and product quality.
The four main types of metrics used widely during the SDLC of a project are design, project, product, and maintenance.
Design metrics help measure the design and architecture of a software project.
40
Key PointsProject metrics comprise effort,
productivity, cost, defects, and size. Project metrics measure the
effectiveness of the important factors for a project.
Maintenance metrics are used to measure the cost, effort, productivity, and defects associated with a maintenance project.
41
Literaturesen.wikipedia.orgBasics of Software Project
Management – 2004.Ian Sommerville “Software
Engineering 6th Edition” – 2000.Roger S. Pressman “Software
Engineering: a practitioner’s approach 5th Edition” – 2001.
42