Study Notes: Quality Models
Table of Contents
- Part 1: What is Quality? (Garvin Framework)
- Part 2: Quality Models & Terminology
- Part 3: Classic Quality Models
- Part 4: Modern Practice (ISO + Requirements)
- Part 5: Quality Gurus
- Part 6: Summary & Review
Part 1: What is Quality? (Garvin Framework)
Learning Objectives
- Understand that quality is multi-dimensional
- Recognize that different stakeholders define quality differently
- Apply Garvin’s five views to real-world products
Garvin’s Five Views of Quality
David Garvin [1] identified five distinct perspectives on quality (see Views for full details). Each leads to different quality management approaches.
| View | Definition | Example | Approach |
|---|---|---|---|
| Transcendent | “I know it when I see it” | Rolex watch, Monet painting | Subjective judgment |
| Product-based | More of attribute X is better | Smartphone specs, diamond carats | Measurable attributes |
| User-based | Fitness for purpose | Toyota Corolla (reliable, low-maintenance) | Customer satisfaction |
| Manufacturing | Conformance to specifications | Zero defects in assembly | Process control |
| Value-based | Quality at acceptable cost | Budget airline ticket | ROI analysis |
Detailed View Descriptions
1. Transcendent View
- Quality is absolute and universally recognizable but cannot be precisely defined
- Often associated with excellence or “innate goodness”
- Example: A luxury watch like a Rolex is recognized as high quality because of its superior craftsmanship and prestige
- Criticism: Subjective and difficult to measure or operationalize
2. Product-Based View
- Quality is a precise and measurable variable based on product attributes
- More features or better performance equals higher quality
- Example: A smartphone with better resolution, longer battery life, and faster processing speed
- Criticism: Assumes all improvements are desirable, ignoring trade-offs like cost
3. User-Based View
- Quality is determined by the extent to which a product satisfies customer needs
- Different users = different quality definitions
- Example: A budget-friendly car like Toyota Corolla is high quality to customers who value reliability
- Criticism: Highly subjective and dependent on individual expectations
4. Manufacturing-Based View
- Quality is defined as conformance to specifications or being free from defects
- Focus on process excellence
- Example: A car produced with zero defects in the assembly line
- Criticism: Focuses on internal consistency but overlooks customer satisfaction
5. Value-Based View
- Quality is the balance between performance and cost
- Delivers the most value for its price
- Example: A budget airline ticket that meets expectations for basic transportation at low price
- Criticism: Overemphasis on cost-performance trade-offs can compromise safety
Practical Three-View Model
Most software organizations blend three views:
| Perspective | Definition | Methodology Emphasis |
|---|---|---|
| User-based | “Fitness for purpose” (Juran) | Agile |
| Manufacturing | “Conformance to requirements” (Crosby) | CMMI, process improvement |
| Value-based | Quality at acceptable cost | Business perspective |
Part 2: Quality Models & Terminology
Learning Objectives
- Define quality model and explain why it’s needed
- Understand the hierarchy: Characteristics → Attributes → Measures
- Distinguish between QA, QC, and related terms
Why Quality Models Are Needed
Quality models solve the “I know it when I see it” problem:
- Shared vocabulary — Common language for quality requirements
- Measurement capability — Enable comparison and tracking
- Design guidance — Inform development decisions
- Trade-off analysis — Framework for understanding conflicts
Quality Model Definitions
Simple Definition:
A model with the objective to describe, assess, and/or predict quality.
ISO 25000 Definition:
A defined set of characteristics, and of relationships between them, which provides a framework for specifying quality requirements and evaluating quality.
Full Definition:
A structured specification of quality in terms of characteristics, attributes, their relationships, and corresponding measurement scales and methods.
Quality Model Hierarchy
Quality Model
├── Quality Characteristic (e.g., Reliability)
│ ├── Quality Attribute (e.g., Fault Tolerance)
│ │ ├── Measurement Scale
│ │ └── Measurement Method
│ └── Quality Attribute (e.g., Recoverability)
└── Quality Characteristic (e.g., Usability)
└── ...
Key Distinction:
- Characteristics are high-level (not directly measurable)
- Attributes can be measured
Internal vs External Quality
| Type | Visibility | Who Sees It | Examples |
|---|---|---|---|
| Internal (white-box) | Developers | Code metrics, cyclomatic complexity, code coverage | |
| External (black-box) | Users | Response time, availability, usability |
Key Terminology
| Term | Definition | Key Point |
|---|---|---|
| Quality Management (QM) | Plan, verify, remediate, improve | Overall umbrella term |
| Quality Planning (QP) | Identify requirements, activities, tools | Front-end planning |
| Quality Assurance (QA) | Provide confidence in quality | Focuses on process |
| Quality Control (QC) | Verify and correct | Focuses on product |
| Quality Improvement (QI) | Enhance process effectiveness | Continuous improvement |
Part 3: Classic Quality Models
Learning Objectives
- Explain McCall’s quality model structure (factors, criteria, metrics)
- List and categorize McCall’s 11 quality factors
- Understand quality attribute tradeoffs (Perry’s model)
McCall’s Quality Model
McCall [2] developed the first comprehensive software quality model for the US Air Force (see Models for full details).
Innovation: First structured approach to software quality Structure: 11 quality factors in 3 categories
The Three Categories
| Category | Focus Question | What It Covers |
|---|---|---|
| Product Operation | How well does it run? | Day-to-day functionality |
| Product Revision | Can we change it? | Maintenance and evolution |
| Product Transition | Can we move it? | Portability and integration |
McCall’s 11 Quality Factors
| Category | Factors | Description |
|---|---|---|
| Product Operation | Correctness | Meets specified requirements |
| Reliability | Performs without failure | |
| Efficiency | Uses minimal resources | |
| Integrity | Protected from unauthorized access | |
| Usability | Easy to learn and operate | |
| Product Revision | Maintainability | Easy to modify for corrections |
| Flexibility | Easy to modify for enhancements | |
| Testability | Easy to validate and verify | |
| Product Transition | Portability | Runs in different environments |
| Reusability | Components can be reused | |
| Interoperability | Works with other systems |
Three-Level Structure
McCall’s model has three levels:
- Factor — External view (what users see)
- Example: Reliability
- Criteria — Internal view (what developers control)
- Example: Simplicity, Modularity
- Metric — Measurement
- Example: Cyclomatic complexity
Key Insight: Same criterion can affect multiple factors!
- Example: Modularity → Maintainability AND Testability
Perry’s Quality Attribute Relationships
Perry [3] showed that quality attributes are not independent — they have relationships:
| Relationship Type | Symbol | Meaning |
|---|---|---|
| Direct | + | Both improve together |
| Inverse | − | Tradeoff (one improves, other worsens) |
| Neutral | (blank) | No relationship |
Key Tradeoffs to Know
| Attribute Pair | Relationship | Explanation |
|---|---|---|
| Integrity vs Efficiency | Inverse (−) | Access control adds overhead |
| Usability vs Efficiency | Inverse (−) | Better UI requires more code |
| Flexibility vs Integrity | Inverse (−) | Flexible data = security risks |
| Portability vs Reusability | Direct (+) | Both benefit from good structure |
| Maintainability vs Testability | Direct (+) | Well-structured code is easier to test |
Perry’s Tradeoff Matrix (Selected)
| Attribute | Efficiency | Maintainability | Reusability |
|---|---|---|---|
| Integrity | − | − | |
| Usability | − | + | |
| Testability | − | + | + |
| Portability | − | + | + |
Key Takeaway: You cannot maximize all quality attributes simultaneously. Quality engineering is about informed tradeoffs.
Part 4: Modern Practice (ISO + Requirements)
Learning Objectives
- List ISO 25010’s 9 quality characteristics
- Apply the 6-step process for writing quality requirements
- Write testable quality requirements using the template
- Explain Quality in Use and Process Quality
ISO/IEC 25010:2024 — 9 Characteristics
Use ISO 25010 as a checklist when writing requirements:
| # | Characteristic | Question It Answers |
|---|---|---|
| 1 | Functional Suitability | Does it do what it should? |
| 2 | Performance Efficiency | Is it fast/efficient enough? |
| 3 | Compatibility | Does it work with others? |
| 4 | Usability | Can users use it easily? |
| 5 | Reliability | Does it keep working? |
| 6 | Security | Is it protected? |
| 7 | Maintainability | Can we change it? |
| 8 | Portability | Can we move it? |
| 9 | Quality in Use | Do users succeed? |
Sub-Characteristics (Selected)
| Characteristic | Sub-Characteristics |
|---|---|
| Functional Suitability | Completeness, Correctness, Appropriateness |
| Performance Efficiency | Time Behavior, Resource Utilization, Capacity |
| Reliability | Maturity, Availability, Fault Tolerance, Recoverability |
| Security | Confidentiality, Integrity, Non-repudiation, Accountability, Authenticity |
| Maintainability | Modularity, Reusability, Analyzability, Modifiability, Testability |
6-Step Process: From ISO to Requirements
Source: Firesmith 2009
| Step | Action | Purpose |
|---|---|---|
| 1 | Determine Relevance | Which ISO characteristics matter for this project? |
| 2 | Consider Context | Review functional, data, interface requirements |
| 3 | Produce Criteria | Define quality criteria for each characteristic |
| 4 | Select Measures | Choose how to measure each criterion |
| 5 | Specify Requirements | Write testable requirements with thresholds |
| 6 | Evaluate | Validate completeness, testability, feasibility |
Warning: Skipping steps leads to vague requirements like “the system shall be fast.”
Worked Example: Search API Performance
Goal: Write a performance requirement for a search API
| Step | Action | Result |
|---|---|---|
| 1. Relevance | Performance Efficiency matters for UX | Selected |
| 2. Context | Users expect quick search results | Search is critical |
| 3. Criteria | Response time for search queries | Time-based criterion |
| 4. Measure | P95 latency (95th percentile) | Measurable metric |
| 5. Requirement | Write with template | Testable spec |
| 6. Evaluate | Testable? Feasible? Complete? | Approved |
Resulting Requirement:
While under normal load (< 1000 concurrent users), the Search API
shall respond in < 200ms, 95% of the time.
Quality Requirements Template
Template:
While in [condition], the [component] shall exhibit
[quality attribute] of [threshold] [measurement].
Examples:
| Requirement | Condition | Attribute | Threshold |
|---|---|---|---|
| API response time | Normal operation | Performance | < 200ms, 95% |
| Data integrity | Production | Reliability | 99.99% |
| System availability | Under load | Availability | > 99.9% |
| Login authentication | All users | Security | 0 unauthorized access |
Quality in Use
Definition (ISO 25010):
The degree to which a system achieves its intended purposes when used in a specific environment by specific users.
Five Quality in Use Characteristics
| Characteristic | Description | Example Requirement |
|---|---|---|
| Effectiveness | Users achieve goals | “90% of users complete checkout on first attempt” |
| Efficiency | Resources used appropriately | “Booking takes < 2 minutes for returning users” |
| Satisfaction | User attitudes | “NPS score > 50 in quarterly surveys” |
| Freedom from Risk | Economic, health, environmental | “No data loss during system failures” |
| Context Coverage | Works in all intended contexts | “Works on all major browsers” |
Key Insight: Product quality alone is insufficient. A perfectly maintainable system that users can’t use effectively has poor quality in use.
Different Stakeholders
| Need | User | Maintainer |
|---|---|---|
| Effectiveness | Complete task | Fix bugs |
| Efficiency | Fast workflow | Quick changes |
| Satisfaction | Enjoys using | Productive |
Process Quality Characteristics
Four characteristics (Kroeger & Davidson, 2009):
| Characteristic | What it Measures |
|---|---|
| Suitability | Does process fit the work? |
| Usability | Can people follow it? |
| Manageability | Can we plan, monitor, control? |
| Evolvability | Can we improve it? |
Key Insight: High quality process tends to produce high quality products (but not guaranteed!). Process quality is the focus of CMMI, ISO 9001.
Part 5: Quality Gurus
See Gurus for full details on each pioneer.
Learning Objectives
- Identify 7 key quality pioneers and their eras
- Match each guru to their key contribution
- Explain key concepts: PDCA, Zero Defects, Kano Model, Juran’s Trilogy
Timeline of Quality Pioneers
| Era | Period | Key Figures |
|---|---|---|
| Manufacturing Era | 1920s-1950s | Shewhart, Deming, Juran |
| Quality Movement | 1960s-1980s | Ishikawa, Crosby |
| Software Era | 1980s-2000s | Humphrey, Kano |
Lineage: Shewhart → Deming → Juran → Humphrey
Guru Quick Reference
| Guru | Years | One-Sentence Summary | Key Contribution |
|---|---|---|---|
| Walter Shewhart | 1891-1967 | Control of variation | PDCA Cycle, Statistical Process Control |
| W. Edwards Deming | 1900-1993 | Quality and productivity together | 14 Points for Management |
| Joseph Juran | 1904-2008 | Fitness for purpose | Juran’s Trilogy, Pareto Principle |
| Kaoru Ishikawa | 1915-1989 | Root cause analysis | Fishbone Diagram, Quality Circles |
| Philip Crosby | 1926-2001 | Conformance to requirements | Zero Defects, “Quality is Free” |
| Watts Humphrey | 1927-2010 | Father of software quality | CMM/CMMI, PSP, TSP |
| Noriaki Kano | 1940- | Not all attributes are equal | Kano Model |
Detailed Guru Profiles
Walter Shewhart (1891-1967)
Era: Manufacturing Key Concept: Control of Variation
Contributions:
- Statistical Process Control (SPC) — Using statistics to monitor manufacturing
- PDCA Cycle (Plan-Do-Check-Act):
- Plan: Identify issues and plan solutions
- Do: Execute the plan
- Check: Compare results with planned outcomes
- Act: Adjust based on findings
- Differentiated Special Cause (assignable) vs Common Cause (random) variation
Legacy: His 1924 memo at Western Electric contained “all of the essential principles… which we know today as process quality control” (George Edwards)
W. Edwards Deming (1900-1993)
Era: Manufacturing/Quality Movement Key Concept: Quality and productivity are NOT mutually exclusive
Contributions:
- Popularized PDCA Cycle (credited to Shewhart)
- System of Profound Knowledge:
- Systems thinking
- Understanding variation
- Theory of knowledge
- 14 Points for Management (selected):
- Create constancy of purpose
- Adopt new philosophy
- Cease dependence on inspection
- Drive out fear
- Remove barriers to pride
- Put everyone to work on transformation
Impact: Influenced Japanese manufacturing revolution
Joseph Juran (1904-2008)
Era: Manufacturing/Quality Movement Key Concept: Fitness for Purpose
Contributions:
- Fitness for Purpose — Quality means meeting customer needs
- Pareto Principle (80/20 Rule) — Focus on “vital few” problems
- Juran’s Trilogy:
- Quality Planning — Define objectives and processes
- Quality Control — Monitor performance and address deviations
- Quality Improvement — Continuously enhance processes
Quote: “Quality means freedom from deficiencies… Higher quality in this sense usually costs less.”
Key Insight: Quality features (what customers want) and defect reduction are both important but different. You need both.
Philip Crosby (1926-2001)
Era: Quality Movement Key Concept: Conformance to Requirements
Contributions:
- Zero Defects movement
- “Quality is Free” (1979 book) — Quality is about conformance, not luxury
- Quality is management responsibility
- Price of Non-Conformance (PONC) — Measure cost of poor quality
Quote: “It is always cheaper to do the job right the first time.”
Kaoru Ishikawa (1915-1989)
Era: Quality Movement Key Concept: Root Cause Analysis
Contributions:
- Quality Circles — Self-organized groups for problem-solving
- Ishikawa (Fishbone) Diagram — Tool for root cause analysis
- Seven Tools of Quality:
- Flowcharts
- Pareto diagrams
- Cause-effect diagrams (Fishbone)
- Histograms
- Control charts
- Scatter diagrams
- Check sheets
Noriaki Kano (1940-)
Era: Quality Movement/Software Era Key Concept: Not All Attributes Are Equal
The Kano Model [4] — Three types of quality attributes:
| Type | Effect | Example | Behavior |
|---|---|---|---|
| Must-Haves | Absence = dissatisfaction | Car has brakes | Expected baseline |
| Satisfiers | More = better | Fuel efficiency | Linear relationship |
| Delighters | Unexpected pleasure | Heated steering wheel | Excitement factor |
Critical Insight: Over time, delighters become must-haves!
Watts Humphrey (1927-2010)
Era: Software Era Title: Father of Software Quality
Humphrey [5] established the foundations of software process improvement.
Quote: “While software functions are most important to users, these functions are not usable unless the software runs. To get software to run, engineers must remove almost all its defects.”
Contributions:
- CMM/CMMI — Capability Maturity Model
- TSP — Team Software Process
- PSP — Personal Software Process
- Eight Steps for Quality Software:
- Establish quality policies and goals
- Train and support developers
- Maintain requirements quality management
- Apply statistical control to software processes
- Review all product artifacts
- Analyze and correct defects
- Manage configuration and change control
- Continuously improve processes
Part 6: Summary & Review
Six Key Takeaways
-
Quality is multi-dimensional — Garvin’s 5 views help understand different perspectives
-
Quality models provide structure — Framework for requirements, design, evaluation
-
Models evolved over time — McCall (1977) → ISO 9126 → ISO 25010 (2024)
-
Tradeoffs are inevitable — Cannot maximize all attributes simultaneously
-
Quality in Use matters — User outcomes, not just product properties
-
Gurus shaped thinking — Shewhart → Deming → Juran → Humphrey
Quick Reference Tables
Garvin’s 5 Views
| View | Key Word | Example |
|---|---|---|
| Transcendent | Excellence | Art |
| Product-based | Features | Specs |
| User-based | Purpose | Satisfaction |
| Manufacturing | Conformance | Defects |
| Value-based | Cost | ROI |
McCall’s 11 Factors (by Category)
| Operation | Revision | Transition |
|---|---|---|
| Correctness | Maintainability | Portability |
| Reliability | Flexibility | Reusability |
| Efficiency | Testability | Interoperability |
| Integrity | ||
| Usability |
ISO 25010 Characteristics (9)
| Product Quality (8) | Quality in Use |
|---|---|
| Functional Suitability | Effectiveness |
| Performance Efficiency | Efficiency |
| Compatibility | Satisfaction |
| Usability | Freedom from Risk |
| Reliability | Context Coverage |
| Security | |
| Maintainability | |
| Portability |
Gurus and Their Contributions
| Era | Guru | Key Concept |
|---|---|---|
| Manufacturing | Shewhart | PDCA, SPC |
| Manufacturing | Deming | 14 Points |
| Manufacturing | Juran | Trilogy, Pareto |
| Quality Movement | Ishikawa | Fishbone, 7 Tools |
| Quality Movement | Crosby | Zero Defects |
| Software | Humphrey | CMM, PSP, TSP |
| Software | Kano | Kano Model |
References
Primary Sources:
- Quality Views Framework [1]
- Software Quality Factors [2]
- Quality Attribute Relationships [3]
- Software Design Methodology [6]
- Software Quality Theory [7]
- Software Process Improvement [5]
- Kano Model [4]
Standards:
- ISO/IEC 25010:2024 — Systems and software Quality Requirements and Evaluation (SQuaRE)
- ISO/IEC 25000 — SQuaRE Guide
- ISO 9126 — Software Product Quality (superseded)
SQRBOK Pages:
- D. A. Garvin, “What Does ‘Product Quality’ Really Mean?,” Sloan Management Review, p. 25, 1984.
- J. A. McCall, P. K. Richards, and G. F. Walters, “Factors in Software Quality. Volume I. Concepts and Definitions of Software Quality,” GENERAL ELECTRIC CO SUNNYVALE CA, Nov. 1977. Accessed: January 19, 2022. [Online]. Available at: https://apps.dtic.mil/sti/citations/ADA049014
- W. E. Perry, Effective methods of EDP quality assurance: 2nd edition. USA: QED Information Sciences, Inc., 1988.
- N. Kano, N. Seraku, F. Takahashi, and S. Tsuji, “Attractive quality and must-be quality,” 1984.
- W. S. Humphrey, Managing the software process. Addison-Wesley Longman Publishing Co., Inc., 1989.
- H. Zhu, Software Design Methodology: From Principles to Architectural Styles. Elsevier, 2005.
- A. Gillies, Software Quality: Theory and Management. Lulu.com, 2011.
Disclaimer: AI is used for text summarization, polishing and explaining. Authors have verified all facts and claims. In case of an error, feel free to file an issue.
Next Lecture: Measurement — How to quantify quality