All engineering disciplines other than software rely on quantitative approaches to design their products, organize the production process, and assess the results. Software engineering too can benefit from measuring relevant properties of its products and processes.

Measurements are not an end in themselves; they must be related to broader goals of software engineering:

The purpose of software measurements is to provide quantitative assessments or predictions of properties of software products and processes

For any numerical measure that we propose we must have precise information on four properties: coverage, trustworthiness, relevance, theory.

Any quantitative report on software products or processes should satisfy the following properties:

  • Coverage: include a definition of what is being measured, sufficient to enable repetition of the measurements.
  • Trustworthiness: include an estimate of how much the results can be believed, in particular of their precision (expected variations in case of repetition).
  • Relevance: specify interesting properties of software products or processes on which the measurement may provide insight.
  • Theory: include arguments backing the statement of relevance.