The Daily Parker

Politics, Weather, Photography, and the Dog

Laws of Programming revisited

Researcher Capers Jones has examined well-known "laws" of programming against the data. The one that jumped out at me:

Cunningham's Law of Technical Debt

Shortcuts and carelessness during development to save money or time lead to downstream expenses called "technical debt" that may exceed the upstream savings.

Empirical data supports the basic concept that early shortcuts lead to expensive downstream repairs. Ward Cunningham's technical debt concept is a great metaphor, but not such a great metric. Technical debt omits projects canceled due to poor quality. Since about 35% of large systems are never finished, this is a serious omission. These failing projects have huge costs, but zero technical debt because they are never delivered. Technical debt also omits the costs of litigation and damage payments for poor quality. I worked as an expert witness in a lawsuit for poor quality control where the damage award to the plaintiff was more than 1,000 times larger than the technical debt to fix the bug itself.

In other words, quality issues cause more damage than programmers think. There's no substitute for early quality.

Comments are closed