Software Quality & Risk Management

Chapter 1
Foundations of Software Quality and Risk

Certificate in Software Project Management
Software Quality & Risk Management   •   Certificate

Foundations of Software Quality and Risk

Introduction

Software projects succeed when they deliver useful outcomes to stakeholders—not merely when they produce working code. A system may satisfy a technical specification yet fail because it is difficult to use, too slow, insecure, unaffordable to operate, or delivered after the business opportunity has disappeared. Conversely, a project may adapt its scope successfully while preserving the qualities that matter most to users and sponsors.

Software quality and risk management provide the concepts and practices needed to make these judgments systematically. Quality concerns the value and fitness of the product, process, and project outcome. Risk management concerns uncertain events or conditions that may affect objectives. Together, they help project teams prevent avoidable failure, detect problems early, make informed trade-offs, and protect stakeholder value.

This chapter establishes the vocabulary and relationships used throughout software quality and risk management. It distinguishes quality assurance from quality control, verification from validation, and risks from issues and uncertainties. It also explains how these ideas operate across the software development life cycle.

Learning Objectives

By the end of this chapter, you should be able to:

  • define software quality, quality assurance, quality control, verification, and validation;
  • distinguish risks, issues, and uncertainty;
  • explain how quality and risk influence project success and stakeholder value;
  • relate prevention, detection, correction, and learning to project governance;
  • apply basic quality and risk concepts to a practical software project; and
  • identify ethical and managerial responsibilities associated with software quality and risk.

1. The Meaning of Software Quality

Quality is not simply the absence of defects. In software, quality is the degree to which a product, service, process, or project outcome satisfies stated requirements, implied expectations, applicable standards, and the legitimate needs of stakeholders.

This definition has several implications. First, quality is relative to purpose. A prototype, a medical device, and a social-media application do not require identical levels of reliability, documentation, performance, or regulatory control. Second, quality includes both conformance and fitness for use. A product can conform precisely to a flawed specification and still fail its users. Third, quality is multidimensional. A system may be highly functional but insecure, or secure but unusable.

Common software quality characteristics include:

Quality characteristicMeaningTypical evidence
Functional suitabilityThe system provides the required functions accurately and completely.Requirements tests, demonstrations
Performance efficiencyThe system responds and uses resources acceptably.Response-time and load measurements
ReliabilityThe system performs consistently under stated conditions.Failure records, availability data
UsabilityIntended users can learn and operate the system effectively.Usability studies, user feedback
SecurityInformation and functions are protected from unauthorized activity.Threat assessments, security tests
MaintainabilityThe system can be understood, corrected, and changed economically.Code review, defect-fix effort
CompatibilityThe system works appropriately with other systems and environments.Integration and interoperability tests
PortabilityThe system can be transferred between environments when required.Installation and migration tests

These characteristics can conflict. Strong encryption may increase processing overhead; extensive customization may reduce maintainability; rapid delivery may reduce the time available for assurance activities. Quality management therefore involves explicit prioritization rather than the unrealistic pursuit of every desirable characteristic at its maximum level.

Product, process, and project quality

Product quality concerns the software and its documentation. Process quality concerns how the work is performed—for example, whether requirements are reviewed, changes are controlled, and testing is repeatable. Project quality concerns the management of scope, schedule, cost, resources, communication, and governance.

The three forms are connected but not identical. A disciplined process does not guarantee a high-quality product, because the process may be unsuitable or badly executed. Similarly, a high-quality product produced through an chaotic process may be difficult to maintain or reproduce. Effective project management considers all three.

2. Quality as Stakeholder Value

Stakeholders include customers, end users, sponsors, project team members, operations staff, regulators, suppliers, and members of the public who may be affected by the system. Each stakeholder may define value differently. A sponsor may emphasize return on investment; users may emphasize ease of use; operations staff may emphasize supportability; regulators may emphasize safety, privacy, and traceability.

A useful quality decision begins by asking:

  1. Who are the stakeholders?
  2. What outcomes do they need?
  3. Which quality characteristics are critical to those outcomes?
  4. What evidence will demonstrate that the characteristics have been achieved?
  5. What risks could prevent the expected value from being realized?

