What is "Great Software"
As developers of software you would expect us to be able to answer the question of what makes good software great - and so we can - and as developers of business management software you would expect us to aim to produce only great software.
Since we spend most of our time developing software, with the end goal of producing great software, we are always looking at what we need to do to a piece of software to change it from good to great. We can therefore give you an insight into what we believe makes great software.
Help and Support
Generally when we think of software, we think of the CD that we have bought or the file that we have downloaded, but great software isn´t just about the actual application itself. It is also the Help that is included, both installed with the software and help that is available from a support desk or some other external source.
Rather dull, simple software can be transformed into a great product simply because it has good help included, and answers to questions can quickly be found. Similarly, very good software which is rich in features and functionality can be transformed into an average product because help is not available when required.
So, an important element of great software is the help and support that is available with the software to produce an all round great product. Why have we started by focusing on the help and support when we´e really talking about the software? If great software can be made average by poor help and support then there´s no point in producing the software in the first place, so to us it´s a hugely important factor.
Ease Of Use
Closely linked to this topic is the next important element of great software, and that is ease of use. A software product may have all the bells and whistles, and be able to provide you with a long list of what it can do, but if its not easy to use, even with good help and support, then the software is never going to be great.
Combining a full rich feature set in a product but at the same time making it easy to use is something that takes time and requires a good understanding of the problems that one is trying to solve with software, as well as listening to user feedback. To make the software easy to use, it needs to be intuitive to the user so that it feels obvious what needs to be done to complete a task or operation using the software. We work on the onion skin approach in the development of our business software; the often used and most required elements of the software sit on the outer skin. Here they are easily accessible and users can quickly find what they need and can be lead by the options available. The complexities of getting the software to work in different ways can be further down the layers of the onion skin. It is only when a user asks the question of ´how can I do this´ that they will need to delve deeper into the onion. The complexities are kept away from the surface but are easy to access when required.
Ease of use is therefore an essential ingredient of great software.
We have already mentioned a full feature set above. By this we mean the software provides the functionality to do what you need to be able to do. This is probably the most obvious element of great software, and the one which many developers focus far too much on, to the detriment of ease of use, and help and support. By doing so they are condemning their potentially great software to the ´average´ pile. Functionality is the starting point in the development of a software product - you have to know what it is you need to develop. Functionality is very often the driver behind the ongoing development of software also. User wishlists are a common implementation of this.
The provision of functionality is, most obviously, a key element of great software.
Reliability is the next crucial element of great software. A software product can have a great feature list, be supported with excellent help and be easy to use, but if it´s not reliable then those things become irrelevant. Reliable software is software you can use and know that it isn going to crash, or give you incorrect or invalid information. The reliability of Microsoft Windows has improved dramatically over the past few years, but not so long ago it was fairly standard for a user to have to reboot their machine three or four times a day because Windows crashed. As Windows has become more robust, so it has highlighted other software that may not be as robust, and a users experience will be adversly affected by having to deal with such flaky software. Only once software has proved that it is reliable will a user truly be able to rely on it; and once a user is able to rely on the software in confidence, the developer has fulfilled a major part of their remit.
Value for Money Software
The final vital component of great software is the value for money that it provides. If a developer has fulfilled all other factors, if the software is too costly then it won´t offer value for money, and any software that is not value for money cannot be included in the ´great software´ category. As developers and sellers of business management software ourselves, we know how important it is to charge a reasonable price to ensure the continuity in the development of the software, but not charge more than it is worth to anyone; market forces play a key role in this, since if a product is too costly then no one will buy it!
In summary, then, the elements that are required to make good software great are:
- Good help and support
- Ease of use
- Rich feature set
- Value for money
This is what we aim to include in all our business software. It looks like a short and straightforward list, but the constituent parts that make up each item dictate a high level of attention to detail in all elements in the development of software, from the efficiency of software algorithms, to the clean and neat presentation of the user interface. It keeps us busy!