Developing good software is hard, there are many things to consider while developing software. Everyone appreciates good software.
For software to be classified as good, it must possess some key attributes.
1. Functionality
Good software must be able to do what it was designed to do. The software requirements must guide the design and implementation of the software.
2. Usability
The software must be usable; the users must not find it difficult to figure out how good software works. Good software is user-centered and user-friendly.
3. Efficiency
Efficiency means that performs its operations with minimal time and processing power. Good software uses the least amount of processing power and memory needed to achieve the desired result.
4. Maintainability
Good software must evolve with changing requirements.
5. Security
Good software must be secure. It should not cause physical or economic damage in the event of a system failure. Unauthorized users must not be allowed access to the system.
6. Reliability
A reliable system will rarely fail, and even when it does fail, there are recovery mechanisms in the software to recover from the failure with minimal losses.