Atlas · Details
It's Not Software
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.