Quality is therefore not only a technical concern. It is a governance concern. If a project knowingly releases a system that exposes personal information, the problem is not merely a defect in code; it is a failure of professional responsibility and decision-making.

3. Quality Assurance and Quality Control

Quality assurance

Quality assurance (QA) is the planned and systematic set of activities used to provide confidence that quality requirements will be fulfilled. QA is primarily process-oriented and preventive. It examines whether suitable methods, standards, controls, and improvement mechanisms are in place.

Examples include:

  • defining coding and documentation standards;
  • reviewing the development process;
  • assessing supplier practices;
  • auditing compliance with required procedures;
  • training staff in quality methods;
  • establishing measurement and reporting practices; and
  • analysing recurring causes of defects.

QA does not mean testing alone. Testing is an important quality activity, but QA also asks whether the project is using a credible approach to prevent errors and produce reliable evidence.

Quality control

Quality control (QC) is the operational set of activities used to determine whether a deliverable satisfies specified quality criteria. QC is primarily product-oriented and detective. It includes inspection, testing, measurement, and defect recording.

Examples include:

  • reviewing requirements for ambiguity;
  • inspecting source code;
  • executing functional tests;
  • measuring response time;
  • checking deployment packages;
  • performing security scans; and
  • documenting and retesting defects.

QA and QC are complementary. QA seeks to improve the process that produces the deliverable; QC evaluates the deliverable itself. A project that performs extensive QC but has weak QA may repeatedly discover the same kinds of defects. A project with strong QA but inadequate QC may follow a good process without obtaining sufficient evidence that the actual product works.

AspectQuality assuranceQuality control
Main orientationProcess and preventionProduct and detection
Typical questionAre we using an effective process?Does this deliverable meet its criteria?
ExamplesAudits, standards, process improvementTesting, inspection, measurement
TimingThroughout the life cycleAt defined verification and evaluation points
Typical outputConfidence in the process and improvement actionsResults, defect records, acceptance evidence

The distinction should not be treated as absolute. Some activities, such as peer review, can contribute to both assurance and control depending on their purpose and use.

4. Verification and Validation

Verification and validation are closely related but answer different questions.

Verification asks: “Are we building the product right?” It evaluates whether work products conform to specified requirements, designs, standards, and constraints. Verification can occur without executing the complete system. Requirements inspections, design reviews, code reviews, static analysis, and interface checks are examples.

Validation asks: “Are we building the right product?” It evaluates whether the completed or incrementally delivered system satisfies intended use and stakeholder needs. User acceptance testing, operational trials, usability evaluation, and realistic demonstrations are examples.

The difference can be illustrated by an online appointment system. Verification may establish that the system correctly implements the specified booking rules. Validation may reveal that patients cannot understand the appointment categories or that the workflow does not fit clinic operations. The system could pass verification and fail validation.

Verification and validation should be planned early. Waiting until the end of a project to discover that users needed a different workflow creates expensive rework and may make correction impossible within the schedule.

Relationship among QA, QC, verification, and validation

These terms overlap in practice but are not synonyms. QA establishes confidence in the development and management process. QC evaluates deliverables. Verification checks conformity to specified requirements. Validation checks fitness for intended use. Verification is often a QC activity, while audits and process improvement are often QA activities. Validation may involve QC testing, but it also requires stakeholder judgment and operational context.

5. Defects, Errors, Failures, and Problems

A clear vocabulary helps teams analyse causes rather than merely describe symptoms.

  • An error is a human mistake, such as misunderstanding a business rule.
  • A defect or fault is an imperfection in a work product caused by an error, such as an incorrect formula in source code.
  • A failure occurs when the software behaves contrary to an expected result during execution.
  • A problem is an undesirable condition requiring attention; it may involve one or more defects, process weaknesses, or external causes.

A requirements misunderstanding may create a design defect, which may cause a runtime failure, which may become a business problem such as an incorrect customer charge. Quality management benefits from tracing the visible failure back to its underlying cause.

Corrective action removes or reduces the effect of an existing defect. Preventive action addresses the cause of a potential defect or recurrence. For example, correcting a tax calculation is corrective action; improving requirements review and adding automated regression tests may be preventive action.

6. Risk, Issue, and Uncertainty

Risk

