Robust Software
Wednesday, May 26, 2010 at 8:31AM
Matt Ferm in Exchange, IT, Resiliency

We use Microsoft Exchange as our email platform and purchase it as a service from a leading (and very large) hosting company. In general, it works well, but they do seem to have many small outages. Our clients also use Microsoft Exchange, but internally hosted. They do not seem to have as many outages.

As we see more-and-more people working from home (be they employees or consultants) we are challenged with maintaining a productive work environment. Downtime from telecom vendors and home PCs, software, and devices is high. All of those represent single points of failure and therefore a potential for outages. Consumers have accepted a lower standard of reliability than companies. How much time is wasted because software does not work properly?

Why should we be concerned with single points of failure?

Businesses invest a large amount of money in high availability to eliminate single points of failure. They do this to avoid user impact from a hardware or software failure. I fully appreciate the need for redundancy for hardware failures, but I can’t understand why we should have to pay for software companies’ inability to build software that will not fail.

Why build robust software?

I would postulate that software companies are not incented to prevent software from failing. We have come to accept a level of failure from all software and have also come to accept our software vendor’s weaknesses. We also accept that we should pay software vendors an annual maintenance fee (around 20%) to fix problems in their software. Shouldn’t they incur the cost of fixing those problems? Is it that they don’t make enough money?

In addition to maintenance fees, we (as buyers) are not willing to pay for more robust software, but we are willing to pay for more features. If you are a software company, where are you going to invest?

What can be done?

This is a wide-open question and one that is very difficult. In many areas quality standards are high or there is regulation protecting us. You don’t hear (too often) about medical devices failing or having bugs. That would be bad. There is now talk of more rigid testing standards for on-board computers in cars (post Toyota debacle). This is a good thing.

Software defects are only tracked internally by vendors. Wouldn’t it be great to see the count posted on their web site? Wouldn’t it also be great for software companies to admit when they have a problem? When was the last time Microsoft admitted it had a bug in a product. I remember working for a hardware vendor (years ago) where the acceptable level of bugs for release of an operating system was 10,000! Bringing transparency and awareness to the issue will help to make software companies accountable.

As consumers, all we can do is vote with our dollars. Unfortunately, our choices are limited. There is little, real, competition in the software industry.

There is one solution, Linux. Linux software is very robust, efficient, and functional. The reason for this is simple. Development and selection of features is a community process driven by consumers. Who wouldn’t put robustness, efficiency (small footprint), and cost as high priorities. They can’t be captured in a screen shot, but they make our lives more productive.

Article originally appeared on Gary L Kelley (http://garylkelley.com/).
See website for complete article licensing information.