4 Essential Attributes of Good Software
Maintainability
Software should be written in such a way that it can evolve to meet the changing needs of customer's. This is a critical attribute because software change is an inevitable requirement of a changing business environment.
Efficiency
Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, process time, resource utilization, etc.
Dependability & Security
Software dependability includes a range of characteristics including reliability, security, and safety. Dependable software should not cause physical or economic damage in the event of system failure. Software has to be secure so that malicious users cannot access or damage the system.
Acceptability
Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable, and compatible with other systems that they use.