CannotMeasureProductivity

Martin Fowler ยท article ยท 2003-08-29 Reader ๐Ÿ–ฅ๏ธ

Changeability & OptionalityCode Was Never the BottleneckCode QualityDORA & Engineering MetricsMeasuring AI ImpactOutcome EngineeringSoftware Design Fundamentals
Software productivity cannot be measured because its true output โ€” delivered business value โ€” cannot be measured, so every popular proxy (lines of code, function points, feature counts, project 'success' rates) either measures the wrong thing or measures it too late to be useful.

theoretical ยท argumentative โ€” A short bliki essay building a chain of counterexamples (LOC, function points, FP-adjusted-for-usefulness, success rates) to establish a negative epistemic thesis: software productivity cannot be measured. Practical in motivation (it's aimed at ending futile process/design arguments) but the content itself is conceptual analysis of a measurement problem, not a technique or how-to.

Structure

PartRole
Opening framingSets up the stakes: emotional, unresolvable industry debates persist because we can't measure the basic effectiveness of software development
Productivity = output/input; we can't measure outputStates the core definitional move that the rest of the essay unpacks
Lines of code critiqueFirst counterexample: LOC rewards poor design (duplication) and varies with language/style, so it isn't a valid output measure, only a rough size measure
Function points critique (counting unreliability)Second counterexample: FP counts vary by a factor of three between counters even before getting to what FPs mean
Function points critique (usefulness)Third counterexample, escalating: even a perfect FP count conflates 'functionality delivered' with 'functionality that matters to the customer' โ€” introduces Jeff Grigg's reuse-asymmetry point
Business value as true productivityThe essay's positive claim: true productivity must be measured in delivered business value, illustrated with the $10M vs $5M example
Success-rate critiqueExtends the business-value argument to project 'success', showing raw success counts are as misleading as raw output counts
'If you can't measure it, you can't manage it' rebuttalPre-empts the standard objection by citing analogous unmeasurable-but-managed functions (law, marketing, education)
Individual vs. team productivityAdds a further layer of difficulty: even if team output were measurable, individual contribution (especially supporting/enabling roles) is harder still
The Economist lag citationAdds a temporal complication: even business-value measurement is confounded by a multi-year lag between investment and payoff (citing computers and electricity)
Closing admission of ignoranceExplicitly refuses the seductive false-measure alternative and ends on intellectual honesty about the limits of current knowledge

Key terms

Propositions

Arguments

Software productivity cannot currently be measured. strength: high
Explicit premises:
Implicit premises:
Inferences:
Lines of code is an invalid productivity measure. strength: high
Explicit premises:
Implicit premises:
Inferences:
Even an accurate functionality count (function points) is not a valid productivity measure. strength: medium
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Closes gaps elsewhere

Related documents