Quality Management
Quality cannot be bolted on after a system is built: it has to be built in from the start. This Part covers what "quality" means, what it costs to get it (and to skip it), the three quality processes, the reviews, audits and tests that check it, and the standards and models that pin it down.
- You willquote the three definitions of quality and sort any cost into prevention, appraisal, internal failure or external failure.
- You willtell quality planning, QA and QC apart, and verification from validation, and classify an activity the way this course does.
- You willexplain how walkthroughs, Fagan inspections and audits run, who does what, and why reviews pay.
- You willuse CMM, McCall and ISO/IEC 25010 to write measurable quality goals, as in the Medic quality plan.
What Is Software Quality?
Everyone wants "high-quality software", but you cannot plan, check or pay for something nobody has defined. The lecture's central message is that quality cannot be bolted on after the system is built; it has to be built in from the start (W06 slides). Software Quality Management is the planning, assurance and control work that builds it in. Before any of that work can start, the team needs to agree what "quality" means for this product.
Three definitions to quote exam
The course gives three definitions. They are worth learning word for word, because each one points at a different yardstick you can measure the product against.
- Conformance to requirements (Crosby): the product meets its written specification, so any deviation from the specification is a defect.
- Fitness for use (Juran): the product can be used as intended and meets real needs, including the unwritten ones.
- ISO/IEC 25010: the "degree to which the system satisfies the stated and implied needs of its various stakeholders". A stakeholder is anyone affected by or with an interest in the system: users, the client who pays, operators, maintainers.
Two viewpoints: the end user and the developer
The slides contrast how the two groups who live with the software see quality. An end user wants software that is fit for purpose, reliable and of reasonable performance, easy to learn and use, and that helps them reach their goals. Users will even accept a hard-to-learn function if it is important enough to them. These are external characteristics: they are about the software's behaviour, which you can see without opening it up.
A developer looks mainly at internal characteristics, which are about the software's structure: the number of faults, how easy it is to modify and test, whether the design is understandable, how reusable it is, whether it conforms to the requirements, its resource usage and its performance.
Many views, one definition per project
Because quality can be seen in several ways, CISQ (the Consortium for Information & Software Quality, 2022) suggests building a definition for each project from four aspects. The two famous definitions above are the first two; the third brings in published standards; the fourth is the quality of the code itself.
Pressman also reports Garvin's five views of quality, which are useful for recognising which view a speaker is taking:
| Garvin's view | What "quality" means from this view |
|---|---|
| Transcendental | Something you recognise when you see it but cannot quite define. |
| User | How well the product meets this user's goals (close to Juran's fitness for use). |
| Manufacturing | Conformance to the specification (Crosby's view). |
| Product | The product's inherent features and characteristics. |
| Value-based | How much quality the customer is willing to pay for. |
Quality is relative to the application
Whichever view you take, quality is relative to the application (Cavano & McCall 1978). Spaceflight software needs far more reliability than a teaching program, and being "10% faster" is not "better" if memory, not speed, is the real constraint. That is why a project must make its quality goals explicit and measurable: "good" means nothing until you say good at what, and how good.
Check yourselfA system meets every line of its signed-off specification, but nurses find it so slow at the bedside that they go back to paper. Under which definition(s) is it high quality, and under which is it not?
Under conformance to requirements (Crosby) it is high quality: there is no deviation from the written spec. Under fitness for use (Juran) it fails, because it cannot be used as intended. Under ISO/IEC 25010 it also fails: an implied need of its stakeholders (usable speed at the bedside) is not satisfied. The lesson is that the spec itself can be incomplete, which is why validation with real users matters (§7.5).
Check yourselfSelect all that apply. Which of these are internal quality characteristics, the developer's view?
- The design is understandable
- The software is easy to learn
- The code is easy to modify and test
- The software helps the user reach their goals
- Reusability
A, C and E. They are about structure, which only someone looking inside can judge. B and D are external characteristics, about behaviour the end user experiences.
- Quote three definitions: conformance to requirements (Crosby), fitness for use (Juran), and ISO/IEC 25010's "stated and implied needs of its various stakeholders".
- Users see external quality (behaviour); developers see internal quality (structure). CISQ combines four aspects into a per-project definition.
- Quality is relative to the application, so goals must be explicit and measurable.
The Cost of Quality
Quality work is not free: reviews, tests and training all take people's time. But skipping that work is not free either, because defects that get through must be fixed later, often at a much higher price. The cost of quality puts both sides on one ledger so you can argue about the trade-off with numbers instead of opinions.
Conformance and nonconformance exam
The slides, following Schwalbe, split the total in two:
cost of quality = cost of conformance + cost of nonconformance
- The cost of conformance is the cost of delivering products that meet requirements and are fit for purpose, through quality planning, requirements analysis and testing. It is money spent on purpose to get things right.
- The cost of nonconformance is the cost of taking responsibility for failures, or for not meeting quality expectations. It is money spent because things went wrong.
Each part divides into two categories. Prevention stops defects being made in the first place; appraisal finds defects by checking the work. On the failure side, internal failure and external failure differ only in when the defect is found: before release or after it.
| Category | Type | Software examples |
|---|---|---|
| Prevention | conformance | Quality planning, training, coding standards, TDD (test-driven development, §7.9), process improvement |
| Appraisal | conformance | Reviews, inspections, testing, audits, static analysis (tools that check code without running it), CI pipelines (§7.10) |
| Internal failure | nonconformance | Defects found before release: rework, re-testing, schedule slip |
| External failure | nonconformance | Defects found after release: patches, support, lost sales, reputation, lawsuits, harm |
Schwalbe adds a fifth category, measurement and test equipment. The timing matters a great deal: CISQ (2022) puts external deficiency costs an order of magnitude (about ten times) above internal ones.
The Medic case study, the tutorials' running case, is a haptic virtual-reality trainer for temporal-bone (ear) surgery built for the hospital client RVEEH; §7.13 describes it in full. Its ethics addendum shows external failure at its worst: a buggy mock-up was shipped, and the vendor ended up issuing a patch, losing the client's trust and being sued (Part IX). Every one of those costs is in the bottom row of the table.
QA processes cost time, money and people: that is the cost of conformance. Skipping them risks expensive fixes later: the cost of nonconformance. The slides' example is a team that says "Skip the formal requirements review; build it, get user feedback, fix faults then". That is a risk, because the total cost of getting the software right rises the later issues are found. In an answer, name both costs and say which one the decision trades for the other.
Worked example: does a requirements inspection pay for itself?
This example puts numbers on the trade-off. Assume a project has 50 requirements defects, and measure effort in a unit X = 2 hours. The relative cost of fixing a requirements defect depends on the stage where it is found (NIST 2002): 1X during requirements, 5X in coding, 10X in system test, 15X in beta and 30X post-release.
- The cost curve across the top: fixing a requirements defect costs 1X at requirements, 5X in coding, 10X in system test, 15X in beta and 30X post-release, with 1X = 2 h. There are 50 requirements defects to deal with.
- Scenario A, no inspection. Nobody checks the requirements, so every defect surfaces later: 20 in coding, 20 in system test, 6 in beta and 4 post-release (20 + 20 + 6 + 4 = 50).
- Multiply each count by its stage cost. 20×5 + 20×10 + 6×15 + 4×30 = 100 + 200 + 90 + 120 = 510X = 1,020 h. Internal failure (coding + system test) = 300X = 600 h; external failure (beta + post-release) = 210X = 420 h.
- Scenario B: hold an inspection. Five people each spend 4 h preparing and 2 h in the meeting, plus 10 h of moderator time: 5 × (4 + 2) + 10 = 40 h. This is an appraisal cost, paid up front.
- The inspection finds 30 defects, fixed at 1X. The other 20 slip through and surface in coding (8), system test (8), beta (2) and post-release (2).
- Failure cost = 30 + 40 + 80 + 30 + 60 = 240X = 480 h. Add the 40 h inspection: total = 520 h.
- Compare. 1,020 − 520 = 500 h saved, about 49% (500 ÷ 1,020). External defects fall from 10 to 4, so users also see fewer failures. Spending 40 h on conformance saved 540 h of nonconformance.
Sensitivity: the answer depends on the curve
The saving comes entirely from the rising cost curve. If the cost to fix were flat, 1X at every stage (which is roughly what Menzies and colleagues found, §7.3), scenario A would cost 50 × 1X = 50X = 100 h, and B would cost 40 h + 50 × 1X = 140 h. The inspection would then cost more than it saves, and could be justified only by the fewer escaped defects and the reduced harm to users. So in an answer like this, state your assumptions.
Check yourselfClassify each cost as prevention, appraisal, internal failure or external failure: (a) training developers in the coding standard; (b) static analysis running in the CI pipeline; (c) re-testing after fixing a defect found in system test; (d) a lawsuit after a buggy release; (e) running an inspection of the SRS.
(a) Prevention: it stops defects being made. (b) Appraisal: it checks work for defects. (c) Internal failure: rework and re-testing before release. (d) External failure: the defect reached the client. (e) Appraisal, like any review or inspection. (a), (b) and (e) are costs of conformance; (c) and (d) are costs of nonconformance.
Check yourselfIn the worked example, why do the inspection's 30 defects still count as a failure cost (30X), when the inspection itself is appraisal?
Because finding and fixing are different things. The inspection (40 h of preparing and meeting) is appraisal: it is the checking. Fixing the 30 defects it finds is rework on something that was done wrong, which is a failure cost, just a cheap one at 1X each. That is why the guide adds 30X into the 240X failure total and the 40 h separately.
- Cost of quality = conformance (prevention + appraisal) + nonconformance (internal + external failure). Internal vs external is purely about whether the defect is found before or after release.
- Spending a little on conformance can save a lot of nonconformance: a 40 h inspection saved 500 h (about 49%) in the worked example.
- That result depends on the rising cost curve; with a flat curve the inspection costs 40 h more. State your assumptions.
Why Late Defects Cost More (and When They Don't)
The worked example in §7.2 assumed that a defect costs more the later it is found. That assumption drives most arguments for early reviews, so it is worth knowing why it might be true, what evidence supports it, and what evidence questions it. The exam rewards a balanced answer here.
Where the extra effort comes from
The slides split the extra effort a late issue causes into three parts. The later the issue is found, the bigger the first two parts grow, because more work has been built on top of the mistake.
- Effort already spent getting it wrong. The design, code and tests built on a wrong requirement may all have to be undone.
- Resolution-process effort, such as getting a change approved through change control (Part X).
- Fix effort, which may be minor (changing a display colour), significant (rebuilding a workflow) or a project-stopper (the architecture cannot handle the transaction throughput).
All of this assumes the issue is fixed. If it is left unfixed, the cost does not vanish: it becomes nonconformance, paid by users and by the organisation's reputation.
Evidence that early detection pays exam
Several sources put numbers on the cost of poor quality. You do not need every figure, but you should be able to quote one or two from each source and say what they show.
CISQ 2022 (US) estimates that the cost of poor software quality is at least $2.41 trillion, about 10.32% of GDP ($23.35 T). Finding and fixing defects accounts for $607 billion of that. Over a large system's life, nearly half of every dollar goes on finding and fixing bugs. Technical debt, the future cost of shortcuts already taken in the code, is about $1.52 T and is reported separately.
NIST 2002 found that inadequate testing costs the US $59.5 B a year, of which $22.2 B is avoidable. According to the slides, a bug found in coding or unit testing takes about 4.9 h to fix, while one found after release takes about 15.3 h, roughly three times as long.
Boehm (1981) reported a factor of up to about 100× for requirements errors found in operation on large projects; the curve is flatter on small projects. Finally, the slides point to the human cost of defects: the 1991 Patriot missile bug and the troop deaths that followed, and radiation-therapy overdoses that killed patients. Some external failures cannot be "fixed" at any price.
The counter-evidence: Menzies et al. (2016) exam
Menzies, Nichols, Shull & Layman (2016) tested the delayed issue effect (DIE): the idea that the longer an issue lingers, the harder it is to fix. They studied 171 projects (2006–2014) that used the TSP (Team Software Process, a disciplined, heavily measured way of working). They found no consistent or substantial increase in resolution time for issues fixed later. They also point out that nearly all citations of the DIE trace back to Boehm's 1970s data.
Menzies and colleagues offer five explanations for why the DIE did not show up. The DIE may be:
- a relic of the punch-card era, when any change was slow and costly;
- intermittent rather than a law;
- confined to very large systems;
- reduced by change-friendly methods such as agile;
- reduced by modern tools such as refactoring, version control and CI.
The 171 projects were disciplined projects that already used reviews and inspections, so early defect removal was already happening. The authors accept that the DIE may still hold for high-assurance systems or complex architectures.
Early removal is still sound risk management for requirements, architecture and safety-critical work (such as Medic), but do not assume "100×". Agile practices and CI exist precisely to flatten the curve. Quote NIST/CISQ and Menzies.
Check yourselfWhich statement best summarises Menzies, Nichols, Shull & Layman (2016)?
- Late fixes cost about 100× more on every project, confirming Boehm.
- On 171 TSP projects, issues fixed later took no consistently or substantially longer to resolve.
- Reviews and inspections are unnecessary on modern projects.
- The delayed issue effect is a law that holds for all small systems.
B. A is Boehm's claim (and only up to about 100× on large projects). C goes beyond the paper: the projects studied did use reviews and inspections, which may be part of why the effect was absent. D is backwards: one explanation is that the DIE is confined to very large systems.
Check yourselfSelect all that apply. Which are among Menzies et al.'s five explanations for the missing delayed issue effect?
- It is a relic of the punch-card era
- Testers in TSP projects were more experienced
- It is reduced by modern tools such as refactoring, version control and CI
- It is confined to very large systems
- Requirements are no longer written down
A, C and D. The other two explanations are that the DIE is intermittent rather than a law, and that change-friendly methods such as agile reduce it. B and E are not in the list.
- A late issue costs the work already built on it, the resolution process and the fix; the fix may be minor, significant or a project-stopper.
- For: CISQ 2022 ($2.41 T; $607 B on finding and fixing), NIST 2002 ($59.5 B, $22.2 B avoidable; 4.9 h vs 15.3 h), Boehm (up to ≈100× on large projects), and the human cost.
- Against: Menzies et al. 2016 found no consistent increase on 171 TSP projects. Conclude that early removal is sound risk management, but don't assume 100×.
Planning, Assurance and Control exam
"Doing quality" is really three different jobs: deciding what good looks like, setting up the way of working that produces it, and checking that the results actually meet it. Mixing these up is one of the commonest ways to lose marks, so the course gives each its own name, definition and output. The definitions come from Schwalbe.
"Identifying which quality standards are relevant to the project and how to satisfy those standards."
Output: the Software Quality Plan (SQP, also called the SQAP), §7.6.
"Periodically evaluating overall project performance to ensure the project will satisfy the relevant quality standards." Primarily about defining or selecting the standards; includes V&V and testing.
Outputs: standards, processes, V&V.
"Monitoring specific project results to ensure that they comply with the relevant quality standards", and finding ways to improve. It checks that the SQP's procedures are followed.
Outputs: review and audit results, defect data, corrective actions.
The three processes form a loop. Planning sets standards and measurable goals; assurance puts processes, V&V and testing in place to meet them; control checks the results. Control then sends corrective action back to planning (change the plan or the standard) and defects back to assurance to be fixed.
The slides also draw QC watching each step of the work from three sides: its input (is what we were given good enough?), its process (are we doing it the agreed way?) and its output (is the result good?).
QA vs QC exam
The single most important contrast: QA looks at the process and tries to prevent defects; QC looks at the product and detects and corrects them. QA happens before and during the work ("are we set up to do this well?"); QC happens on the results ("did this particular thing come out right?").
| Quality Assurance | Quality Control | |
|---|---|---|
| Focus | Process | Product / results |
| Nature | Preventive | Detective, corrective |
| Examples | Choosing standards, defining review and test processes, planning audits in the SQP, training, CMMI | Inspecting a specific SRS, running tests, carrying out product and process audits, defect analysis (Pareto) |
An SRS (software requirements specification) is the document that records the requirements. Notice that QA defines the review process, but inspecting this particular SRS is QC: one is setting up the way of working, the other is checking one result.
Where do audits belong? This course's answer
An audit is an independent check that work conforms to defined standards (§7.8). Textbooks often file process audits under QA, because they are about the process. This course files them under QC: the W06 slides list audits, both product and process audits, under "Quality Control and Monitoring" as a type of technical review. The quality plan's process description still names audits among the QA processes, so the safe split is:
If an exam question asks you to classify "a process audit", answer QC (the slides' classification) and, if there is room, add one line: "planning the audit in the SQP is QA". Writing "process audit = QA" because it is about the process contradicts the slides.
Why QA concentrates on process (2000 Q8a)
A predecessor subject's exam (433-443, 2000 Q8a) asked why QA focuses on process rather than product. The guide's answer has four parts:
Product follows process
Product quality largely follows from the process that produced it.Prevention is cheaper
Preventing defects costs less than finding them (§7.2).You can't test it in
Quality cannot be tested in, and testing cannot prove the absence of defects.Benefits repeat
A process improvement helps every future product, not just this one.Check yourselfSelect all that apply. Which of these are QC activities in this course?
- Writing the team's coding standard
- Carrying out an audit that checks the change-control process was followed
- Running the system test suite on release candidate 3
- Training new staff in the review process
- Drawing a Pareto chart of last month's defects
B, C and E. Each checks specific results after the work: a process audit (QC by the slides' classification), tests on one build, and defect analysis. A (choosing a standard) and D (training) are preventive, process-focused QA.
Check yourselfMatch each output to its process: (i) defect data; (ii) the SQP; (iii) the team's defined test process; (iv) corrective actions.
(i) QC. (ii) Planning quality. (iii) QA (standards, processes, V&V). (iv) QC, which feeds them back to planning.
- Planning picks the standards (output: SQP); QA sets up processes, V&V and testing to meet them; QC monitors specific results (outputs: review/audit results, defect data, corrective actions).
- QA = process, preventive. QC = product/results, detective and corrective.
- In this course, carrying out any audit (product or process) is QC; planning it is QA.
QA: Standards, V&V and Testing
Quality assurance needs concrete tools, or it is just good intentions. It works through three things: the standards the team adopts, verification and validation, and testing.
Product standards and process standards
A standard is an agreed, written rule for how something must look or be done. The slides distinguish two kinds. Product standards apply to what the team produces; process standards apply to how the work is done.
Verification vs validation exam
V&V is the pair of checks every artefact faces. Verification asks whether you are building the system right: does each artefact faithfully follow the one before it? Validation asks whether you are building the right system: does the product actually meet the stakeholders' needs? A perfectly verified system can still fail validation if the requirements themselves were wrong.
| Verification | Validation | |
|---|---|---|
| Question | Building the system right? | Building the right system? |
| Compares | Two artefacts: requirements vs design, design vs code | The product vs stakeholder needs |
| Who | Internal developer activity | Involves someone external (users, client) |
| Techniques | Reviews, inspections, unit/integration/system tests | Prototypes, demos, sprint reviews, UAT, usability tests |
Testing at four levels
The slides call testing "one form of verification", done in every phase, not just at the end. It works at four levels, each with a wider scope than the last:
To these four levels you can add regression testing (re-running existing tests after every change to catch anything that broke; it is the core of CI, §7.10), as well as performance, security, usability and exploratory testing. The V-model (Part II) pairs each specification level with a test level, so each test level has a document to verify against.
The Agile Testing Quadrants
Agile teams use a 2 × 2 grid to make sure their tests cover more than unit tests. The quadrants sort tests along two axes: do they face the business or the technology, and do they support the team (guide development) or critique the product (find what is wrong with it)? Each quadrant has a typical way of being run.
Check yourselfVerification or validation? (a) Checking the design against the SRS. (b) Surgeons trying the drilling module at a sprint review. (c) A unit test of the force calculation. (d) A usability test with trainees.
(a) Verification: two artefacts compared, internal. (b) Validation: the product against stakeholder needs, with external people. (c) Verification: unit tests are listed as a verification technique. (d) Validation: usability tests with real users.
Check yourselfA team runs a load test that simulates 500 simultaneous users. Which Agile Testing Quadrant is it in, and why?
Q4 (technology-facing, critiquing the product, run with tools). It examines a technical quality ("-ility") of the finished product rather than guiding development, and it needs specialist load-testing tools.
- Product standards govern what is produced (templates, structures, coding standards); process standards govern how (review conduct, release, change control).
- Verification = building the system right (artefact vs artefact, internal); validation = building the right system (product vs needs, external people).
- Testing is one form of verification, at four levels: unit, integration, system, UAT (strictly validation). The Agile Testing Quadrants (Q1–Q4) check a team's tests cover both business and technology, both support and critique.
Quality Planning: the Software Quality Plan
Planning quality produces one document, the Software Quality Plan (SQP, or SQAP for Software Quality Assurance Plan). It is the contract the rest of the quality work follows: assurance implements it and control checks against it. Without it, a reviewer has nothing objective to check against, and "quality" turns back into opinion.
The SQA Plan template exam
The slides' template has six parts. Part 3 is the heart of it: the plan must not just list quality attributes but justify which ones are critical for this product.
- The product overview describes the product, its market and the quality expectations.
- The product plan gives the critical release dates and responsibilities.
- The quality goals identify the critical quality attributes and justify why they are critical.
- The process description sets out the QA processes, such as reviews, audits and testing.
- The document and coding standards are stated.
- Risks and risk management covers the risks to quality and their responses, linked to the risk register (Part IV).
The course's PMP template (Part V) adds two things. The first is quality roles: the sponsor (the senior person who funds and champions the project) approves the standards and signs off; the PM implements the plan; and quality specialists keep the QA/QC logs. The second is a quality baseline table, which lists each item with its acceptable level, for example "recognition ≥ 98%". A baseline here is the agreed reference level that results are measured against.
"The system shall be fast and user-friendly" gives QC nothing to check. "A saved model is restored in under 10 s on the reference hardware" does. If you write quality goals in an exam answer, give each one a number and a way of measuring it (§7.13 shows the Medic versions).
Check yourselfA draft SQP lists "reliability, usability, performance" under quality goals and nothing else. What is missing, by the slides' template?
Part 3 asks for the identification and justification of the critical quality attributes. The draft identifies them but does not say why each is critical for this product, and (by the PMP's quality baseline) gives no acceptable level for each, so nothing is measurable. A good entry reads like: "Performance: critical because lag destroys realism; target: haptic loop ≥ 1 kHz."
The SQP's six parts: product overview, product plan, quality goals (critical attributes, justified), process description (reviews, audits, testing), document and coding standards, and risks. The course PMP adds quality roles (sponsor, PM, quality specialists) and a quality baseline of items with acceptable levels.
Reviews and Inspections
Testing needs something that runs. Most expensive defects, though, are born in requirements and designs, long before there is code to run. Reviews, where people examine an artefact, are quality control's tool for those early artefacts, and they turn out to catch many code faults too. Together with audits and defect analysis (§7.8), they make up QC.
Three kinds of review
The slides describe three kinds of review, which differ in what is being checked and who is checking it.
Technical review
Verification and validation of an artefact (a design, some code, an SRS) by the author's peers.Management review
The PM presents the actual scope, schedule, budget, resources and quality against the baseline, and issues are resolved, for example by reallocating resources or changing course.Business review
Checks that the solution delivers the scoped functionality and that each deliverable is (1) complete, (2) sufficient for the next phase and (3) compliant with standards.Technical reviews, and why they pay exam
In a technical review, artefacts are reviewed by peers, with the author involved. It is called a "soft" method because nothing is executed: people read and reason. Reviews have their sceptics, but the empirical evidence says the scepticism is unjustified. The slides give five advantages:
- Reviews work on any artefact, whereas testing and measurement need executable artefacts.
- They detect problems earlier, and earlier detection means lower resolution cost (§7.2).
- Code reviews find 30–70% of faults (up to 80% at IBM), and reviews and testing each find faults the other misses.
- A review finds the actual fault, whereas testing only shows that one exists somewhere.
- Under release pressure, fixing faults found by testing introduces more mistakes than fixing faults found by review.
The disadvantages: reviews take time and resources, and they need careful planning. Advantage 4 is easiest to see in a picture. A fault is the mistake in the artefact; a failure is the wrong behaviour it causes when the program runs.
A team's Definition of Done (DoD, the shared checklist every item must meet to count as finished, Part VI) may include a review ("peer reviewed and merged"), but a review is not itself the DoD.
Informal and formal reviews
The slides divide reviews into informal and formal reviews, and divide formal reviews further into walkthroughs, inspections / code reviews and audits.
An informal review is a desk check or a chat with a colleague, with no procedure. It is much less effective than a formal review, because one reviewer brings no group diversity, but it is cheaper. Checklists of generic questions for that type of artefact help.
A formal review, in general, is a meeting of several stakeholders, such as developers, testers and the client. It has 3–5 members and lasts at most 90 minutes (attention fades after that). It has four roles and three possible outcomes:
Walkthrough vs inspection vs audit
The three kinds of formal review differ in who leads, how much preparation they need and what they are for. This is a favourite near-miss MCQ topic.
| Walkthrough | Inspection (Fagan) | Audit | |
|---|---|---|---|
| Led by | The author, who walks reviewers through the artefact | A moderator who is not the author | An independent auditor, possibly an external team; authors not involved |
| Preparation | Not needed | Mandatory: checked against a checklist beforehand | Audit plan and checklist |
| Meeting | Defects found and solutions discussed | Minor defects collated outside the meeting; substantial ones and possible solutions discussed | Examines a sample (random or targeted) of objective evidence |
| Purpose | Understanding, finding defects | Maximum, measurable defect detection | Conformance to defined standards: product audit (product meets standards) or process audit (team follows processes) |
Inspection checklists
A code inspection uses a checklist based on the coding standard. The slides' requirements-inspection checklist covers five areas:
Organisation and completeness
Cross-references, consistent detail, an adequate basis for design, priorities, interfaces, coverage of all needs, error behaviour.Correctness
No conflicts; unambiguous, verifiable, in scope and feasible; TBDs ("to be decided" items) marked.Quality attributes
Performance, security and safety goals are quantified.Traceability
Unique IDs, and each requirement traced upward to its source.Special issues
No design solutions written into requirements; timing criteria; internationalisation.The Fagan inspection process
The guide gives the standard six-stage Fagan inspection process (standard knowledge rather than a slide). Major rework sends the artefact all the way back to planning for a fresh inspection.
- An inspection is the most rigorous peer review: it aims at maximum, measurable defect detection. It runs through six stages, with the moderator (never the author) in charge throughout.
- Planning. The moderator plans the review, picks the team (3–5 people, ideally with different perspectives), gathers the artefact and its checklist, and books a meeting of at most 90 minutes.
- Overview. The team is briefed on the artefact and its purpose, so inspectors understand what it is meant to do before they look for what is wrong with it.
- Individual preparation (mandatory). Each inspector checks the artefact alone against the checklist and notes defects. Minor defects can be collated outside the meeting, so meeting time goes on the substantial ones.
- Inspection meeting. The reader paraphrases the artefact to pace the meeting; inspectors raise defects; the recorder logs each defect with its location and severity; the moderator keeps the talk on defects, not redesign or blame, and decides the outcome.
- Rework. The author fixes the logged defects.
- Follow-up. The moderator checks that the rework really fixed each defect, and closes the inspection.
- Major rework loops back. If the rework was substantial (the outcome was "reject"), the changed artefact goes back to planning and is inspected again, because big changes can introduce new defects.
Peer-review roles exam
These are the classic role names, with the slides' names in brackets. A predecessor exam (1999 Q11) asked for exactly this list.
Defects vs adequacy (1999 Q10) exam
A review looks for more than defects. A defect is a specific error. Adequacy is about the artefact as a whole: whether it is fit for its purpose and for the next phase, which means it is complete, has the right level of detail, is consistent, complies with standards and is verifiable.
When the author strongly disagrees (1999 Q12) exam
Reviews can get heated. When the author strongly disagrees that something is a defect, there is no vote and no endless debate. The meeting's job is to find defects, not to settle arguments, so the dispute is moved out of the room:
Check yourselfA developer books a meeting, puts her design on the screen and talks three colleagues through it; nobody has seen it before, and they discuss fixes as they go. Which review is this?
- An inspection
- A walkthrough
- An audit
- An informal review
B, a walkthrough. The author leads, there was no preparation, and solutions are discussed in the meeting. It is not an inspection (that needs a moderator who is not the author and mandatory checklist-based preparation), not an audit (authors are not involved), and not informal (it is a meeting of several people with a procedure).
Check yourselfSelect all that apply. Which are advantages of technical reviews given in the slides?
- They work on any artefact, not only executable ones
- They prove the absence of defects
- They locate the actual fault, not just its symptom
- Code reviews find 30–70% of faults (up to 80% at IBM)
- They need no planning
A, C and D. B is false for reviews and testing alike: nothing proves the absence of defects. E is the opposite of the slides' disadvantage: reviews take time and resources and need careful planning.
Check yourselfIn an inspection meeting, who (a) paces the meeting, (b) decides the outcome, (c) logs the severity of each defect, (d) fixes the defects?
(a) The reader, by paraphrasing the artefact. (b) The moderator (review leader). (c) The recorder. (d) The author, during rework; the moderator then checks the rework at follow-up.
- Reviews are technical, management or business. Technical reviews work on any artefact, find faults early and locate them, and find 30–70% of code faults (up to 80% at IBM).
- Formal reviews: 3–5 people, ≤ 90 min, leader/author/reviewers/recorder, outcome accept, accept with changes or reject. Walkthrough = author-led, no prep; inspection = moderator-led, mandatory checklist prep; audit = independent, author not involved, checks conformance.
- Fagan: planning, overview, preparation, meeting, rework, follow-up. Disagreements become open issues decided outside the meeting.
Audits and Pareto Analysis
Reviews look at artefacts one at a time. Quality control also needs two wider views: is the team actually following its agreed procedures (an audit), and where do most of our defects come from (defect analysis, such as a Pareto chart)? Both turn scattered evidence into a decision about what to fix first.
Product audits and process audits
An audit is led by an independent auditor, possibly an external team, and the authors are not involved. It examines a sample (random or targeted) of objective evidence and checks conformance to defined standards. There are two kinds, and in this course both are QC (§7.4).
The seven audit steps
An audit follows seven steps (an older exam topic). The stepper runs them on the predecessor exams' scenario (1999 Q13 and Q17): auditing a documentation procedure that covers the project's main documents (SPMP project plan, SRS, SDD design, STD test document, UM user manual, VDD version description).
- An audit checks conformance using objective evidence. Its seven steps run from planning to a follow-up audit. The example below the boxes audits a documentation procedure.
- 1 · Plan the scope and the checklist. Decide what is audited (here: the six main documents) and write the checklist of what evidence to ask for.
- 2 · Hold an opening meeting with the audit guide, who will show the auditors where the records are kept.
- 3 · Gather objective evidence: records, version-control history, signed forms, not just interviews. "We always review documents" is a claim; a signed review form is evidence.
- 4 · Record the non-conformances: every place where the evidence shows the procedure was not followed. In the 1999 Q17 scenario, the procedure was followed in 80% of cases, with no evidence in 20%.
- 5 · Report the findings, each backed by the evidence seen.
- 6 · Agree corrective actions, with owners and dates. Find the root cause first: if the team's shortcut is genuinely as good, change the procedure formally; otherwise retrain and plan time for the procedure.
- 7 · Hold a follow-up audit on the agreed date to check that the corrective actions worked.
Pareto analysis
Pareto analysis is an older exam topic, not in the 2026 slides, but predecessor exams asked about it (2001 Q7). It rests on the 80/20 rule: about 80% of defects come from about 20% of causes. A Pareto diagram is a bar chart of defect counts by category, sorted in descending order, with a line showing the cumulative percentage. It picks out the "vital few" causes to fix first, and when it is re-plotted after action it shows the improvement.
Category Count Cumulative Requirements ambiguity 70 35.0% (70/200) Interface errors 50 60.0% (120/200) Logic errors 30 75.0% (150/200) UI layout 20 85.0% (170/200) Documentation 15 92.5% (185/200) Other 15 100.0% (200/200)
The method, in order:
- Classify the defects into categories.
- Count the defects in each category.
- Sort the categories in descending order.
- Plot the bars and the cumulative-percentage line.
- Act on the top categories.
- Re-measure, re-plot and check the improvement.
Check yourselfA Pareto chart of 400 defects shows "data validation" 160, "concurrency" 100, "UI" 60, "build scripts" 40, "other" 40. What are the cumulative percentages, and what should the team do first?
Already sorted, so accumulate: 160/400 = 40%; 260/400 = 65%; 320/400 = 80%; 360/400 = 90%; 400/400 = 100%. Data validation and concurrency are the vital few (65% of defects from two of five categories), so the corrective action targets those first, and the chart is re-plotted afterwards to show the improvement.
Check yourselfDuring an audit, the team lead says "trust me, we review every document". Is that objective evidence? What would be?
No: an interview answer is a claim, and step 3 asks for objective evidence, "not just interviews". Evidence would be the marked-up drafts and signed review forms for each issue, version-control entries showing the REVIEWED status, and the document register. If those are missing for some documents, that is a non-conformance to record.
- Audits check conformance from a sample of objective evidence: product audits (product vs standards) and process audits (team vs process), both QC in this course.
- Seven steps: plan, opening meeting, gather evidence, record non-conformances, report, agree corrective actions (owners, dates), follow-up audit.
- A Pareto chart sorts defect categories by count with a cumulative line, so action goes to the vital few first (80/20).
Agile Quality: Testing First
In a plan-driven project, testing can become a phase at the end, squeezed when the schedule slips. Agile teams cannot afford that, because they release every sprint. So they do not leave quality to a separate phase: in Scrum, each feature is tested within the sprint by the whole team. Acceptance criteria define "done" from the user's point of view, and the sprint review acts as a recurring acceptance check (T06; see Part VI).
The agile QA mindset: Crispin & Gregory's ten principles exam
Continuous feedback
Learn quickly whether the work is right.Deliver value to the customer
Not just meet technical requirements.Face-to-face communication
Between programmers, testers and business experts.Courage
To raise concerns and advocate for quality.Keep it simple
Simple code and simple tests.Continuous improvement
Of test processes and tools.Respond to change
Tests change as the product does.Self-organise
The team decides how to test.Focus on people
Over processes and tools.Enjoy
Testing is part of the craft, not a chore.Alongside the mindset, the slides give three working agile QA principles: (1) test early and often, which is called shift left; (2) automation; and (3) open feedback channels.
Shift-left testing
Draw the lifecycle left to right, and traditional testing sits near the right-hand end. Shift-left testing (IBM) moves testing earlier and more often, and involves testers from requirements onwards. Its practices include TDD, automation in CI/CD, early performance and security testing (static analysis), exploratory testing, and production-like environments. Shift-right testing, which means testing and monitoring in production, complements it.
The benefits are cheaper fixes (§7.2), the confidence to deploy often, and a more testable architecture. The danger is that testing implementation details makes brittle tests that break whenever the code is restructured, even though its behaviour is unchanged. So test what the code does, not how it does it.
Three test-first approaches
Three approaches put "test early" into practice by writing the test before the code. They work at different levels, from the business goal down to a single unit.
1 · ATDD: Acceptance Test-Driven Development
In ATDD, stakeholders and the team first agree the acceptance criteria, which decides what to test before any code exists. The acceptance tests are written next, and the code comes last. The criteria come out of a "three amigos" session (Uffizzi): the business states the problem, the developer proposes a solution, and the tester asks what could go wrong. The slides walk through the cycle for a login feature:
- The three amigos meet before any code exists: the business states the problem, the developer proposes a solution, and the tester asks what could go wrong.
- 1 · Acceptance criteria. "Given repeated invalid logins, When the user exceeds the limit (e.g. 5), Then the account is temporarily locked and a message explains why." This decides what to test.
- 2 · Automated acceptance tests, written before the code, including edge cases: case-sensitive credentials, blank fields, errors that do not reveal which field was wrong, and session timeout.
- 3 · Implement the feature. Only now is production code written, aimed at making the agreed tests pass.
- 4 · Run the tests. Any failures show deviations from the agreed criteria, so "done" is decided by the tests, not by opinion.
- 5 · Refactor while the tests stay green, re-running them after each change (the dashed loop). ATDD checks that the right features are built; TDD, below, checks they are built right.
2 · BDD (sometimes "BTDD")
BDD (behaviour-driven development) is a goal-oriented approach that ties requirements to business goals. The Agile Alliance calls it a synthesis of TDD and ATDD that adds three things: the "Five Whys" asked of each story, so that its link to a business outcome is clear; outside-in thinking, which means building only the behaviours that serve those outcomes; and one notation shared by domain experts, testers and developers, namely Given–When–Then. BDD is also called specification by example, and its tools include Cucumber.
3 · TDD: Test-Driven Development
In TDD you write a failing unit test before the code. Robert Martin's three laws make the discipline precise:
- Write no production code except to make a failing test pass.
- Write no more of a test than is enough to fail; compilation failures count.
- Write no more production code than is enough to pass that one test.
Following the laws produces a short cycle of red (a failing test), green (just enough code to pass) and refactor (tidy up while staying green). The three approaches then nest inside each other by level:
| TDD | ATDD | BDD | |
|---|---|---|---|
| Level | Unit | Feature / acceptance | Business behaviour |
| Authors | Developers | Three amigos | Three amigos, in domain language |
| Question | Code built right? | Meets agreed criteria? | Serves a business goal? |
Check yourselfWhich approach is described? "Developers write a small failing test, then only enough code to pass it, then tidy up."
- ATDD
- BDD
- TDD
- Shift-right testing
C, TDD: unit level, written by developers, following Martin's three laws and the red–green–refactor cycle. ATDD starts from acceptance criteria agreed by the three amigos; BDD adds the Five Whys and a shared Given–When–Then notation; shift-right is testing and monitoring in production.
Check yourselfSelect all that apply. Which are among Crispin & Gregory's ten agile QA principles?
- Courage
- Comprehensive documentation
- Keep it simple
- Enjoy
- Independent test team sign-off
A, C and D. The full ten: continuous feedback, deliver value to the customer, face-to-face communication, courage, keep it simple, continuous improvement, respond to change, self-organise, focus on people, enjoy. B and E are the opposite of the agile mindset.
Check yourselfA team's unit tests check that a method calls a particular private helper three times. Every refactoring breaks them, though behaviour never changes. What is the problem and the fix?
These are brittle tests: they test implementation details (how) instead of behaviour (what). Rewrite them to check the method's observable results, so refactoring that keeps behaviour the same keeps the tests green.
- Agile teams test within the sprint, as a whole team, guided by Crispin & Gregory's ten principles and three working principles: shift left, automation, open feedback.
- Shift left = test earlier and more often (TDD, CI/CD automation, early performance/security, testers from requirements); beware brittle tests; shift right complements it.
- ATDD (acceptance criteria → tests → code), BDD (Five Whys, outside-in, Given–When–Then) and TDD (Martin's three laws, red–green–refactor) work at business, feature and unit level.
CI/CD and QA Metrics
Testing first only helps if the tests are actually run, every time, on every change. Agile teams hand that job to an automated pipeline, and then use a small set of metrics to see whether quality is improving. Both are quality assurance built into the daily routine rather than bolted on at the end.
CI/CD as QA
The slides draw CI/CD as an infinity loop. Plan, code and build make up CI (continuous integration); release, deploy, operate and monitor make up CD; and the two halves are joined by continuous testing. (The configuration-management side of CI/CD is in Part X.) The relevant Agile Manifesto principle 1 is to "satisfy the customer through early and continuous delivery of valuable software".
The three practices work as follows:
- In continuous integration, every commit builds the whole application and runs a comprehensive automated test suite. If the build fails, the team stops and fixes it immediately. The goal is software that is always working. Because bugs are caught early and cheaply, CI teams deliver faster with fewer bugs (Humble & Farley).
- In continuous delivery, every change that passes the pipeline is releasable, possibly with a manual business gate. Continuous deployment goes one step further and releases every passing change automatically.
- Continuous testing (Atlassian) tests at every scale, as the figure below shows. CISQ warns against CI/CD without continuous quality engineering: automating the release of untested code just ships defects faster.
The pipeline below shows CI's stop-the-line rule: a failure at any test stage sends the team back to fix it straight away, before anyone builds on broken code.
- The pipeline: every commit builds the whole application and runs a comprehensive automated test suite, stage by stage. The goal is software that is always working.
- A developer's commit triggers a build of the whole application, not just the changed part.
- Unit tests and static analysis check each component quickly. These are the cheapest tests, so they run first.
- A test fails. The rule is stop the line: the team stops and fixes the build immediately, rather than carrying on with other work on top of broken code.
- The fix is committed and goes through the whole pipeline again from the start.
- Integration and functional tests check that the parts work together and do what the stories say. A failure here also stops the line.
- Staging, a production-like environment, runs the performance and security tests.
- Release. Under continuous delivery the change is now releasable (possibly after a manual business gate); under continuous deployment it goes live automatically.
Agile QA metrics
A metric is a number tracked over time to show how quality is going. The slides (with formulas from TestRail) list both kinds:
Escaped bugs, defects per requirement, tests run per duration, test review rate, defect capture rate, average bugs per test (defects ÷ tests), time to test, test cost, cost per bug fix (hours × rate), defects per software change.
Customer satisfaction, stakeholder engagement, code quality, team morale, and process adherence and improvement.
Pick 5–10 metrics that you can act on. Pair leading indicators, which warn before problems arrive (such as test coverage), with lagging ones, which confirm what already happened (such as escaped defects). Avoid vanity metrics, numbers that look good but drive no decision.
Worked example: a release's quality metrics
A 12 KLOC release (KLOC = thousand lines of code) has 400 planned tests, of which 380 were executed and 361 passed. Of the 58 defects, 48 were found before UAT, 6 in UAT and 4 in production, and fixing them took 174 h at $50/h.
- The release data: 400 planned tests, 380 executed, 361 passed; 58 defects (48 before UAT, 6 in UAT, 4 in production); 12 KLOC; 174 h of fixing at $50/h.
- Execution coverage = executed ÷ planned = 380/400 = 95%. Twenty planned tests were never run.
- Pass rate = passed ÷ executed = 361/380 = 95%. (Divide by tests executed, not planned: you cannot pass a test you did not run.)
- Defect leakage = defects found in UAT ÷ defects found before UAT = 6/48 = 12.5%: how many slipped past the team's own testing to the users' acceptance test.
- Defect density = total defects ÷ size = 58/12 = 4.83 defects per KLOC, which lets you compare releases of different sizes.
- Defect removal efficiency (DRE) = defects removed before production ÷ all defects = (48 + 6)/58 = 54/58 = 93.1%. The 4 production defects are the escaped bugs.
- MTTR (mean time to repair) = 174 h ÷ 58 defects = 3 h per defect, so cost per fix = hours × rate = 3 × $50 = $150.
Check yourselfA 20 KLOC release had 90 defects: 75 found before UAT, 9 in UAT, 6 in production. Fixing took 270 h at $60/h. Compute defect leakage, defect density, DRE and cost per fix.
Defect leakage = 9 / 75 = 12% Defect density = 90 / 20 KLOC = 4.5 defects/KLOC DRE = (75 + 9) / 90 = 84 / 90 = 93.3% MTTR = 270 h / 90 = 3 h Cost per fix = 3 h × $60 = $180
Check yourselfWhat is the difference between continuous delivery and continuous deployment?
In continuous delivery every change that passes the pipeline is releasable, but a person may still decide when to release (a manual business gate). In continuous deployment every passing change is released automatically, with no manual gate.
- CI: every commit builds and runs the full automated suite; if it fails, stop the line and fix it now. CD: every passing change is releasable (delivery) or released automatically (deployment). Continuous testing joins them.
- Choose 5–10 actionable metrics, pairing leading (coverage) with lagging (escaped defects) and avoiding vanity metrics.
- Worked example: coverage 95%, pass rate 95%, leakage 12.5%, density 4.83/KLOC, DRE 93.1%, MTTR 3 h → $150 per fix.
Quality Standards and CMM
Every organisation could invent its own idea of a good process, but then a client could never compare suppliers, and nobody could learn from anyone else. Published standards and maturity models capture what has worked elsewhere. This section covers documentation standards, the ISO 9000 family, the IEEE standards and the CMM/CMMI maturity levels.
Documentation standards
Documents are the tangible form of the software, so they have standards of their own. Documentation process standards define how documents are developed, validated and maintained. Document standards cover identification, structure, presentation, change highlighting and interchange.
Standards: pros and cons exam
The ISO 9000 family
A QMS (quality management system) is an organisation's documented set of policies, processes and records for managing quality. The ISO 9000 family defines what a good QMS looks like:
The family rests on seven principles: customer focus, leadership, engagement of people, process approach, improvement, evidence-based decision making and relationship management.
IEEE standards
The guide lists the main IEEE software-quality standards as standard knowledge:
| Standard | Covers |
|---|---|
| IEEE 730 | SQA plans |
| IEEE 1028 | Reviews and audits |
| IEEE 1012 | Verification and validation |
| IEEE 829 | Test documentation (now ISO/IEC/IEEE 29119) |
| IEEE 830 | SRS (now 29148) |
CMM / CMMI maturity levels exam
The Capability Maturity Model (CMM) was developed by the SEI (Software Engineering Institute) at Carnegie Mellon. It describes the key elements of an effective process and a path from ad hoc and immature to mature and disciplined, and organisations are rated at Level 1–5. Each level adds key process areas (KPAs), the practices an organisation must have in place to reach it. Climb the stairs one level at a time:
- Five levels, each building on the one below. An organisation is rated at the highest level whose KPAs it has fully in place.
- Level 1 · Initial. Ad hoc, sometimes chaotic; few processes are defined, and success depends on individual effort ("heroics"). No KPAs.
- Level 2 · Repeatable. Basic project management tracks cost, schedule and functionality, so the organisation can repeat earlier successes on similar projects. KPAs: requirements management, project planning, project tracking and oversight, subcontract management, SQA, configuration management.
- Level 3 · Defined. Management and engineering processes are documented, standardised and integrated organisation-wide, and each project tailors the standard process. KPAs: organisation process focus and definition, training, integrated software management, product engineering, intergroup coordination, peer reviews.
- Level 4 · Managed. Detailed measures are collected; process and product are quantitatively understood and controlled. KPAs: quantitative process management, software quality management.
- Level 5 · Optimising. Continuous improvement from quantitative feedback and from piloting innovations. KPAs: defect prevention, technology and process change management.
- Watch the names. The slides say "CMMI" but use the SW-CMM level names. The CMMI staged names (in italics) are Initial, Managed, Defined, Quantitatively Managed, Optimizing, so "Managed" means Level 2 in CMMI but Level 4 in SW-CMM.
| Level | Characteristics (slides) | Focus | Key process areas |
|---|---|---|---|
| 1 Initial | Ad hoc, sometimes chaotic; few processes; success depends on individual effort | Individuals | none |
| 2 Repeatable | Basic project management tracks cost, schedule and functionality; can repeat earlier successes on similar projects | Project management | Requirements mgmt, project planning, tracking and oversight, subcontract mgmt, SQA, configuration mgmt |
| 3 Defined | Management and engineering processes documented, standardised, integrated organisation-wide; projects tailor the standard process | Engineering process | Org process focus and definition, training, integrated software mgmt, product engineering, intergroup coordination, peer reviews |
| 4 Managed | Detailed measures collected; process and product quantitatively understood and controlled | Product and process quality | Quantitative process mgmt, software quality mgmt |
| 5 Optimising | Continuous improvement from quantitative feedback and piloting innovations | Continual improvement | Defect prevention, technology and process change mgmt |
Reading down the Focus column shows the progression: attention moves from individuals, to project management, to the engineering process, to product and process quality, and finally to continual improvement.
(1) The slides say "CMMI" but use the SW-CMM level names; the CMMI staged names are Initial, Managed, Defined, Quantitatively Managed, Optimizing. (2) The slides list "Software Quality Management" at Level 2, where SW-CMM has SQA. If you name a level in the exam, say which scheme you mean.
Problems implementing CMM, and remedies (1998 Q9)
A predecessor exam (433-443, 1998 Q9) asked why CMM programmes fail. Each common problem has a matching remedy:
| Problem | Remedy |
|---|---|
| The level is treated as a quick badge, when each level takes years. | Realistic staged targets, with better business results as the goal. |
| Organisations try skipping levels, aiming for Level 3 from Level 1. | Fix the Level 2 project-management KPAs first. |
| Weak management commitment; the team is under-resourced and has no authority. | An executive sponsor, a funded process group (SEPG, software engineering process group) and an improvement plan. |
| Staff resist the bureaucracy. | Involve practitioners; tailor processes, tools and training; look for quick wins. |
| The overhead falls hard on small organisations. | Scale the processes down. |
| CMM says what to do, not how, and there is no baseline to start from. | A formal assessment, pilot projects, the IDEAL improvement cycle, and metrics that show the benefit. |
Check yourselfAt which SW-CMM level do peer reviews first appear as a key process area, and at which level does an organisation first collect detailed measures to control process and product quantitatively?
- Level 2; Level 3
- Level 3; Level 4
- Level 3; Level 5
- Level 4; Level 4
B. Peer reviews are a Level 3 (Defined) KPA; detailed measures and quantitative control define Level 4 (Managed). Level 5 adds continuous improvement and defect prevention.
Check yourselfTrue or false: "ISO 9001 certification shows that the company's products are of high quality."
False. Certification shows that the organisation runs a QMS that meets ISO 9001's requirements. It does not show that any particular product is good. (This is one of the guide's listed pitfalls.)
- Standards give a QA framework and best practice, and customers may require them, but can feel bureaucratic; tailor them, don't avoid them.
- ISO 9001 = QMS requirements (certified against); 90003 software, 13485 medical devices; seven principles; certification ≠ good product.
- CMM levels: 1 Initial (individuals), 2 Repeatable (project management), 3 Defined (engineering process, peer reviews), 4 Managed (quantitative), 5 Optimising (continual improvement). Don't skip levels.
Quality Models: McCall and ISO
"Make it high quality" is not a requirement anyone can test. Quality models solve this by breaking "quality" into a fixed list of named characteristics, so a team can pick the ones that matter, define each, and attach a measurable target. The course covers three: McCall's model, ISO/IEC 9126 and its replacement ISO/IEC 25010.
McCall's model (Cavano & McCall 1978)
McCall's model is a hierarchy. At the top are factors, which are external and reflect the user's or management's view. Each factor is broken into criteria, which are internal attributes of the software. Each criterion is measured by metrics taken during development. It has 11 factors grouped into 3 perspectives, usually drawn as the sides of a triangle. The user question beside each factor is a quick way to remember what it is about.
| Perspective | Factor: definition (slides) | User question |
|---|---|---|
| Product operation | Correctness: satisfies its specification and the user's mission objectives | Does it do what I want? |
| Reliability: performs its intended function with required precision | Accurately, all the time? | |
| Efficiency: computing resources and code needed for a function | Runs well on my hardware? | |
| Integrity: access by unauthorised persons can be controlled | Is it secure? | |
| Usability: effort to learn, operate, prepare input, interpret output | Can I run it? | |
| Product revision | Maintainability: effort to locate and fix an error | Can I fix it? |
| Flexibility: effort to modify an operational program | Can I change it? | |
| Testability: effort to test that it performs its function | Can I test it? | |
| Product transition | Portability: effort to move it to another hardware/software environment | Use it on another machine? |
| Reusability: extent it can be reused in other applications | Reuse parts of it? | |
| Interoperability: effort to couple it with another system | Interface it with another system? |
ISO/IEC 9126 (2001, now withdrawn)
ISO 9126 was withdrawn and replaced by ISO/IEC 25010, but it still appears in older material. It had six characteristics; each also had a "compliance" sub-characteristic alongside those listed here:
| Characteristic | Sub-characteristics (plus compliance) |
|---|---|
| Functionality | suitability, accuracy, interoperability, security |
| Reliability | maturity, fault tolerance, recoverability |
| Usability | understandability, learnability, operability, attractiveness |
| Efficiency | time behaviour, resource utilisation |
| Maintainability | analysability, changeability, stability, testability |
| Portability | adaptability, installability, co-existence, replaceability |
ISO/IEC 25010:2023 (SQuaRE): nine characteristics exam
The current model, part of the SQuaRE family of standards, has nine characteristics. They are used for requirements, test objectives, QC criteria and acceptance criteria. Two were renamed in 2023 and one is new:
| Characteristic (2023) | Sub-characteristics |
|---|---|
| Functional suitability | completeness, correctness, appropriateness |
| Performance efficiency | time behaviour, resource utilisation, capacity |
| Compatibility | co-existence, interoperability |
| Interaction capability (was usability) | appropriateness recognisability, learnability, operability, user error protection, user engagement, inclusivity, user assistance, plus self-descriptiveness in the standard |
| Reliability | faultlessness, availability, fault tolerance, recoverability |
| Security | confidentiality, integrity, non-repudiation, accountability, authenticity, resistance |
| Maintainability | modularity, reusability, analysability, modifiability, testability |
| Flexibility (was portability) | adaptability, scalability, installability, replaceability |
| Safety (new) | operational constraint, risk identification, fail safe, hazard warning, safe integration |
Comparing the models
McCall groups its factors by lifecycle use: operation, revision and transition. ISO's models, by contrast, are consensus-based lists of characteristics and sub-characteristics. What all three have in common is that they turn "quality" into specific, measurable attributes that can go into requirements and quality plans, which is exactly what part 3 of the SQP needs (§7.6).
Check yourselfWhich McCall perspective does each factor belong to: (a) testability, (b) interoperability, (c) integrity, (d) flexibility, (e) efficiency?
(a) Product revision. (b) Product transition. (c) Product operation. (d) Product revision. (e) Product operation. Remember the groups by size: operation 5 (correctness, reliability, efficiency, integrity, usability), revision 3 (maintainability, flexibility, testability), transition 3 (portability, reusability, interoperability).
Check yourselfSelect all that apply. Which are characteristics of ISO/IEC 25010:2023?
- Safety
- Usability
- Flexibility
- Portability
- Interaction capability
A, C and E. Usability (B) was renamed interaction capability, and portability (D) was renamed flexibility; both old names belong to the 2011 edition (and to ISO 9126). Safety is new in 2023.
- McCall: factors (external) → criteria (internal) → metrics; 11 factors in 3 perspectives: operation (5), revision (3), transition (3).
- ISO 9126 (withdrawn) had 6 characteristics; ISO 25010:2011 had 8; ISO 25010:2023 has 9, with interaction capability (was usability), flexibility (was portability) and new safety.
- All the models turn "quality" into specific, measurable attributes for requirements and quality plans.
Applying It to the Medic Case
The tutorials' running case brings the whole Part together. Medic is a haptic virtual-reality trainer for temporal-bone surgery, built for the hospital client RVEEH. Trainee surgeons "drill" a 3D model of the ear bone using a haptic device, a robotic arm that pushes back on the hand so that drilling feels real, while wearing stereo glasses. It must be reliable (reliability being the probability of not failing over a given time), it must meet strict performance criteria on execution time, and it must be usable by surgeons.
The team is 12 engineers who are new to C++, 3D rendering and haptics. The case addendum adds a test lead with 5 test engineers, daily collaboration from the client's surgeons, and an RVEEH support lead who takes over maintenance after delivery.
A mini Software Quality Plan for Medic
Using the slides' six-part template (§7.6):
- Product overview. Medic is a haptic VR temporal-bone surgery trainer for RVEEH. It is expected to be realistic, responsive, stable, easy to learn and maintainable.
- Product plan. The plan follows the release plan. The PM owns the SQP, the development lead is responsible for code quality and the test lead for the test strategy. The two surgeons are the acceptance authority for realism and usability, and RVEEH IT gives operational acceptance.
- Quality goals (ISO/IEC 25010). Each critical attribute, why it is critical for Medic, and an example measurable target:
| Attribute | Why critical | Example target |
|---|---|---|
| Performance efficiency | Lag destroys realism and causes negative training | Haptic loop ≥ 1 kHz; stereo ≥ 60 fps; saved model restored < 10 s |
| Reliability | Crashes waste scarce surgeon time | ≥ 99% of 2-hour sessions crash-free; auto-save recovery |
| Functional suitability | Wrong anatomy or forces mis-train surgeons | Models and force model signed off by the surgeons against agreed tolerances |
| Interaction capability | Users are not IT experts | A trainee starts a procedure unaided after a 15-minute induction |
| Safety (fail safe) | The haptic arm pushes on a hand | Forces drop to zero if the software hangs |
| Flexibility, maintainability | RVEEH must survive hardware and OS upgrades | Modular design, documented install, coding standard met |
| Compatibility | Several new devices must interoperate | All supported haptic devices and glasses pass integration tests |
| Security | Performance and scan data are confidential | Access control; no real patient data in test environments |
- Process description. The QA processes, drawn below: requirements inspections with the surgeons; early haptics and rendering prototypes to retire the performance risk; an architecture review focused on throughput; code inspections against the C++ standard (which also train the inexperienced team); TDD for the force algorithms; CI running unit, integration and performance-regression tests on reference hardware, alongside hardware-in-the-loop tests; sprint reviews and usability tests with the surgeons for validation; UAT; and a mid-project process audit.
- Standards. A C++ coding standard, document templates, ISO/IEC 25010 and the DoD. The team should also record a decision on whether medical-device rules (ISO 13485) apply.
- Risks (linked to the risk register, Part IV), each with a response, shown in the table after the figure.
| Main quality risk | Response |
|---|---|
| Team inexperience (C++, 3D rendering, haptics) | Pairing, inspections and training |
| Performance | Early prototypes and performance tests in CI |
| Device integration | A test rig |
| Surgeon availability | Booked review slots |
Metrics. The plan tracks escaped defects per sprint, defect density per module, defects found by review versus by test, the performance-test pass rate and latency trend, surgeon satisfaction and team morale: a mix of quantitative and qualitative, leading and lagging (§7.10).
Tutorial Team Activity 1: acceptance criteria for "restore a saved model within 10 seconds"
Three criteria cover the normal case, the correctness of the restored state, and failure:
- Given a saved Visible Ear Simulator model and the supported reference hardware, When the surgeon selects it and clicks Restore, Then the model is displayed and interactive (rotate, zoom, haptic contact) in under 10 s from click to first interactive frame, in each of 20 consecutive trials.
- Given a restored model, Then its geometry, drilled regions, tool settings and haptic configuration match the saved state.
- Given a corrupt file or an unavailable database, When Restore is attempted, Then a meaningful error appears within 10 s and the session is not lost.
Note that performance criteria must state the hardware, the model size and how time is measured; otherwise "under 10 s" cannot be tested.
Tutorial Activities 3 and 4: which DoD criteria are invalid?
A Definition of Done must be objective, verifiable and consistent, and it must apply to all increments (Part VI). Judged by that test:
- Activity 3. Valid: C5 (peer reviewed, merged), C6 (all automated tests pass) and C8 (deployed to the test environment, documentation updated). Invalid: C1 (only MUST-HAVE stories: a DoD applies to every item, whatever its priority), C2 ("compiles on my machine": not verifiable by anyone else), C3 (the PO's subjective approval), C4 (known bugs knowingly left) and C7 (a partly done story; the sprint goal is not the DoD).
- Activity 4. C1, C2 and C3 are valid, because they are automated, measurable and verifiable. C4 is invalid because closing Jira tasks is activity, not quality. C6 (90% pass) and C7 (documentation deferred) are invalid too, and so is C8, because "realistic enough" is subjective: that is validation feedback, not a DoD criterion. C5 is questionable: it is valid only if those two environments are all the supported ones.
- Medic's critical attributes are performance efficiency, reliability and interaction capability (with functional suitability and safety also defensible), each given a measurable target.
- Its process mixes early inspections and prototypes, per-sprint code inspections, TDD and CI, surgeon validation, UAT and a mid-project process audit.
- Acceptance criteria must state hardware, model size and timing method; DoD criteria must be objective, verifiable, consistent and apply to all increments.
Pitfalls and Self-Test
This last section gathers the mistakes that most often cost marks, then works through every self-test question in the guide. Questions tagged with a year are real questions from predecessor subjects' exams (433-443 and 433-341), not SWEN90016 papers; the answers are the guide's model answers, not official ones.
Common pitfalls
QA is process-focused and starts at planning.
Right system is validation; system right is verification.
"Fast" or "user-friendly" cannot be checked. Quantify them.
A walkthrough is author-led with no preparation; an inspection is moderator-led, uses a checklist and has mandatory preparation.
Give NIST/CISQ and Menzies.
ISO 9001 does not certify product quality, and CMM levels cannot be skipped.
ISO/IEC 25010:2023 has 9, not 8.
Not in this course: carrying out any audit is QC (§7.4).
Expect MCQs and MRQs on the definitions (QA vs QC, V&V, walkthrough vs inspection vs audit, CMM levels, ISO 25010 characteristics), a cost-of-quality calculation, and written questions that ask you to recommend quality activities for a case. For those, name the activity, say where in the project it goes and how it is done, and justify it against the case facts (cost of late defects, the team's inexperience, safety). A list of activity names alone earns little.
Self-test
Q1 · 433-443 1998 Q9TSC's CEO expects CMM Level 3 easily. After 3 years, only one of the improvement team's ideas has been adopted. Describe the levels, the problems and the remedies.
Levels. Level 1, Initial, is ad hoc and relies on heroics. Level 2, Repeatable, has basic PM and can repeat successes. Level 3, Defined, has a standard organisation-wide process, peer reviews and training. Level 4, Managed, adds quantitative control, and Level 5, Optimising, brings continuous improvement and defect prevention.
Problems. The CEO's expectations are unrealistic, and the commitment is lip service, as one idea in 3 years shows. The improvement team has two people and no authority. TSC is likely skipping Level 2 and chasing the level for its own sake, staff fear bureaucracy, and there is no baseline.
Remedies. Start with a formal assessment, and appoint an executive sponsor and a funded SEPG. Follow a staged plan that starts with the Level 2 KPAs, and use pilots and quick wins that are measured and publicised. Design tailored processes with the developers, provide training, and follow the IDEAL cycle.
Q2 · 433-443 1999 Q10Other than defects, what makes an item adequate? Give examples.
- Adequacy is the fitness of the whole item for its purpose and for the next phase: it is complete, has the right detail, is consistent, complies with standards and is verifiable.
- It means, for example, that the SRS lets designers design and testers write acceptance tests.
- It does not mean perfection, gold-plating, the reviewer's preferred style, or design detail inside an SRS.
Q3 · 433-443 1999 Q11What are the roles in a peer review?
- The moderator plans and chairs the review, keeps it focused, decides the outcome and checks the rework.
- The author clarifies rather than defends, and fixes the defects.
- The reader paraphrases the artefact.
- The recorder logs defects and actions.
- The inspectors prepare with checklists and raise defects.
- Managers do not attend.
Q4 · 433-443 1999 Q12The author strongly disagrees with a reviewer's point. How is it resolved?
- There is no vote or debate in the meeting.
- Instead, the moderator records an open issue.
- The issue is escalated to the agreed authority (PM or technical lead), who decides it outside the meeting.
- The decision is recorded and the issue closed.
Q5 · 433-443 1999 Q13Write an audit checklist for the documentation procedure (SPMP, SRS, SDD, STD, UM, VDD).
For each document, ask the audit guide to show:
- who applies the procedure, with evidence of the PM's responsibility;
- the document register, with unique numbers;
- the version-control entries;
- the draft history, starting at 0.1;
- the marked-up draft and the review form for each review;
- a passed review before each issue N;
- the marked-up copy and form in the filing cabinet;
- that the VCS status is REVIEWED;
- issued copies stamped red "controlled" with a copy number, plus the distribution record;
- that issue numbers are consistent across VCS, the cabinet and the copies, and whether any drafts are in use.
Record the evidence and any non-conformances for each.
Q6 · 433-443 1999 Q17The procedure was followed in 80% of cases, with no evidence in 20%. The team says the shortcut "works just as well". What is your response and action?
- No evidence is a non-conformance, and the claim that it "works just as well" is unproven, so raise a corrective action.
- Find the root cause with the team (schedule pressure, perhaps, or a heavy procedure) and check the 20% of products for defects.
- If the shortcut is genuinely as good, evaluate it and change the procedure formally. Otherwise retrain, plan time for the procedure and enforce it.
- Set dates for a follow-up audit. Don't punish people, but don't ignore it either.
Q7 · 433-443 2000 Q8 a–d(a) Why does QA concentrate on process? (b) Two benefits of defined procedures? (c) Staff ignore the procedures: what do you do? (d) What should you not do?
- (a) Process determines product quality, and prevention is cheaper. Quality cannot be tested in, and the benefit repeats across products.
- (b) (1) Consistency and repeatability that do not depend on individuals, which also gives a basis for training. (2) A basis for audits, certification and improvement, since only a defined procedure can be audited or improved.
- (c) First find out why. Then explain the value and the risks, tailor and simplify, provide tools and time, lead by example, and audit.
- (d) Don't ignore it because things are going well, since there may be latent defects. Don't blame anyone publicly, and don't add more paperwork. Don't drop the procedures informally without a recorded waiver.
Q8 · 433-443 2001 Q5"Any review is a waste; spend the time testing for a defect-free product." Discuss.
- Disagree: use both. Reviews cover requirements and design, where the costly defects start, and they find those defects earlier and more cheaply (NIST 1X against 30X).
- Reviews find 30–70% of faults (up to 80% at IBM), including ones that tests miss, and they locate the fault itself.
- Fixes made under test pressure add errors. Reviews also check adequacy and maintainability.
- Testing cannot prove the absence of defects.
- The review type matters: use inspections for critical items and lighter reviews elsewhere. Plan reviews by risk, since the cost benefit varies (Menzies).
Q9 · 433-443 2001 Q6The release date is brought forward and testing is cut. What is the software quality manager's responsibility?
- Don't silently comply, and don't simply refuse.
- Quantify the risk and communicate it: what goes untested, the residual defects and the impact on users.
- Propose options, such as risk-based testing of critical features, reduced scope, more automation or resources, a beta label, a known-issues list and a patch plan.
- Make sure senior management makes the risk-acceptance decision and documents it, along with any formal waiver of the release criteria.
- Escalate if safety is at stake (ACS Code, Part IX).
Q10 · 433-443 2001 Q7Explain the role of Pareto diagrams in software quality control.
- A Pareto diagram is a sorted bar chart of defects by cause, with a cumulative line, and it is based on the 80/20 rule.
- Its role is to focus corrective action on the vital few causes, to communicate priorities, and to show improvement when it is re-plotted.
- For example, if requirements ambiguity and interface errors are 60% of defects, inspect requirements and define interfaces first.
Q11 · 433-443 2002 Q11How can quality be improved through leadership, customer requirements, cost of quality and testing?
- Leadership means management commitment, resources and a quality culture, including backing the DoD under pressure.
- For requirements, use workshops, prototypes, inspections, acceptance criteria/BDD and validation at sprint reviews.
- For cost of quality, measure prevention, appraisal and failure costs, and invest early to cut failure costs (for example, a 40-h inspection that saves 500 h).
- For testing, plan tests early, test at all levels, run automated regression tests in CI, and track metrics such as defect leakage.
Q12 · 433-341 2008 Q3How does QA contribute to project success?
- Standards and processes prevent defects.
- Early detection protects cost and schedule.
- V&V makes sure the right product is built right, which leads to acceptance.
- Objective visibility of quality supports release decisions.
- QA also lowers operational risk and drives continuous improvement.
Q13 · 433-341 2008 Q4Add two QA activities to the project shown in the exam's PERT chart. Where would they go, and how? (The chart's tasks, T1–T13, are not reproduced here; the answer refers to them by number.)
- Requirements inspections. Hold them after T2 and after T4/T5, before design (T6–T8), with the client and using a checklist. They catch the most expensive defects early and validate the requirements against the server prototype (T3).
- Testing. Write test plans alongside design, as in the V-model. Run unit tests and code inspections within T9–T11, integration tests at T12, and system and acceptance tests after T13, automated in CI. This verifies components as they are built, so the critical-path integration tasks do not reveal a late pile-up of defects.
Q14 · 433-341 2009 Q4Give two QA activities to make sure the port system's requirements are fit for purpose.
- Requirements inspection. How: port staff, designers and testers inspect the requirements using a checklist (complete, unambiguous, verifiable, quantified separation-safety rules, traceable), and moderated rework follows. Why: it fixes defects before design, where they are cheapest.
- Prototype validation and acceptance scenarios (prototypes T7–T9; Given–When–Then tests). How: users exercise realistic scenarios. Why: this is validation, so it exposes misunderstood or untestable requirements and retires the technology risk early.
Q15 · calculationWithout code reviews, 40 coding defects reach system test (10X) and 10 reach production (30X); 1X = 1 h. With reviews costing 60 h, 30 are found at 1X and the rest split 16 / 4. Are the reviews worth it?
Without reviews: system test 40 × 10X = 400X = 400 h production 10 × 30X = 300X = 300 h total = 700 h With reviews (1X = 1 h): review effort = 60 h (appraisal) found in review 30 × 1X = 30 h system test 16 × 10X = 160 h (internal failure) production 4 × 30X = 120 h (external failure) total 60 + 30 + 160 + 120 = 370 h Saving = 700 − 370 = 330 h; escaped defects 10 → 4
Yes, the reviews are worth it. The 50 defects still add up (30 + 16 + 4 = 50). The reviews are appraisal, the test fixes internal failure and the production fixes external failure.
Q16 · MedicClassify each as QA or QC, and verification or validation: (a) adopting a C++ coding standard; (b) inspecting the force-model code against it; (c) surgeons trying the drilling module at the sprint review; (d) auditing that every merge was peer-reviewed.
- (a) is QA, because it is a preventive standard.
- (b) is QC, and it is verification (code against the standard: two artefacts, internal).
- (c) is QC, and it is validation (the product against the users' needs, with external people).
- (d) is a QC process audit, because it checks process conformance after the work (§7.4).
Q17List the ISO/IEC 25010:2023 characteristics and the three most critical for Medic.
- The nine are functional suitability, performance efficiency, compatibility, interaction capability, reliability, security, maintainability, flexibility and safety.
- Most critical for Medic are performance efficiency, because latency decides realism; reliability, because sessions must not crash; and interaction capability, because the users are surgeons. Functional suitability and safety are also defensible.
- The classic traps: QA ≠ end-of-line testing, V&V swapped, unmeasurable goals, walkthrough vs inspection, "100×" as a law, ISO 9001/CMM myths, 8 vs 9 ISO characteristics.
- For recommend-a-QA-activity questions: what, where in the project, how, and why for this case.