A risk is an uncertain event or condition that, if it occurs, may have a positive or negative effect on one or more project objectives. Threats have negative effects; opportunities have positive effects. Objectives commonly include scope, schedule, cost, quality, security, compliance, and benefits.

Risk has two essential properties: uncertainty and effect. If an event has already occurred, it is no longer a risk in the ordinary project-management sense; it is an issue. If an event cannot occur, it is not a current risk, although an incorrect assumption about it may create one.

Examples of threats include:

  • a key developer becoming unavailable;
  • a supplier failing to deliver an interface on time;
  • an undocumented legacy dependency causing integration failure; and
  • a change in privacy regulation affecting the design.

Examples of opportunities include:

  • reuse of a proven component reducing delivery effort; and
  • early user testing revealing a simpler and more valuable workflow.

Issue

An issue is a current condition, event, or problem that requires action. “The payment service has failed three times this week” is an issue. “The payment service may become unavailable during peak traffic” is a risk. A risk can become an issue when it occurs.

Issues require ownership, analysis, action, and tracking. Treating an issue as merely a risk can delay necessary intervention. Treating every possibility as an issue can create unnecessary escalation and administrative effort.

Uncertainty

Uncertainty is a lack of complete knowledge about events, conditions, facts, or consequences. It is broader than risk. Uncertainty may concern whether an event will occur, when it will occur, how severe its effect will be, or which response will be effective.

Some uncertainty can be estimated using historical evidence or expert judgment. Other uncertainty is deep or irreducible: the relevant events or probabilities may not be known. The appropriate response may then involve experimentation, prototypes, staged commitments, monitoring, or contingency planning rather than a precise numerical estimate.

ConceptStatusExample
UncertaintyKnowledge is incompleteThe team does not know whether a new API will meet performance needs.
RiskAn uncertain event may affect objectivesThe API may be too slow, delaying release.
IssueThe condition has occurred or is presentPerformance testing shows the API exceeds the response-time limit.
DefectA flaw exists in a work productThe integration code mishandles timeouts.

7. The Risk Management Cycle

Risk management is a continuous management process rather than a one-time document. A practical cycle includes:

  1. Identify risks through workshops, interviews, lessons learned, assumptions analysis, technical spikes, and reviews.
  2. Analyse probability, impact, proximity, causes, consequences, and interdependencies.
  3. Prioritize risks so that limited attention is directed to the most significant exposures.
  4. Plan responses appropriate to the risk and project context.
  5. Assign ownership to a person or role responsible for monitoring and action.
  6. Monitor and communicate changes, triggers, residual exposure, and emerging risks.

Common responses to threats are avoidance, mitigation, transfer, and acceptance. Avoidance changes the plan to eliminate the threat. Mitigation reduces probability or impact. Transfer allocates responsibility or financial exposure to another party, although it rarely eliminates the underlying technical risk. Acceptance means consciously retaining the exposure, with or without a contingency plan.

Responses to opportunities include exploiting the opportunity, enhancing its probability or benefit, sharing it with another party, or accepting it without proactive action.

A risk register commonly records the description, cause, event, consequence, probability, impact, response, owner, trigger, status, and review date. It should support decisions rather than become a static administrative archive.

Qualitative and quantitative assessment

At certificate level, qualitative assessment is often sufficient. A team may classify probability and impact as low, medium, or high and use a risk matrix to focus discussion. Such ratings are ordinal judgments; “high” does not necessarily mean twice “medium.”

When reliable data exists, an expected monetary value can support comparison:

EMV = P × I

Here, EMV is expected monetary value, P is the probability of the event expressed as a number from 0 to 1, and I is the monetary impact if it occurs. The formula assumes a reasonably defined event, a meaningful probability estimate, and an impact measured on a comparable monetary basis. It is an average decision-support measure, not a prediction of the exact loss that will occur. It is inappropriate to treat uncertain estimates as precise facts or to ignore non-monetary consequences such as safety, reputation, or privacy.

For example, if a delay has an estimated probability of 0.20 and would cost £10,000 if it occurred, its EMV is:

EMV = 0.20 × £10,000 = £2,000

This result can help compare response options, but the project should still consider schedule disruption, customer trust, and regulatory consequences.

8. How Quality and Risk Interact

