Why Software Fails

Published December 8, 2008

There was an excellent article published in the latter 1990′s by a popular computer magazine about why software companies fail. I have yet to retrieve this lost article of wisdom but I do remember some essence of how timeless the article was. The common point to software and companies is the people who produce it and the masses who use it. The popularized phrase – garbage in, garbage out – is still true today. I will illustrate several obvious failures and and present corresponding solutions:

Failure 1: Endusers are expected to test and solve problems created by mistakes or bad programming

In example, it is very possible that a production software may not install on your computer even if you have had no problems installing previous versions of the application. You will be forced to either solve the problem, get a refund (assuming commercial or shareware), or seek alternative software. If there is not a better alternative, then you are forced to confront ‘support’ which may vary from none to highly technical. One need not go further into the process as the failure to provide a credible product has already occurred (note my 3 pillars of software sanity). Now the enduser is faced with the insanity of software.

The solution is pay people to test the commercial software before production. Their time is as valuable as anyone else’s time on this planet.

Failure 2: Ignoring customer concerns

I once was an avid user of Microsoft Frontpage for PC. In the beginning the software allowed the web author to include a link from an external website that automatically added the title of the page with the embedded URL. This was convenient because you did not have to reconfigure the presentation of the URL. Then MS Frontpage changed in a latter version such that the author was forced to enter the title text, then link the corresponding URL, which created more work and stress for me. When I made an inquiry to Microsoft as to why they took away this feature, the answer was that it was a feature enhancement – yes the paradox of the loss of previous functions for an upgrade. Unfortunately my concerns were meaningless as I was a digital peasant, not the boss of Microsoft. Well peasants count too!…so I changed to a MAC with Dreamweaver and iWeb.

The solution is to keep the functionality the tool had and build on it. If a feature is less useful in the future then at least keep it as an option that the enduser can enable.

Failure 3: Charging absurd prices

Since there is no standard price for any given type of application, the product price can be anything. Presumably what the market will bear. There are many assumptions built into software prices including: the inability of endusers to change from their current application schema to a cheaper or cost-free solution (human mind marketing programming); continuation of governments to provide tax deductions of computer software and hardware; and a society directed at consumerism. I have encountered many commercial applications that have equivalent applications for far less or free. In some cases I have sucessfully negotiated with the authors to ‘match’ their enterprise prices with applications that were ‘donationware’ prices. In my experience, big industrial companies such as MS or Adobe are more likely to negotiate on volume. Thankfully open-source is a return to the old days of freely swapping code.

The solution is to sell software under $20 US. Now all you have to do is convince people that they need to buy commercial software rather than freeware or open-source.

Failure 4: Ignoring globalization

This failure is linked to the aforementioned failures. The Internet equalizes the opportunity for endusers to easily seek software alternatives without additional financial costs. Some software companies/distributors such as Microapp produce primarily French language only applications – similar to DVD videos that have no alternate subtitles or languages – a monoculture perspective. If the commercial software is designed to generate revenues, then how can you afford not to be multilingual? There is a plethora of applications that have built in capability to plug in any language for the enduser.

The solution is language plug in enabled applications with the ability for endusers to easily modify or create new language plug ins.

Failure 5: Unfriendly software

Why do software programs create point and click operations on such tiny icons? In my observations hand and eye coordination is likely better for younger than older human beings. So why can’t I use a keyboard for every software function? Although Windows and MAC operating systems can change the size of icons and text, this may not automatically affect software applications residing on the operating system. I feel for senior citizens that are trying to drag and drop email from an inbox to a tiny folder icon. Not everyone is a game machine addict.

The solution is to design options for larger and simplified layouts… like an automatic banking machine.

Failure 6: Social versus Fascist design

“Tell a lie, make it big, repeat it often, and you can get everyone to believe”. This appears to have come true for software that requires some kind of install security – such as a dongle, serial number, or activation – to get started (now employed in automobiles and soon velos). Tell users that product security is necessary for financial survival and everyone believes. It appears that endusers have accepted being punished for purchasing software. Endusers spend their own ‘free’ time trying to activate products and enter ridiculously long serial numbers in hopes of actually using the tools that they paid for (also adapted to actual coin-operated shopping carts). This should make open-source and freeware a runaway consumer success with no extra inaccessibility ‘enhancements’. Unfortunately the trend seems to be toward inaccessibility in commercial software – more activation issues and more tracking requiring an Internet connection for installation and usage. Also noteable is open-source software that require some sort of validation for usage as in Open Office 2.x which required the user to accept the license agreement to continue the install. If you ever have to reinstall applications due to a change in hardware at Christmas, don’t do it because I lost a contract due to Adobe activation failures which froze my use of the Creative Suite for several days. Hence I changed from Windows to MAC with open-source alternatives – more socialist conscience, less fascist command and control. Call me paranoid, but I am beginning to understand now how easily fascism can take over a ‘liberal’ society.

The solution is to provide software that instantly works when the enduser starts the application without having to be connected to the Internet.