It’s odd that software companies rarely give customers the focus they deserve. Perhaps the problem lays with the type of people that develop programs (broad generalization follows): Programmers tend not to be ‘people persons’, so it’s reasonable that making the software user-friendly, versus, say, an interesting technical challenge, is not a priority.
However involving customers early in development can make software radically different – and sometimes different is good. This happened with our latest software release, Rocket Retriever 3. Originally designed as a software tool to make managing my own files easy, it has since evolved, based on feature requests from customers, as well as what I felt was needed.
For instance, when originally developing it, I went to great lengths to keep the database up to date, scanning constantly. However, many customers complained that the scanning was unnecessary, so later versions had a throttle to control speed. In version 3, scanning can even be turned completely off on startup – this was because some customers wanted the flexibility of scanning once, and ‘freezing’ that scan (for instance, for files that rarely change, like a music database).
Another example is ‘skins’. While it originally appeared an unimportant request, more than one customers wanted a new look for the program. The retro 30s look was uninteresting for some, and perhaps detracted from using it in a work environment. With skins incorporated, Rocket Retriever can appeal to a wider audience, and even opens up the possibility of custom designs for specific clients, allowing them to brand the product for their company or site. Again, a customer request or two becomes a valuable feature.
The list can go on and on. But in distilling it, the main points are:
Working at communication is good advice for any programmer – listen to your customers, and you’ll be surprised at what they have to say – and the results will be well worth it when you release your next product!