Programming and Fadishness
From a sobering assessment of the state of software quality, by Les Hatton:
So how good is good? In computer science, we regrettably operate in a largely measurement free zone. Very few experiments are done and even fewer results are published. This has been noted a number of times over the years by researchers such as Walter Tichy in Karlsruhe. As a result, software development isn’t an engineering industry, it is a fashion industry populated by unquantifiable statements and driven by marketing needs. We are exhorted to develop using Java Beans or OO this or UML that and that this will fulfil our wildest dreams. It is arrant nonsense. Such experiments as we have managed to carry out suggest that by far the biggest quality factor in software is the ability of the person developing it.
This was written in 2006, but I don’t imagine that much has changed since then. In fact, I’d be willing to wager that things have gotten worse.
And the damage caused by the faddishness of the software industry doesn’t stop at poor-quality programs. You’ll find its most harmful effects in the prevalence of codebase dead zones: petrified subsystems, usually buried deep in the weft of the product, that rely on some completely defunct technology.
We’ve all encountered these things: dark places on the map that were written in a language, or using a tool, whose popularity flared briefly and died quickly and no one knows how to use anymore and everyone is afraid to touch. The mitigation strategy for these kinds of dead zones is, almost literally, prayer — hope nothing goes wrong, and, if it does, scramble madly.
2 Comments