Quality activities are major risk responses. Requirements reviews reduce the risk of building the wrong product. Architecture reviews reduce the risk of structural failure. Automated regression tests reduce the risk that changes will reintroduce known defects. Security testing reduces the risk of unauthorized access. User validation reduces the risk of low adoption.

Risk also determines the appropriate level of quality control. A low-impact internal prototype may need lightweight testing. A system controlling financial transactions, medical decisions, or critical infrastructure requires stronger evidence, independent review, traceability, and release controls.

The relationship can be represented as a management loop:

  • risks identify where failure is plausible and consequential;
  • quality criteria define what acceptable performance means;
  • assurance establishes whether the process is capable of achieving it;
  • control activities collect evidence about the product; and
  • results update the risk picture and guide corrective action.

This loop prevents quality from becoming a final inspection activity. Quality must be designed into requirements, architecture, planning, procurement, development, testing, deployment, and operation.

9. Cost of Quality and Early Learning

The cost of quality is often considered in four categories:

  • Prevention costs: training, process design, standards, and test automation;
  • Appraisal costs: inspections, testing, audits, and measurement;
  • Internal failure costs: rework and defect correction before release; and
  • External failure costs: support, refunds, legal exposure, reputation damage, and harm after release.

This classification does not mean every prevention activity is worthwhile. It supports comparison of investment and consequence. A small investment in clarifying a high-risk requirement may prevent extensive rework later. However, excessive documentation or low-value testing can consume resources without improving outcomes.

The practical principle is early learning. Finding a defect or invalid assumption near its source generally provides more options for correction than finding it after deployment. Early prototypes, frequent integration, code review, automated tests, and incremental stakeholder feedback are mechanisms for obtaining that learning.

10. Illustrative Case: The Community Clinic Booking System

Background

A fictional community health organization commissions an online booking system. The sponsor expects a six-month delivery, while clinic staff need a system that reduces telephone workload and patients need a simple way to find and change appointments.

Problem

The initial specification lists functions such as “create appointment,” “cancel appointment,” and “send reminder.” It says little about accessibility, privacy, peak-time performance, or integration with the existing clinical database. The project team begins coding immediately.

Analysis

A requirements workshop identifies several risks:

  • unclear appointment terminology may cause incorrect bookings;
  • the legacy database may not support the proposed integration load;
  • reminder messages may disclose sensitive information;
  • some patients may use mobile devices or assistive technologies; and
  • clinic staff may reject a workflow that adds steps to their work.

The team converts these concerns into quality criteria and risk responses. Usability sessions are planned with representative users. A technical spike tests the database interface. Privacy specialists review message content. Accessibility checks are included in acceptance criteria. Clinic staff participate in demonstrations every two weeks.

Verification activities review requirements, interface designs, code, and integration behaviour. Validation activities ask patients and staff to complete realistic booking tasks. Performance tests are conducted using an expected peak workload rather than only a small developer dataset.

Approach and outcome

Testing reveals that the original design uses clinical service codes that patients do not understand. This is a validation failure, not simply a coding defect. The team changes the interface to use plain-language categories while retaining the codes internally. The integration spike also reveals an unreliable database response during peak use. The architecture is changed to use controlled caching and a monitored queue.

Before release, the project has an open issue concerning a failed accessibility test. The team does not relabel it as a future risk. It assigns an owner, defines corrective work, and delays the affected release increment until the issue is resolved.

The system is delivered slightly later than the original target but achieves higher adoption, fewer booking errors, and fewer support calls. The sponsor accepts the revised schedule because the project demonstrates greater stakeholder value and lower operational risk.

Learning points

  1. A specification is not a complete substitute for stakeholder understanding.
  2. Verification can show conformance, while validation can expose an unsuitable design.
  3. Technical experiments reduce uncertainty before expensive implementation.
  4. Quality criteria should include non-functional characteristics such as privacy, accessibility, and performance.
  5. A current failure is an issue requiring action, not merely a risk to record.
  6. Project success should be judged by valuable outcomes, not schedule compliance alone.

11. Governance, Ethics, and Professional Responsibility

Software professionals have responsibilities beyond satisfying the immediate purchaser. They should communicate material risks honestly, protect personal information, avoid misleading claims, and escalate conditions that may cause significant harm. A manager should not suppress defect information to create a misleading status report. A developer should not knowingly bypass a safety control without authorization and documented assessment.

