topics that matter; ideas worth sharing

share a tip, submit a link, add something new

Flexible software is error-enabling software

April 7, 2008, 11:15 AM —  ITworld.com — 

The late Arthur C. Clark famously once said that any sufficiently advanced technology is indistinguishable from magic.

The term 'magic' is one we ruefully use for IT systems too. Of course we cannot make the system magical but some of the things users ask us to make the machine do automatically? ... Magic. Sorry. Machines don't do magic.

Sit around with a bunch of engineers reading through a set of system requirements documents and sooner or later one of their number will exclaim 'Yeah. Right. And then magic happens!'.

We all have idealized visions of IT systems that are at once totally flexible and totally automated. We want the system to be smart, to know how to do the right thing. Oh, and we want it never to allow users to make mistakes.

Therein lies the problem. To paraphrase Arthur C. Clark: any sufficiently advanced end-user action is indistinguishable from an end-user error.

Let us take a simple example. Imagine a workflow in which three pieces of information are required from the end-user in order to proceed. Let's call them A, B and C and let's imagine that they can be either on or off. That leads to eight combinations. Developers proceed to code for the 8 combinations. That is version 1. Now comes
the flexibility question: 'what if we need another on/off variable, D?' or worse 'what if we want A to have three possible values not two?'. Or even worse 'what if we need to be able to add new variables on the fly?'.

Well, we could try to make the variables completely configurable in terms of what they are called, what values they can take and what logic should be triggered based on the combination of values at any given point. Unfortunately, the only way to cover all possible non-magic configurabilty possibilities would be to allow direct change to the source code. Short of that, the best we can do is make some of these things somewhat open ended. Allow some fields to take arbitrary values. Make some actions scriptable by the end-user. That sort of thing.

Sadly, the result of this is invariably the introduction of the possibility for human error. Locking everything down so that the system is foolproof and fast and correct - and all such good things that appear in most requirements specifications - is fundamentally at odds with having a system that is completely flexible - which also appears in most requirements specifications.

Any system that claims to provide all these at once is - unless I have missed something fundamental - not advanced technology at all. It is pure magic.

ITworld.com

I like it!
Post a comment
The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
Resources
White Paper

Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.

Webcast

Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.

White Paper

Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.

Free stuff
Featured Sponsor

Get a broad understanding of important regulations and how you can make sure your site is in adherence.





Learn how VeriSign SGC-enabled SSL Certificates can help improve site security and customer confidence in the free white paper, "How to Offer the Strongest SSL Encryption." In this paper you will learn the differences between weak and strong encryption and what they mean for your site's performance.

Get VeriSign's free white paper: "The Latest Advancements in SSL Technology" and learn about the benefits of strong SSL encryption, Extended Validation (EV) SSL and security trust marks and what these SSL offerings can do for your site.

Now with Extended Validation (EV) SSL available from VeriSign, you can show your customers that they can trust your site. Learn about EV SSL benefits in this free VeriSign white paper.

More Resources