A Platitude on Software Failure

Saturday, June 18, 2011

[Via Reddit and Hacker News, a strange little essay published (anonymously) this morning over on Pastebin. The original piece was submitted by one HINTEDCOGWHEEL. Which is the very first of about 18,000 anagrams for CODING THE WHEEL. What are the odds?]

* * *

It's true that most software projects fail. It's in the nature of software projects to fail. You might even say that software projects want to fail. Failure is what you get by default. Failure is the status quo. From the minute you begin the development process, failure waits behind blind corners, ambushes you from dark alleys, sidles up to you with a wink and a toothy smile.

"Go ahead," it grins. "Hit me with your best shot."

You can hire the best and brightest people, give them a budget that would beggar Croesus, evolve a methodology that makes Agile look like a clumsy attempt to rub two sticks together, producing fire. You can give your programmers triple-monitor setups, juggernaut CPUs, hard drives measured in terabytes, free all-you-can-eat sodas and snacks everlasting. You can choose the perfect language, the perfect platform, the perfect toolset. You can scrawl Goetic symbols on the dusty floors of the computer lab and dance widdershins around a burning copy of Code Complete, for all anyone knows or cares.

When you put your clothes back on (perhaps wondering how they got off) and snuff the candles, failure will still be there.

Waiting.

Picking its teeth with the dessicated bones of software projects long forgotten.

* * *

The world will tell you that software is a bird that can be caged. It's a mantra.

At this moment the bookshelves of Silicon Valley are groaning under a thousand tons of "best practices" software development verbiage inscribed across the backsides of thin little pieces of reconstituted wood we call "paper", splattered with color and gloss, marketed and hyped and sold at a premium. And if you were to take all the material that appears on the Internet about this subject, and print it out on paper, well... you'd denude the planet of all vegetative life and probably somehow upset our orbit relative to the sun, sending the Earth spiraling towards a fiery stellar death.

It's a business. Money in, words out. Kill more trees, consume more bytes.

And you just know, when aliens stumble across the shattered remains of our haughty civilization, down there in the rubble, preserved in the browser cache of an off-market hard drive of a manager who was, at the precise time the Apocalypse hit, surfing the web trying to hire a web consultant—you just know that the fatuous technobabble Newspeak jargon of technology evangelism will persist.

I can hear its familiar bullshit strains even now...

We provide complete, integrated, start-to-finish vertical solutions delivered by business consultants with industry experience working to a proven implementation methodology, leveraging business process synergies to provide you with a scalable and forward-looking technology roadmap.

Meaningless weasel words, slipping through the corporate digestive track like so many pastel turds. The message is always the same:

Jump on our technology bandwagon and success will follow otherwise you will surely perish in a hailstorm of fiery damnation as everything you love is ripped away from you and your corporate offices are stormed by marauding Orcs. We have learned how to cage the "Blue Bird" of software. We know where the software sidewalk ends. We've been to the end of the software rainbow and we've strangled that goddamned leprechaun who keeps teleporting away with our customer's pots of gold. We're Accenture; check out our snazzy website, read our PDFs, and prepare to be blasted into the realm of software awesomeness.

This—the irresponsible, cheating use of language—is the Ground Zero of software failure so far as I'm concerned. (Around you loom the shattered wrecks of forgotten projects, blocking out the sun. It is dark here. You are likely to be eaten by a grue.) The Venus di Milo, Beethoven's Ninth, Shakespeare's 19th, yes, even Emacs: all will eventually perish. But the my-what-big-teeth-you-have, the-better-to-eat-you-with language of technology sodomizers will persist, along with porn and spam, as humanity's last and final legacy.

