A Renewed Case for Software Sustaining
Series Contents
- -> A Renewed Case for Software Sustaining
- The Terrible, Terrible Cost of Bungling Your Sustaining Story
- How Technical Debt Is Created and How It's Paid Off (or Not)
- The Psychology of Creators, Sustainers, and Destroyers
- How Tech Support & Escalations, DevOps, Release Engineering, and Sales Engineering are Part of Your Sustaining Story Whether You Want One or Not
- The Bias Creators Have Against Sustaining
- Value Engineering or How to Get Customers to Pay for 80% of Your Software's Lifecycle
- Tying It All Together - How to Manage Creation, Sustenance, and Rebirth
An Introduction
Imagine life twenty years ago.
1995.
Microsoft had just released Windows 95 to a great deal of fanfare and a soundtrack by the Rolling Stones. Laptop computers were common, but practically nobody called them "notebooks" quite yet, and practical tablets were many years away. The Internet hadn't hit mainstream consciousness. Cell phones were used entirely for making phone calls (touchscreens and apps were at least 10 years away). Client-server technology existed, but hadn't really taken off (and a "cloud" was water vapor in the sky). Virtualization was at most an IBM System/370 thing (VMware wouldn’t even form until three years later). Novell still dominated the market for PC networking, and big-iron mainframes were the only way to deliver data at scale...
At the same time, Leviton was making basically the same light switches that it does in 2015. Rain-bird made basically the same sprinkler systems it does today. GE was making basically the same jet engines it does today.
That's staying power.
Technology advances in fits and spurts that are tough to predict. If you lived in 1995, you would have a very difficult time predicting that ARM (12 billion shipped in 2014) would come to dwarf Intel (<400 million) in the number of compute nodes on the planet. You would have no idea that eventually the cell phone would become the chief way that people interact with online services (and that voice calls would be unlimited and data would be restricted by-the-byte). There is no way someone in 1995 would have foreseen the rise and fall of Web 1.0 and 2.0 and the rise of the smartphone app.
There's no way Microsoft thought in 2001 that they would be getting money from the US government (among others) to maintain Windows XP fourteen years later.
That's also staying power, and not necessarily the good kind.
Every technologist aspires to create useful things that stand the test of time, but it's tough to tell in advance what will endure. Simultaneously, most creators (and by extension, most tech entrepreneurs) have no idea how to make something stand that test of time because their thought processes simply aren't really compatible with the idea.
The Core Idea
After 16 years in Silicon Valley (and a bunch more in Arizona selling computers and doing technical support), I have come to the conclusion that, like most technology, software lives in three distinct phases:
- It's created
- It lives for a while (and hopefully is purchased and/or used with vigor)
- And then it is cleared away to be reborn as either a new product or new version
Over the coming weeks, I will be talking a great deal about this model of software lifecycles. Unlike most people that talk about lifecycles in terms of raw development, I will not assume that the lifecycle ends when code is released unto an unsuspecting planet. Unlike most people, I will not assume that customers are inherently OK with being de facto beta testers and riding some bizarre bleeding edge. Finally I will not assume that developers care more about their product than their customers, their teams, or the sustainability of their own lives.
Topics in the coming weeks will include:
- The Terrible, Terrible Cost of Bungling Your Sustaining Story
- How Technical Debt Is Created and How It's Paid Off (or Not)
- The Psychology of Creators, Sustainers, and Destroyers
- How Tech Support & Escalations, DevOps, Release Engineering, and Sales Engineering are Part of Your Sustaining Story Whether You Want One or Not
- The Bias Creators Have Against Sustaining
- Value Engineering or How to Get Customers to Pay for 80% of Your Software's Lifecycle
- Tying It All Together - How to Manage Creation, Sustenance, and Rebirth
Those of us in the technology business have created wonderful things, but there is a terrible debt that hangs over our heads and those of the customers that we serve. Silicon Valley is littered with the corpses of companies that have failed to manage that debt, letting it consume them (and billions of dollars in venture capital with it). Companies that manage that debt well tend to flourish.
...and we all want to flourish, right? Follow me as I lay out the plan to do that.
(Check out Part 2 - The Terrible, Terrible Cost of Bungling Your Sustaining Story)