Skip to content

SoftwareExceptionalism

Ben Christel edited this page Feb 18, 2024 · 4 revisions

Software Exceptionalism is the attitude that software is not like other fields; that the successes and failures of, say, architecture and the construction of physical buildings have nothing to tell us about how we should go about creating software.

I believe this view is wrong. Software is much more like construction than we give it credit for. Architects and builders are just the ones doing it wrong.

It is a commonplace that software built by waterfall methods tends to be late, shoddily constructed, prohibitively expensive to change after the fact, and inhospitable to its users.

What we miss is the ubiquitous fact that buildings constructed by waterfall methods suffer from exactly the same deficiencies. We tend to forget this because these buildings are, almost without exception, the places that make up the landscape of our daily lives.

The architect-builder ChristopherAlexander argues that agile methods of construction have been the norm for millenia, in virtually every culture, and that it is only the strange attitudes of Taylorism, mechanization, and "scientific" planning that developed in the 20th century that have alienated us from from what is actually the most obvious way of building something: repeated small steps of alternating design, experiment, and modification. He has actually successfully built large projects using agile methods—for example, a high school campus in Japan.

See also: MaryPoppendieck's "Tyranny of the Plan", which contains fascinating details about how the Empire State Building was constructed (it was agile) https://www.infoq.com/presentations/tyranny-of-plan/

See also [Ed.: why did I link to this?]: https://news.lettersofnote.com/p/nirvana?s=r

Clone this wiki locally