Quality in Software - ocawley/ittsqa22 GitHub Wiki
QUALITY
IEEE defines quality in software as: “(1) The degree to which a system, component, or process meets specified requirements.
(2) The degree to which a system, component, or process meets customer or user needs or expectations.”[1].
Software is a product; created either for retail sale or bespoke for a specific client needs. In both cases a customer is expecting for the software to do exactly what it promises or exactly what they ordered. Much like with any other product, quality in software can be broken down in multiple categories; all are important for a software to be considered of “high quality”.
User Interface
This is what a customer sees first, the UI. A quality software will have a UI that is instantly pleasant, will feel familiar, using the iconography that a user is accustomed to and will not overwhelm them with clutter.
Functionality
A software is judged most often on its functionality. What can it do? If it does not do much or what it is advertised to do, then it is of no use to anybody. Usually, the more functionality and flexibility a software has, the better.
Ease of Use
Having lots of functionality is great, but it must also be easily usable. If a user gets frustrated by not being able to find a certain function within the software, they are not going to be happy and it will also cost them time, which is not good for time critical scenarios, and indicates that not much thought was put in making software easy to use.
Portability / Compatibility
In the modern age of multiple operating systems and the Internet it is expected of the developer to provide multiple versions of software to support multiple platforms. And the software must be of equal, high quality on all platforms, complying with all the interface guidelines of a specific platform. A good software must “just work” a user does not know which version of windows they have, they just know it’s “Windows”. It is the developer’s job to provide a quality software that is compatible with multiple systems and is cross platform.
Support
After sales support is a very important part in software quality and is also usually a good indicator of software’s quality. If the developer’s forums are filled with customers complaining about the software not working properly or not doing what it promised.
When all the above comes together you get a software that everybody wants to use and buy (or pirate at least); while the initial costs may be great, in the long run, the company will save on troubleshooting and after-sales support costs, not to mention that they will also build a loyal customer base and a good reputation.
[1] IEEE Argentina, “Barbacci Notes 5” p.3 http://www.ieee.org.ar/downloads/Barbacci-05-notas1.pdf [Accessed: 18/09/2014].