Governance establishes who can make quality decisions, what evidence is required, how exceptions are approved, and when a release must be stopped. Useful controls include defined acceptance criteria, traceability for critical requirements, independent review where appropriate, change control, access control, audit records, and documented release decisions.

Ethical quality management also requires proportionality. Controls should reflect the consequences of failure, not merely organizational habit. In systems involving children, health, finance, employment, or personal data, privacy, fairness, accessibility, and security deserve explicit attention. Legal compliance is a minimum obligation; it does not remove the duty to consider foreseeable harm.

12. Contemporary Practice

Modern delivery practices integrate quality and risk into everyday work. Continuous integration provides frequent feedback on build and test status. Automated tests and static analysis can detect recurring problems quickly, but they cannot replace human judgment, exploratory testing, or user validation. DevOps practices extend responsibility for quality into deployment and operations through monitoring, observability, rollback capability, and incident learning.

Artificial intelligence can assist with test generation, defect classification, code review, and risk pattern analysis. However, AI-generated outputs may contain errors, insecure code, bias, or unsuitable assumptions. Teams must verify outputs, protect confidential data used with AI tools, maintain human accountability, and document important decisions. Automation changes the nature of review; it does not eliminate the need for professional review.

13. Practical Best Practices

For a software project team:

  • define quality in terms of stakeholder outcomes and measurable acceptance criteria;
  • identify quality and risk concerns during initiation, not only before release;
  • distinguish product evaluation from process improvement;
  • use both verification and validation;
  • make risks specific by describing cause, uncertain event, and consequence;
  • record issues separately from future risks and assign owners;
  • test high-risk assumptions early through prototypes or technical experiments;
  • include security, privacy, accessibility, performance, and maintainability where relevant;
  • use evidence rather than optimistic status statements;
  • review residual risk before release; and
  • capture lessons learned and apply them to subsequent work.

Challenges and Limitations

Quality cannot be reduced to a single score. Metrics may be incomplete, encourage gaming, or measure activity rather than value. A high number of tests does not prove that important scenarios have been tested. A low defect count may indicate quality—or inadequate reporting. Risk ratings are affected by bias, optimism, incomplete information, and changing conditions.

Quality standards and procedures can also become bureaucratic. Their value depends on whether they improve decisions and outcomes. Finally, stakeholders may disagree about acceptable quality, and project constraints may make all desirable qualities unattainable simultaneously. Professional judgment is therefore required to make trade-offs explicit, evidence-based, and ethically defensible.

Chapter Summary

Software quality is the degree to which a product, process, or outcome satisfies requirements, expectations, standards, and intended use. It includes functional and non-functional characteristics such as usability, reliability, security, performance, maintainability, and accessibility. Quality assurance is principally preventive and process-oriented, whereas quality control evaluates deliverables through activities such as inspection and testing.

Verification asks whether the product is being built according to specified requirements; validation asks whether it is the right product for stakeholder needs. Errors can create defects, defects can cause failures, and failures can become business problems. A risk is an uncertain event or condition that may affect objectives; an issue is a current condition requiring action; uncertainty is the broader lack of complete knowledge.

Risk management involves identification, analysis, prioritization, response planning, ownership, monitoring, and communication. Quality practices are important risk responses, and risk exposure should influence the depth of assurance and control. Effective projects integrate quality and risk management throughout the life cycle, use evidence for decisions, protect stakeholders, and treat ethical and governance responsibilities as essential parts of professional practice.

Key Terms

Quality: The degree to which a product, process, or outcome satisfies requirements, expectations, standards, and intended use.

Software quality: The set of characteristics that determine whether software delivers required and valuable outcomes.

Quality assurance: Planned and systematic activities that provide confidence in the quality of processes and outcomes.

Quality control: Operational activities that evaluate deliverables against defined quality criteria.

Verification: Evaluation of whether a work product conforms to specified requirements and standards.

Validation: Evaluation of whether a product satisfies intended use and stakeholder needs.

Stakeholder: A person or organization that affects, is affected by, or has an interest in a project or product.

Requirement: A documented or communicated need, capability, condition, or constraint.

Error: A human mistake or incorrect action.

Defect: An imperfection or fault in a work product.

