Software tools should help your work, not BE your work

A recent post titled “Turning Data into Information” that I wrote on my company’s blog got me thinking about a very common mistake made by software developers. That mistake is forgetting that the real world is not as neat as a software process.

The aim of a tool is to make your work easier. A software tool that creates more work than it saves has no value to anybody (other than as an object lesson).

In a structured software process, it is easy to say “at this stage get all of this data and then progress to the next step”. In the messy, unstructured real world, it’s often more a case of “I have this much data now, my colleague will give me some more later today and my client will email the rest by Thursday at the latest”. The real world can’t afford to sit and wait for everything to be ready before going onto the next step.

A form that will not let a user progress until they have entered a large amount of data does not fit well into a real life task. It effectively becomes a barrier to their personal workflow. A good software designer will work out the absolute minimum amount of data that the system needs to progress and allow the user to enter only that much. The software should be clever enough to use the raw data available to it and only insist on more data input when it there is no other option.

I could go on for many more pages describing the different ways in which interface design and process analysis can contribute to more usable and successful software but I’ll leave that for future posts.

A good way to build a software tool that people will want to use is;

Identify a task performed by as many people as possible and build a tool to let them do it faster or more efficiently without significantly changing the way they work.

It’s not a catch-all mantra but it’s one that works when there are no additional requirements.

Comments

Leave a Reply