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.

Author: David Haimes

I'm Senior Director in the Oracle Research and Development Organization, with close to 20 years working in various roles on the development of the Financial Management product suite.  Since the summer of 2016 my focus is exclusively on working with customers and longer-term design work, particularly around next-generation functional and technical architecture. My task is to figure out NOW what the financial management system of the next 3, 5 or more years should look like and start working toward it.  At the moment the majority of my time is spent working on Blockchain or Distributed Ledger Technologies (DLT), leading the effort for all of SaaS applications.  I'm also interested in AI, Machine Learning and new UX and interaction paradigms such as chat bots. I started out in Oracle UK and found my way out to Oracle's Redwood Shores, California HQ in May 2000.  My previous role was product owner for Fusion Accounting Hub, General Ledger, Intercompany and Legal Entity products in Oracle Fusion Financials and eBusiness Suite General Ledger. I have also worked on EMEA Globalizations, Federal and Public Sector Financials, XML Payments and a variety of projects on other products down the years.

3 thoughts on “Trivial Software?”

  1. 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