Failure: Observable incorrect behaviour during software execution.

Risk: An uncertain event or condition that may affect an objective.

Threat: A risk with a potentially negative effect.

Opportunity: A risk with a potentially positive effect.

Issue: A current problem or condition requiring action.

Uncertainty: Incomplete knowledge about events, conditions, or consequences.

Risk register: A record of identified risks, assessments, responses, owners, and status.

Residual risk: Risk remaining after responses have been implemented.

Acceptance criteria: Conditions that a deliverable must satisfy to be accepted.

Traceability: The ability to relate requirements to designs, implementation, tests, and evidence.

Review Questions

Short Answer Questions

  1. Define software quality and explain why it is multidimensional.
  2. What is the main difference between quality assurance and quality control?
  3. Distinguish verification from validation.
  4. Define risk and issue, and explain how one can become the other.
  5. State two ways in which quality activities reduce project risk.

Long Answer Questions

  1. Explain how product, process, and project quality are related but different.
  2. Discuss the importance of stakeholder value when defining software quality.
  3. Describe the risk management cycle and the responsibilities of a risk owner.
  4. Explain the relationship among errors, defects, failures, and business problems.
  5. Discuss why ethical and governance considerations are part of software quality management.

Analytical / Application Questions

  1. A project meets all documented functional requirements, but users find the workflow confusing and adoption is low. Analyse whether this is primarily a verification failure, a validation failure, or both. Justify your answer.
  2. A supplier has not yet missed a delivery, but evidence suggests its interface will not support expected peak traffic. Classify the situation as uncertainty, risk, issue, or defect, and recommend an appropriate response.
  3. Design a small quality and risk approach for a mobile payment application. Identify three quality characteristics, three risks, suitable verification or validation activities, and release evidence for each.

Multiple Choice Questions with Answers

Question 1

Which statement best describes quality assurance?

A. Testing every feature after coding is complete

B. Planned activities that provide confidence in the development process

C. Fixing defects reported by users after release

D. Approving the project budget

Correct Answer: B. Planned activities that provide confidence in the development process

Question 2

What question does verification primarily address?

A. Are we building the product right?

B. Will the product be profitable?

C. Are users satisfied with the business case?

D. Has every project risk disappeared?

Correct Answer: A. Are we building the product right?

Question 3

Which situation is an issue rather than a risk?

A. A supplier may deliver an interface late

B. A new regulation might change the design

C. Performance testing has already shown unacceptable response times

D. A developer may become unavailable

Correct Answer: C. Performance testing has already shown unacceptable response times

Question 4

Which quality characteristic concerns protection from unauthorized access?

A. Portability

B. Usability

C. Maintainability

D. Security

Correct Answer: D. Security

Question 5

A project estimates a 0.10 probability of a £20,000 loss. Using EMV = P × I, what is the expected monetary value?

A. £200

B. £2,000

C. £20,100

D. £200,000

Correct Answer: B. £2,000

Question 6

Which activity is most clearly an example of validation?

A. Checking source code against coding standards

B. Inspecting a database schema against its design

C. Asking representative users to complete realistic tasks

D. Running static analysis on a build

Correct Answer: C. Asking representative users to complete realistic tasks

Question 7

What is a defect?

A. A human mistake that produces an incorrect decision

B. An imperfection in a work product

C. Any uncertain future event

D. A stakeholder who rejects a release

Correct Answer: B. An imperfection in a work product

Question 8

Which response seeks to reduce the probability or impact of a threat?

A. Mitigation

B. Exploitation

C. Validation

D. Acceptance testing

Correct Answer: A. Mitigation

Question 9

Why should high-risk assumptions be tested early?

A. To eliminate the need for stakeholder involvement

B. To increase uncertainty before implementation

C. To obtain learning while correction options are still available

D. To guarantee that no defects will occur

Correct Answer: C. To obtain learning while correction options are still available

Question 10

Which statement about quality metrics is most accurate?

A. A high test count proves that software is high quality

B. A low defect count always proves that testing was effective

C. Metrics require interpretation because they may be incomplete or misleading

D. Metrics remove the need for professional judgment

Correct Answer: C. Metrics require interpretation because they may be incomplete or misleading

Software Quality & Risk Management
Chapter 1 of 14