Skip to content
SE eBook
Menu

Software Quality and Standards

Public section
Preferences are saved on this device.

Software Quality

Software quality is the degree to which a software product satisfies stated and implied needs of its users and stakeholders, and conforms to its specified requirements and relevant standards. In practice, this means the software behaves as required and has an acceptably low level of defects in real use.

Software quality is multi-dimensional. Important quality attributes (as in ISO/IEC 25010) include:

  • Functionality – Does the software provide the required features and services, correctly and completely?
  • Reliability – Does it perform consistently over time without unexpected failures?
  • Usability – Is it easy to learn, understand, and operate for the intended users?
  • Performance efficiency – Does it respond and process within acceptable time and resource limits?
  • Security – Does it protect data and services, and resist unauthorized access or attacks?
  • Maintainability – How easily can the software be corrected, improved, or adapted to new requirements?
  • Portability – How easily can the software be transferred to different environments (hardware, OS, cloud platform, etc.)?

High-quality software is therefore effective, efficient, secure, and user-friendly, delivering its intended functionality without causing unacceptable side effects. Achieving such quality typically requires:

  • Systematic testing and verification at multiple levels (unit, integration, system, and acceptance testing).
  • Technical reviews, walkthroughs, and inspections of requirements, designs, and code.
  • Use of quality metrics, feedback, and continuous improvement of the development and maintenance processes throughout the software development life cycle.

Software Quality Standards and Frameworks

Software quality standards are formal documents that define principles, practices, and criteria for developing, operating, and maintaining high-quality software products and processes. They are typically issued by recognized bodies (such as ISO, national quality institutions, or industry consortia) and provide common reference points for organisations.

These standards and frameworks help organisations to:

  • Provide benchmarks for both process quality and product quality.
  • Ensure that software solutions consistently satisfy user and stakeholder requirements, and comply with relevant regulations or contracts.
  • Support assessment, certification, and comparison between organisations, projects, or suppliers.

In this section, we focus on three important frameworks related to software processes and quality management:

  • Capability Maturity Model (CMM) by the Software Engineering Institute (SEI).
  • Malcolm Baldrige National Quality Award framework for organisational performance excellence.
  • ISO 9000 family of standards for quality management systems.
Login to add personal notes and bookmarks.