We’re used to the on-going cost of software. Once it’s released it needs to be maintained, because it sits in an environment which most likely evolves, and so the software itself needs to be updated to ensure it continues to run in the changed environment. Additionally its connections with other systems may change — they may change their interfaces, which means our first system needs to change accordingly. And that’s all without the cost of adding features.
But beyond this, well-used software grows and expands in ways that are often overlooked. It inveigles its way into people’s working lives, into their workflow, and processes start to form around it. People’s thinking starts to fit around it, and they often forget to question its quirks and limitations. The software itself may be sitting innocently in its boxes, but its influence runs far and wide.
That’s why decommissioning software can be so difficult — it involves decommissioning human processes, too. It has to be removed from people’s workflow and routine, and the assumptions behind it may be have to be erased from people’s thinking to get them to imagine life beyond what they’ve become dependent on. Replacing the actual software may be relatively easy. Replacing its consequences in the material world may end up being a lot more difficult and expensive.