What are Software Metrics?
Software metrics are quantitative measures that provide management with objective insight into the effectiveness and quality of the software process and its projects.
- Quantitative Measures: Metrics are defined as numerical data points collected on the software process (how we build) and the work products (what we build).
- Goal: The primary goal is to determine whether quality and productivity improvements have occurred over time and to pinpoint problem areas that require remedies.
Reasons to Measure (The 4 C-P-I Model)
The key reasons for using metrics are to:
- Characterize: To gain an understanding of processes, products, and resources, and to establish baselines for future comparisons.
- Evaluate: To determine the project's status with respect to the initial plans (e.g., are we on schedule/budget?).
- Predict: To understand the relationships between processes and products, and to build models that forecast future outcomes (like effort or duration).
- Improve: To identify roadblocks, root causes, and inefficiencies to enhance product quality and overall process performance.
Uses in a Project
Metrics are applied continuously throughout a software project to assist in:
- Estimation: Providing data for creating more accurate future project estimates.
- Quality Control: Assessing the quality of work products (deliverables) and the final quality of the software.
- Project Control: Monitoring progress and managing the project effectively, which includes assisting in tactical decision making as the project proceeds.

Process Metrics
Process metrics are a set of quantitative measures collected across all projects and over long periods of time with the intent of driving long-term software process improvement.
Core Definition and Intent