Quality isn't inspected in.
It's engineered in, then verified.
Picture a factory floor. Quality Assurance is the engineer who designs the assembly line so defects rarely happen in the first place. Quality Control is the inspector standing at the end of the line, checking what came out. Both jobs matter — but only one of them can actually prevent the fire, the other one just catches it. This chapter is the PM-process view of quality: how you plan it, assure it, control it, and prove it happened with numbers.
What "software quality" actually means
A definition of quality should emphasize three points — and testing is only one tool for checking whether you hit them.
Explicit requirements
The foundation quality is measured from. If the software doesn't conform to what was asked for, that's a lack of quality, full stop.
Specified standards
Development criteria that guide how software is engineered. Ignore the criteria and lack of quality will almost surely follow.
Implicit requirements
Unmentioned expectations like maintainability. Conforming to the spec but missing these still makes quality suspect.
Software Testing
full-life-cycle assessmentThe purpose of testing is to assess and evaluate the quality of work performed at each step of the development process. Its goal is to ensure the software performs as intended, and to improve quality, reliability, and maintainability.
Quality and Testing
testing measures, it doesn't deliverA good development process, tools, methods, and people go far in providing quality products. Testing is one aspect of assuring software quality — it is a measure of quality, it does not deliver quality.
Fault-tolerant design — tolerate the existence of defects.
V&V — all aspects of verification & validation, including testing.
Quality Assurance vs. Quality Control
Every PM exam loves this pair. Lock it in before anything else in this chapter.
The framework, applied continuously
Provides the framework of activities and standards for performing quality control. QA activities strive to ensure: (1) few, if any, defects remain in the software system when it is delivered, and (2) any remaining defects will cause minimal disruptions or damages.
Monitoring specific results, throughout the project
Concerned with monitoring specific project results for compliance with quality standards. Performed throughout the project — and may also include taking control actions to correct the causes of quality problems.
Deciding what "good" means before you build anything
Planning Quality
inputs to considerFive things need to be considered while planning quality: Scope, Stakeholders, Risks, Internal and External Environmental Factors, and Process. Out of this, project-specific standards and procedures are created.
The SQA Group
who enforces the frameworkThe group should prepare an SQA plan for the project. That plan identifies:
Evaluations
To be performed across the project.
Audits & reviews
To be performed on the work.
Applicable standards
Which standards apply to this project.
Error reporting
Procedures for reporting & tracking.
Change management
Procedures for managing change.
SQA documents
What the group itself must produce.
Feedback amount
How much feedback goes to the project team.
Reviews process →
Audits work products → Documents deviations →
Reports noncompliance to senior management. The SQA group is the enforcement
arm, not just an advisory one.
Discipline, restraint, and knowing when to stop over-processing
Success Metrics
4 candidates, 1 real answer2. Within budget — again: planning, estimation & control.
3. According to requirements — importance of good requirements; perception & negotiation are critical.
4. High quality — may or may not be the same as item 3.
The factors, the evidence, and the satire
To identify a project's success potential you'd look at metrics like project size, project duration, and project team size. But the deeper factors are consistent across studies.
- Executive support
- User involvement
- Experienced project manager
- Clear business objectives
- Minimized scope
- Firm basic requirements
- Standard software infrastructure
- Formal methodology
- Reliable estimates
State of the Practice in Software Management
social factors + technologyTwo categories of factors influence success or failure: Social Factors and Technology.
| Technology — Unsuccessful projects | Technology — Successful projects |
|---|---|
| No historical software measurement data | Accurate software measurement |
| Failure to use automated estimating tool | Early use of estimating tools |
| Failure to use automated planning tool | Continuous use of planning tool |
| Failure to monitor progress or milestones | Formal progress reporting |
| Failure to use effective architecture | Formal architecture planning |
| Failure to use effective development methods | Formal development methods |
| Failure to use design reviews | Formal design reviews |
| Failure to use code inspections | Formal code inspections |
| Failure to include formal risk management | Formal risk management |
| Informal, inadequate testing | Formal testing methods |
| Manual design and specification | Automated design and specification / automated configuration control |
| More than 30% creep in user requirements | Less than 10% creep in requirements |
| Social — Unsuccessful projects | Social — Successful projects |
|---|---|
| Excessive schedule pressure | Realistic schedule pressure |
| Executive rejection of estimates | Executive understanding of estimates |
| Severe friction with clients | Cooperation with clients |
| Divisive corporate politics | Congruent management goals |
| Poor team communications | Excellent team communications |
| Naïve senior executives | Experienced senior executives |
| Project management malpractice | Capable project management |
| Unqualified technical staff | Capable technical staff |
| Generalists used for critical tasks (QA, testing, planning, estimating) | Specialists used for critical tasks (QA, testing, planning, estimating) |
How To Ensure a Project Fails
the satirical checklistStraight from the slides — read every line as sarcasm, then do the opposite.
Turning "largely qualitative" into something you can compare
"Not everything that can be counted counts, and not everything that counts can be counted." — Albert Einstein
Software measurement is concerned with deriving a quantitative (numeric) value for an attribute of a software product or process that is largely qualitative. This allows objective comparisons between techniques and processes. Although some companies have introduced measurement programs, systematic use of measurement is still uncommon — and there are few standards in this area.
| Term | Formal meaning |
|---|---|
| Measure | Provides a quantitative indication of the size of some product or process attribute. |
| Measurement | The act of obtaining a measure. |
| Metric | A quantitative measure of the degree to which a system, component, or process possesses a given attribute. |
Software Metric
any measurement of the system, process, or docsAny type of measurement relating to a software system, process, or related documentation — e.g. lines of code in a program, or number of person-days required to develop a component. Metrics allow the software and the software process to be quantified; they may be used to predict product attributes or to control the software process.
Process & project — quantitative measures that let engineers gain insight into the efficiency of the process and the projects run inside that framework.
Direct (product): lines of code (LOC), execution speed, memory size, defects reported over some time period.
Indirect (product): functionality, complexity, efficiency, reliability, maintainability.
Public — enable organizations to make strategic changes to improve the software process.
Metrics should not be used to evaluate individual performance. Statistical software process improvement helps an organization discover where it is strong and where it is weak.
Dynamic — collected by measurements made of a program in execution; help assess efficiency and reliability.
Static — collected by measurements made of the system's representations; help assess complexity, understandability, and maintainability.
Project Metrics
inputs, outputs, resultsA software team uses project metrics to adapt project workflow and technical activities — avoiding schedule delays, mitigating potential risks, and assessing product quality on an ongoing basis.
The Measurement Process
part of quality controlA software measurement process may be part of a quality control process. Data collected during it should be maintained as an organizational resource. Once a measurement database has been established, comparisons across projects become possible.
Choose measurements to be made
Select components to be assessed
Measure component characteristics
Identify anomalous measurements
Analyse anomalous components
Feeds back into choosing what to measure next — this is a cycle, not a one-shot list.
| Metric type | Examples |
|---|---|
| Size-oriented | Defects, human effort, Lines of Code (LOC) |
| Function-oriented | Function points |
| Web Engineering | Number of static web pages (Nsp), number of dynamic web
pages (Ndp), Customization Index: C = Nsp / (Ndp + Nsp) |
| Product metrics | Cyclomatic complexity, fan-in / fan-out |
The whole chapter, one table at a time
| Concept | Core idea |
|---|---|
| Quality (definition) | Conformance to explicit requirements + specified standards + implicit (unwritten) requirements. |
| Testing | Full-life-cycle assessment of quality — measures quality, doesn't deliver it. |
| Quality Assurance | Framework of activities/standards for performing QC; prevention + fault-tolerant design + all V&V. |
| Quality Control | Monitoring specific results for compliance; performed throughout; may include corrective actions. |
| Planning Quality | Considers Scope, Stakeholders, Risks, Environmental Factors, Process; must satisfy external + org + customer standards. |
| SQA Group | Writes the SQA plan, audits work products, reviews process compliance, reports noncompliance up the chain. |
| Project success (real measure) | Customer satisfaction — schedule/budget/requirements are proxies, not the goal itself. |
| Top success factor | Executive support (secures resources, approvals, cooperation, leadership). |
| Measure / Measurement / Metric | The number / the act of obtaining it / the standardized quantitative comparison. |
| Process metrics | Private (individual) vs. public (organizational); never used to evaluate individuals. |
| Product metrics | Dynamic (execution — efficiency/reliability) vs. static (representation — complexity/understandability/maintainability). |
| Measurement process | Choose → select → measure → identify anomalies → analyse (cycles back). |
Where students actually lose marks on this chapter
Click a question to reveal the answer
Self-check before you move to the practice lab. No reload needed.
Exam-style scenarios, worked through
Same shape of question you'll see on a graded exam — grounded directly in this chapter's content.