1
Chapter 1
Overview of software
metrics
• INTRODUCING THE COURSE.
• WHAT IS SOFTWARE MEASUREMENT?
• WHAT ARE SOFTWARE METRICS?
Introducing the Software 2
Metrics Course
Course Overview
The Software Metrics course introduces the concepts,
principles, and applications of measurement in software
engineering.
It focuses on how software attributes can be quantified,
analyzed, and used to improve software quality, productivity,
and project management.
Why Study Software Metrics?
3
Measurement is essential in engineering; without it, improvement cannot
be tracked.
Software metrics provide a scientific basis for evaluating:
Software products (e.g., size, complexity, reliability)
Software processes (e.g., defect removal, efficiency)
Software projects (e.g., cost, schedule, resources)
Metrics help transform software engineering from an art into a disciplined
engineering practice.
Expected Outcomes
After completing the course, students will:
4
Gain a practical understanding of measurement in software engineering.
Be able to use metrics for estimating effort, cost, and schedule.
Apply metrics for assessing software quality and reliability.
Understand how metrics drive continuous improvement in software
processes.
Introduction to Software 5
Metrics
Quantitative measures in software engineering
Assess quality, productivity, and performance
Provide objective data for decision-making
Bridge theory ↔ practice
Part of Software Engineering
Measuring for quality, productivity, and improvement
Notes:
This course section introduces the concept of software metrics—quantitative
measures used to evaluate software products, processes, and projects. Metrics
form the foundation for systematic software engineering.
What are Software Metrics? 6
Quantitative measures of software attributes
Provide objective data for evaluation
Measure process efficiency, product quality, and project
performance
Essential for empirical and data-driven decisions
Notes:
Metrics eliminate guesswork and bring objectivity to software
development. They allow managers and engineers to assess
progress, quality, and risks scientifically.
Why Do We Need Metrics? 7
Track project progress
Assess productivity of teams
Evaluate software quality (defects, maintainability, reliability)
Aid in cost and schedule estimation
Enable process improvement
Notes:
Metrics act like a "dashboard" for software development. They help
detect problems early, predict outcomes, and improve the way
teams work.
Categories of Software 8
Metrics
Product Metrics
Size, complexity, performance, reliability
Process Metrics
Defect removal rate, review efficiency, rework percentage
Project Metrics
Cost, effort, schedule, resource utilization
Notes:
Each category provides a different perspective: product metrics look
at the software itself, process metrics look at how it is built, and
project metrics look at overall management.
Common Examples of Metrics 9
LOC (Lines of Code): System size
Function Points (FP): Functional size delivered
Cyclomatic Complexity: Structural complexity of code
Defect Density: Defects per KLOC/FP
MTTF (Mean Time to Failure): Measure of reliability
Notes:
These are the most frequently applied metrics in practice. For
instance, LOC and FP are used for productivity and estimation, while
cyclomatic complexity measures maintainability.
Benefits of Software Metrics 10
Early detection of risks and issues
Improve quality assurance
Enable better estimation of cost and effort
Increase visibility of project status
Support continuous process improvement
Notes:
Metrics give a clear picture of where the project stands. They are
particularly important for managers to justify decisions with data.
Limitations & Challenges 11
Hard to identify the right set of metrics
Risk of misuse or misinterpretation
Data collection can be expensive
Requires consistency and standardization
Notes:
Metrics must be chosen carefully, or they may mislead. For
example, using only LOC as a productivity measure could
incentivize writing unnecessary code.
What is software measurement? 12
Software Measurement
Foundation of software metrics
Quantitative basis for software engineering
Notes:
This section explains what software measurement is, its purpose,
and how it supports metrics and quality improvement.
Definition 13
Software Measurement = process of quantifying software
attributes
Involves assigning numbers or symbols to characteristics of:
Products (code, documentation)
Processes (development, testing)
Resources (time, effort, cost)
Notes:
Measurement provides raw data. Metrics are built from these
measurements to make decisions.
Purpose of Software 14
Measurement
To understand software characteristics
To evaluate quality, cost, and performance
To control projects through tracking
To improve processes based on data
To support estimation & prediction
Notes:
Without measurement, managing software projects is like flying
blind. Measurement gives control.
What Can Be Measured? 15
Product – size (LOC, FP), complexity, defects
Process – efficiency, defect removal, effort
Project – cost, schedule, resources, productivity
Notes:
These three perspectives (product, process, project) cover the
whole software life cycle.
Characteristics of Good 16
Measurement
Validity: Measures what it is supposed to
Reliability: Consistent results across situations
Simplicity: Easy to collect and interpret
Usefulness: Provides decision-making support
Notes:
Not every measure is valuable—good measures must be reliable
and useful for improvement.
Measurement Process 17
Define objectives
Identify what to measure
Collect data systematically
Analyze and derive metrics
Use results for decisions and improvement
Notes:
Measurement should follow a cycle—define, collect, analyze, and
apply.
Benefits of Software 18
Measurement
Improves project control
Enhances quality assurance
Provides predictability for future projects
Facilitates continuous improvement
Builds trust through data-driven decisions
Notes:
Measurement helps not just in control, but also in building
confidence with stakeholders.
What are software metrics? 19
Software Metrics – Definition
Software metrics are quantitative measures that are used to
assess the characteristics of software systems, software
development processes, and software projects.
They provide objective data to evaluate and improve quality,
productivity, efficiency, and performance in software
engineering.
Key Points 20
A metric assigns a numerical value to a software attribute (e.g., size,
complexity, defects, cost, reliability).
They help in monitoring, controlling, and improving software products
and processes.
Software metrics are applied to:
Product metrics – measure properties of the software itself (size, complexity,
reliability).
Process metrics – measure efficiency and effectiveness of development and
testing (defect detection rate, effort).
Project metrics – measure project management aspects (schedule, cost,
productivity).
Examples of Software Metrics: 21
Lines of Code (LOC) – size of the software.
Function Points (FP) – amount of functionality delivered.
Cyclomatic Complexity – structural complexity of the program.
Defect Density – number of defects per size unit (e.g., per KLOC).
Mean Time to Failure (MTTF) – reliability measure.