`My name is Ozymandias, King of Kings:
Look on my works, ye mighty, and despair!'
Nothing beside remains. Round the decay
Of that colossal wreck, boundless and bare,
The lone and level sands stretch far away.

* * *

I'm as enamored of the programmer-as-magician mythos as the next geek. Not for nothing were programmers assigned the top security clearance in that brilliantly sadistic RPG of yore, Paranoia. But I've started looking forward to the day when we'll be tossed off our high horse by the democratizing power of tech that we pay lip service to. Because my experience in this industry has convinced me of the following:

  • Most programmers are egotists
  • Most corporate projects are red herrings
  • Most budgets are grossly inflated
  • Most production systems are hacked together
  • Most infrastructure security is a joke
  • Most marketing is dishonest
  • Most managers are incompetent
  • Most software patents are concocted
  • Most development tools are politically motivated

Software is an entropic system whose arrow of time flows in the direction of failure, aided and abetted by human bullshit. That is my belief.

So feel free to believe in shiny-happy 200-billion-dollar Facebook valuations and colorfully disruptive startups that accrue heaps of naive funding and then predictably implode. Feel free to ignore the evisceration of digital industry by patent trolls, snake oil consultants, crooked politicians, primadonna bloggers, internet crackdowns, shady PR teams. Turn a blind eye to the wolves gathering around the fountains of innovation, the alligators slipping into the shady-watering holes of small business (surely they won't bite). Feel free to participate in the fiction that what we are doing is sustainable.

But don't kid yourself that the high-hanging fruits of the technology tree—strong AI, for example—will be made manifest by a society more excited by the Facebook social graph than by feeding its children.

Without the willingness to embrace difficulty, the willingness to replace Twitter evangelists with hard scientists and hard mathematicians, without a solid manufacturing basis, without some counterweight to our addiction to "the easy"—and when our very language has become polluted with sophistry of lobbyists and middlemen, wreaking havoc in our nations' capitals—our ability to move mountains diminishes and diminishes, even as the technologies we discover convince us of our superiority.

In a way, it's a story as old as time. Wherever the bright spots of human endeavor appear, wolves will always follow, wearing the dress of sheep, affecting the mannerisms of sheep, and above all, speaking the language of sheep. So it is and has always been.

The only difference is that the wolves never had an internet before.

Tags: [none]

15 comment(s)

100-plus upvotes for raw text you cut and pasted into Pastebin? How. Are people using Pastebin for ad hoc publishing now or what.

James that's so meta. Level?

This actually hit the front page on Reddit, Hacker News and the no.10 spot on PasteBin. Can I ask what is your strategy for submitting content to sites like these? Back when you had voting and +1 widgets (yes, I was here) it seemed like a third of your stuff would frontpage on Reddit or HN or somewhere.

Liked the part about the grues. Yeah I still play Zork to this day. :/

2nd that plz

Depressing, but one of the best-written posts on this subject I've ever read. I've had a very similar experience.

Background: 20 years in consulting, C, C++, PHP, Java, working mostly in finance and defense. I've been on 50 or 60 short projects and have seen the inside of a lot of IT large & small. A quarter of those projects were outright failures. Another quarter were failures that we pretended were success -- polite clapping at the launch party, thanks for your hard work & dedication, and a year or two later the project is scrapped. Most projects fail, as you say. But a lot of projects fail even when they succeed.

The author of this piece could lead a revolution. Successfully. Bravo.

The dates on your RSS feeds are way off. e.g. Your post is marked 2/23/2010 5:34:02 PM.

Great post! It's always nice to find jewels among pebbles...

Why does every software guy with a blog and a keyboard feel like he has to hold forth on the philosophic grand ye olde castle in the sky architecture astronaut. Who does this help? What does it improve?

I agree with most of the points except one!

I don't think hard work alone is going to help us build towards a more advanced civilization. It has to be a combination of Hard Work and Efficiency. You pick any process, project or organization and you soon realise they're suffering from lack of both of these two primary elements. I agree that the term 'efficiency' lends itself to 'Easy Work' but that's just a flawed mentality.

The IT industry as a whole is going through an evolution both in terms of maturity as well as integration with the current business processes. I think only time will address the imperfections in the mix!

Interesting post...

Depressing but true

Why are you spamming email every day now rather than just when you put up new posts like the last few years?

That's great. I specially like the comment on all this addiction for "the easy". Even in everyday life, people want "the easy" so much, without realising that easy means you won't exploit the potential of your smartphone/software/etc, or that someone else has decided in your place, not necessarily for your own benefit, and they are pushing you to become a button clicker monkey or an all-inclusive tourist, who will leave money to deluxe resorts and will travel to nowhere.

Nice post, its a really cool blog that you have here, keep up the good work, will be back. [Fulfilment Service][http://www.profulfilment.com/]

Fulfilment Service

Use the form below to leave a comment.






Coding the Wheel has appeared on the New York Time's Freakonomics blog, Jeff Atwood's Coding Horror, and the front page of Reddit, Slashdot, Digg.

On Twitter

Thanks for reading!

If you enjoyed this post, consider subscribing to Coding the Wheel by RSS or email. You can also follow us on Twitter and Facebook. And even if you didn't enjoy this post, better subscribe anyway. Keep an eye on us.

Question? Ask us.

About

Poker

I am just sittin' here watching the wheels go round and round...


Hire

You've read our technical articles, you've tolerated our rants and raves. Now you can hire us anytime, day or night, for any project large or small.

Learn more

We Like

Speculation, by Edmund Jorgensen.