The Scaling Fallacy

Aug 29th, 2002 by Tony in QSM1

The big mistake commited most often by software managers is choosing a linear model when nonlinear forces are at work. By all accounts managers everywhere seem to make this modelling mistake. One of the most common examples of such linear modelling is the assumption that the same patterns that produced quality small systems will also produce quality large systems.

Software life would certainly be comfortable if this linear model were true. Unfortunately, the difficulty of producing quality systems is exponentially related to system size and complexity, so as software gets bigger and more complex, old patterns quickly become inadequate. In many cases, the old patterns actually exacerbate the problems they are attempting to solve.

I’ve given this model a name: the scaling fallacy:

Large systems are like small systems, just bigger.

— Jerry Weinberg, Quality Software Management Vol 1, Chapter 5

Of course, people need to look at this from the reverse as well – the sorts of patterns (and procedures) needed for large projects, aren’t necessarily going to be worth the overhead on smaller ones. (I was hoping to quote something useful on this point from the start of Software Craftmanship, but I can’t find my copy of it at the minute…)

No Comments