David Card, Experimental Software Engineering Group
Software is becoming increasingly pervasive in business systems and everyday life. Software is the glue that holds together complex systems. It is impossible to talk about the quality of a software dependent system without discussing software quality. A software dependent system is a system that can’t perform its intended function if the software doesn’t work correctly. However, since the software is invisible, systems developers often do not give it sufficient attention. Nevertheless, inadequate quality can put businesses and lives at risk.
This article provides a systematic overview of software quality in the context of a system. This includes static, dynamic, and customer/user perspectives. Quality standards have been widely adopted in recent years. However, these standards only address static aspects of quality, e.g., conformance to requirements. Moreover, the author’s experience shows that these standards are often incompletely implemented. This is facilitated by a lack of appropriate feedback on the quality status of software products. As described here, objective measurements and independent in-process audits can be part of the solution.
Key takeaways include:
- Comprehensive Model of Software/System Quality
- Benefits and Limitations of Quality Standards & Process Models
- Importance of feedback to achieving software/system excellence
- Appropriate feedback mechanisms for different aspects of software/systems quality