What are 'Powerful and Pitiful Measures'? Powerful measures help management achieve their purposes as managers of software engineering teams. Powerful measures are not indirect: they measure as close to the customers' experience and need as possible. They help management to attain their customer-related objectives and to control their product development and production processes.
Measures become pitiful when they are not well suited to control what really matters. Often, inappropriate use of measures simply occurs because their use is either conventional or convenient.
To give some examples:
- function points: When used as a language-neutral measure of logic volume for comparison purposes, function points are a powerful measure. But when they are used as a 'primary or sole indicator' for estimating costs for a project, they become a pitiful measure. For any project, numerous cost drivers have to be taken into account (not least, the required quality levels).
- complexity metrics: As primary indicators of 'maintainability' or 'reliability', complexity metrics (such as McCabe's) are pitiful. They might well be extremely convenient to use (as automatic software tools are available to carry out the measuring), but they are much too indirect. Mean Time To Repair (MTTR) and Mean Time Between Failure (MTBF) are more worthwhile measures.
- defect density: Defect density is suited as a measure for controlling software process improvement: it can be used to track the injection of defects in a software process. However, using it to measure software quality is pitiful because it does not reflect 'availability' (net uptime to defined users). A reliability measure, such as MTBF in customer operational conditions, would be much more appropriate (as availability is a function of reliability (failure rate) and maintainability (fixing speed)).
Tom Gilb is an independent consultant, teacher and author. He works mainly in UK, Europe and North America. He is resident in Norway.
Tom coined the term 'Software Metrics' with the publication of his book of the same name in 1976 (European edition) and 1977 (USA edition). This work is the acknowledged (by R. Radice and W. Humphrey) as inspiration for much of the Software Engineering Institute's Capability Maturity Model Level 4 (SEI CMM Level 4). His other books include Principles of Software Engineering Management (1988, now in 13th printing) and Software Inspection (1993 with Dorothy Graham). His main professional interest is the development of powerful Systems Engineering methods (covering Requirements, Design, Quality Control and Project Management).