Trivial Software?

All software is hard.  Building good software is not trivial, but the challenges I face are different depending the intended use of my software.  For me it helps if I put software into three categories

  1. Critical – this controls nuclear power plants, medical equipment or aircraft control systems.  If it breaks a lot of people die.
  2. Enterprise Class – If it breaks I cannot run my business (pay my suppliers, pay my employees, serve my customers)
  3. Trivial – If it breaks I can’t check the latest sports results, or post my opinions on my lunch to facebook and twitter

The tolerance of the consumers of each of the above software for failure is quite different and as such the speed with which new features can be delivered and implemented will differ.  If the pilot of your plane sees a pop up on his screen right before he takes off saying “An update is available for your autopilot software, would you like to install it now?”;  would you want him to click ‘Yes’?

I build Enterprise software, which is the middle ground.  I certainly have to spend a lot of my time ensuring that what we build is robust and reliable, but there is plenty of scope to innovate.  I respect the people who build there other types of software as they each have their own unique challenges.  Critical software has to be totally safe and reliable and those pressures are obvious.  What I class as trivial software is a challenge because you have to move with the market and bring out new features and innovations very fast and keep your customers very happy and engaged because they can move easily to another product.  What is trivial software to the users may well be critical to your ability to make money and pay your own bills.

Do you agree with my categories, or do you prefer to slice it another way?  Is trying to categorize software a futile exercise?  Am I just trying to be controversial by calling some people’s life passion trivial?  Have your say in the comments below.

3 Responses

  1. Agree with your classification. Would rename Trivial as Consumer instead.

    Like

  2. Hi David, certainly agree with your classification. The nature of risks involved are different, with unique needs regarding levels of reliability, performance and creativity. I’d further think that softwares classified as critical, with appropriate backups inbuilt into the systems within which they are adopted, would be capable enough to avoid doomsday scenarios, such that they no longer pose a critical risk, and allow sufficient room for innovations.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 1,644 other followers

%d bloggers like this: