It's Not Software — cover art: a low wooden fence dividing a single warm field at dusk, a hare in a brown apron on the left side packing CDs into a small wooden crate, a tortoise in a green vest on the right side tending a low brass-and-oak server cabinet whose vents glow honey-amber. 👍 🔮

2004 · Drunken Blog Rants · Rant

“Servware is stuff that lives on your own servers. I call it 'stuff' advisedly, since it's more than just software; it includes configuration, monitoring systems, data, documentation, and everything else you've got there, all acting in concert to produce some observable user experience on the other side of a network connection.”
— From It's Not Software, 2005
Read the essay

© 2004 Steve Yegge. Originally published at Drunken Blog Rants.

Author’s note

Probably the craziest thing about this post, written in 2004 a few months before I left Amazon to go to Google, is how eerily it foreshadows the stuff I'm yelling about in the Platforms Rant fully seven years later. This post recounts a good number of the "Indiana-Jones style learnings" we were grappling with back then, as we moved to a service-oriented architecture at Amazon.

I make a bunch of predictions, by sketching what needs to happen. My post predicts lambdas/serverless in the "Tradition #3" section. It also predicts that C++ will largely die out on the server side, which has mosty come true. Overall, pretty decent read, and almost futuristic for 2004.

AI Notes

Opens with a flat declarative: you don't work in the software industry. Software lives on customers' machines; you ship it once on a CD or as a download or in a ROM, and you'd better have it right before it leaves your hands. The thing Amazon builds lives on Amazon's servers, can be changed any time, and is seen only through a network connection. Steve proposes the name Servware — alongside hardware, firmware, and software — and walks through what changes: the lifecycle isn't Waterfall (you don't ship once) and isn't Agile-as-marketed (release cadence has no external floor); documentation isn't manuals but Wiki, because nothing else evolves at the speed code evolves; the system needs to be user-extensible from the ground up (Eclipse, Emacs, .NET); and metrics aren't optional, they're how a Servware system distinguishes "available" from "actually working." Software systems can ignore most of this; Servware systems that ignore any of it quietly die.

Almost every prediction landed. The word Servware didn't catch on — the industry went with SaaS two years later and cloud a few years after — but the shape Steve described in 2005 is the shape every modern engineering organisation now lives inside. Two decades on it reads less like a manifesto than like calm advance notice of an industry about to be replaced.

Related listings

  • 2006

    Good Agile, Bad Agile

    The following year, on the same gap from the other side. It's Not Software says the lifecycle isn't Waterfall and isn't Agile; Good Agile is the long account of why Agile in particular fails for the kind of work Amazon was doing.

  • 2011

    Platforms Rant

    Six years later, the same insight at full strength. It's Not Software names Servware; the Platforms Rant says the product is the platform you accidentally built underneath the Servware.

  • 2010

    Business Requirements are Bullshit

    Five years later, on what falls apart when you keep using the Software-industry playbook in a Servware shop. The 2005 piece predicted exactly the kind of mismatch the 2010 piece is angry about.