Software Quality Management
Software quality management is the set of organizational and project activities that define quality goals, assure that processes and products meet them, and continuously improve the capability to deliver quality software.
Definition
Software quality management comprises quality assurance, which ensures that appropriate processes are defined and followed, and quality control, which verifies that work products meet their requirements, together with measurement and process improvement to raise quality capability over time.
Scope
This topic covers software quality models and attributes; quality planning, assurance, and control; software measurement and metrics; reviews, audits, and process compliance; process-maturity and improvement frameworks such as CMMI and ISO/IEC 15504; and quality standards including ISO/IEC 25010 and ISO 9001 as applied to software.
Core questions
- How are software quality goals defined and made measurable?
- How do quality assurance and quality control differ in focus?
- How is process maturity assessed and improved?
- Which metrics meaningfully indicate product and process quality?
Key theories
- Quality assurance versus quality control
- Quality assurance is process-oriented, ensuring that suitable practices are in place and followed, while quality control is product-oriented, verifying that deliverables meet requirements; both are needed and operate at different points.
- Process maturity and improvement
- Frameworks descended from Humphrey's work, such as the CMM and CMMI, model organizational process maturity in stages and guide systematic, measurable improvement of an organization's software capability.
Clinical relevance
Quality management connects engineering practice to business outcomes by making quality goals explicit, monitoring conformance, and improving processes; mature, measured processes reduce defects and variability, which matters most in large or regulated software organizations.
Evidence & guidelines
ISO/IEC 25010 defines product quality characteristics, CMMI and ISO/IEC 33000 (formerly 15504) provide process-assessment and improvement frameworks, and ISO 9001 applies general quality management to software organizations.
History
Quality-management ideas from manufacturing, notably Deming and Crosby, were adapted to software by Humphrey in the late 1980s, leading to the Capability Maturity Model and its successor CMMI; international standards later formalized product quality models and process assessment.
Debates
- Process maturity versus agility
- Whether heavyweight process-maturity frameworks such as CMMI improve outcomes or impose bureaucracy that conflicts with agile values is debated; practitioners increasingly seek to combine measurable process discipline with agile responsiveness.
Key figures
- Watts Humphrey
- Philip Crosby
- W. Edwards Deming
- Barry Boehm
Related topics
Seminal works
- humphrey1989
- iso25010
- swebok2014
Frequently asked questions
- What is the difference between quality assurance and quality control?
- Quality assurance is proactive and process-focused, ensuring the right practices are defined and followed to prevent defects, while quality control is reactive and product-focused, inspecting and testing deliverables to detect defects; both are parts of quality management.
- Does higher process maturity guarantee better software?
- Higher maturity tends to reduce variability and defect rates and improves predictability, but it is not a guarantee; maturity frameworks must be applied sensibly, and excessive process can hinder rather than help if it is not tailored to the organization's needs.