Skip to content
SE eBook
Menu

CLASSIFICATION OF SOFTWARE METRICS

Public section
Preferences are saved on this device.

Classification of Software Metrics

Overview

Software metrics are quantitative measures that provide insight into the effectiveness of the software development process and the quality of the software product. They are essential tools for both project managers and developers to:

  • Monitor project and process progress.
  • Assess and control quality.
  • Identify areas for improvement.

Categories of Software Metrics

Software metrics are commonly classified into three main categories:

  • Product metrics
  • Process metrics
  • Project metrics
1. Product Metrics

Product metrics measure the characteristics of the software product itself.

Typical examples include:

  • Size metrics – Lines of Code (LOC), Function Points (FP), token count.
  • Complexity metrics – Cyclomatic complexity.
  • Quality / reliability metrics – Defect density, Mean Time to Failure (MTTF).
  • Design metrics – Measures related to modularity, coupling, cohesion, etc.

Purpose: to assess the quality, structure, and characteristics of the software product and to support decisions about refactoring, testing effort, maintainability, and reliability.

2. Process Metrics

Process metrics measure the effectiveness and efficiency of the software development process.

Typical examples include:

  • Defect Removal Efficiency (DRE) – percentage of defects removed during a given phase or across the process.
  • Process compliance – degree of adherence to defined standards, methods, and procedures.

Purpose: to evaluate and improve the software development process so that productivity and product quality can be systematically enhanced.

3. Project Metrics

Project metrics characterise the planning, execution, and control of a software project.

Typical examples include:

  • Schedule variance (SV) – difference between planned and actual progress.
  • Cost variance (CV) – difference between budgeted and actual costs.
  • Resource utilisation – efficiency in using resources such as personnel, tools, and equipment.
  • Agile planning indicators – story points, team velocity, and burn-down charts used to plan and track iterative development.

Purpose: to quantify key aspects such as cost, schedule, quality, and productivity at the project level, and to support data-driven project management by tracking:

  • Planned vs actual effort.
  • Defect trends over time.
  • Requirements stability and scope changes.

Effective use of project metrics enables early detection of problems and more informed corrective actions.

In this chapter, our primary focus will be on product and process metrics. A good understanding of these metrics will help you improve software quality, estimate effort and staffing, and design more efficient and maintainable software systems.

Login to add personal notes and bookmarks.