Today I want to explain why I believe all software is broken, based upon over twenty years of working in the software industry.
Software is unique insofar as we are the only industry that will sell a broken product to a customer, on the promise that we will fix it later.
The computer game industry has become infamous for this, where it has become advisable to avoid buying a new game on launch day due to the assumed high level of bugs.
It is not uncommon for a game to take a year of development post-launch before it becomes stable and feature complete.
When I was young, games where distributed on physical Read-Only Memory (ROM) media, such as cartridges and CD ROMS.
Patching such games after release was impossible.
That meant that the final version of the game had to be ready at launch time, and had to be good quality.
Admittedly games back then were simpler, with less complexity leading to less bugs.
I feel however that one of the worst things that happened to software development was the wide availability of broadband connections, leading to an easy way to distribute software patches after release.
This is true in enterprise software also, which went from release software on CD ROMS to cloud distribution channels.
Sadly this "sell it now and fix it later" model is leaking out from the software industry, and into more critical areas.
It is now common for examples that the cars we drive, which have evolved into network-enabled computers with wheels attached, to receive multiple over-the-air firmware patches from OEMs per year, some of which are for safety features.
Software is not just eating the World, it is reducing quality everywhere in it's tracks.
Put simply, our tolerance for low quality products: software, cars, phones, games...is being increasing as vendors are selling to us on a "trust me bro" basis, and amazingly most of us are trusting them.
The only exceptions I have seen are cultures with a low tolerance for low quality.
When I worked with Japanese customers for many years, they gave me a very hard time for bugs in my enterprise software.
To them, low quality is shameful.
Bugs in the same application that would be accepted by my European or American users would be immediately escalated by Japanese users.
A Japanese colleague once told me that one of my customers once blocked developers from another vendor in a meeting room in Tokyo, refusing to let them leave until they fixed some high-priority bugs...
In general, as users will tolerate too much.
And as developers, which should all be a bit more Japanese and feel shame for delivering poor quality.
Five.Today is a highly-secure personal productivity application designed to help you to manage your priorities more effectively, by focusing on your five most important tasks you need to achieve each day.
Our goal is to help you to keep track of all your tasks, notes and journals in one beautifully simple place, which is highly secure via end-to-end encryption. Visit the URL Five.Today to sign up for free!