✦ For everyone, free.

Practical knowledge for real and everyday life

Home

Nonfunctional Quality Management

Nonfunctional Quality Management ensures systems meet performance, security, and reliability standards beyond basic functionality.

Nonfunctional Quality Management is the deliberate identification, planning, verification, and ongoing oversight of the characteristics a product must exhibit beyond its specific functional behavior, including performance, security, reliability, usability, and maintainability, ensuring these characteristics receive the same explicit attention within Agile Quality Management that functional correctness typically receives by default. It addresses a well-known risk in iterative delivery: because nonfunctional characteristics are often less visible in a single demonstration of a feature than functional behavior is, they can be unintentionally neglected unless deliberately and separately managed.


Why Nonfunctional Characteristics Require Distinct Management

Less Visible Than Functional Behavior

A feature can appear to work correctly in a brief demonstration while still suffering from poor performance under realistic load, weak security, or usability problems that only surface with sustained or varied use, meaning these characteristics are easy to overlook without deliberate attention.

Often Cross-Cutting Rather Than Localized

Many nonfunctional characteristics, such as performance or security, are shaped by decisions spread across many parts of a product rather than confined to a single feature, requiring management practices that consider the system holistically rather than only at the level of individual items.

Costly to Retrofit

Because nonfunctional characteristics are often deeply tied to fundamental architectural and design decisions, addressing a significant nonfunctional shortfall discovered late is typically far more disruptive and costly than addressing it through deliberate management from early in development.


Categories of Nonfunctional Characteristics Commonly Managed

Performance and Scalability

This category concerns how quickly and efficiently the product responds under varying levels of demand, and how well it continues to perform as usage grows, requiring specific testing and monitoring distinct from functional verification.

Security

This category concerns the product's resistance to unauthorized access, data exposure, or malicious manipulation, requiring dedicated practices such as threat consideration during design and specific security-focused testing.

Reliability and Availability

This category concerns how consistently the product remains operational and how it behaves when a failure does occur, including its ability to recover gracefully rather than fail in a way that causes broader disruption.

Usability and Accessibility

This category concerns how effectively and comfortably actual users, including those with varying abilities, can accomplish their goals using the product, requiring evaluation methods distinct from purely functional correctness checks.

Maintainability

This category concerns how easily the product can be understood, modified, and extended by the team over time, directly connecting nonfunctional quality management to the broader concern of managing technical and quality debt.


Practices for Managing Nonfunctional Quality

Defining Explicit, Measurable Targets

Nonfunctional characteristics are managed effectively when expressed as specific, measurable targets — such as a maximum acceptable response time under a defined load — rather than vague aspirations, since only a measurable target can be objectively verified.

Including Nonfunctional Criteria in Definition of Done

Embedding relevant nonfunctional expectations directly into the team's definition of done ensures they are considered a required part of completing work, rather than treated as optional extras separate from what makes an item genuinely finished.

Dedicated Testing and Monitoring

Verifying nonfunctional characteristics typically requires testing approaches distinct from standard functional testing, such as load testing for performance or automated scanning for security, and ongoing monitoring in live environments to confirm characteristics hold up under real conditions over time.

Periodic Architectural Review

Because many nonfunctional characteristics are shaped by architecture, periodically reviewing architectural decisions specifically against nonfunctional goals helps catch drift or emerging risk before it becomes deeply embedded and difficult to correct.


Integrating Nonfunctional Management Into Agile Iterations

Treating Nonfunctional Work as Legitimate Backlog Items

Work specifically aimed at establishing or improving a nonfunctional characteristic is planned and prioritized alongside functional feature work, rather than being treated as background activity that receives attention only when convenient.

Continuous Attention Rather Than a Separate Late Phase

Consistent with Agile's iterative approach, nonfunctional quality management occurs continuously across iterations rather than being deferred to a single dedicated phase near the end of a project, reducing the risk of major, late-discovered nonfunctional shortfalls.


Consequences of Neglecting Nonfunctional Quality Management

Functionally Correct but Practically Unusable Products

A product can pass every functional check while still failing to serve its users adequately due to poor performance, weak security, or difficult usability, undermining its practical value despite technically meeting its specifications.

Costly Late-Stage Remediation

Nonfunctional shortfalls discovered only near release or after deployment often require substantial rework, since the underlying causes are frequently structural rather than isolated, making early and continuous management considerably more cost-effective.


Visual Representation

Functional Quality Performance Security Reliability Usability Maintainability

Each characteristic surrounds and directly affects overall product quality. This can be expressed as:

Overall Product Quality = Functional Quality + i=1 n Nonfunctional Characteristic i

Nonfunctional Quality Management ensures each term in this sum receives deliberate, ongoing attention rather than being left implicit and unmanaged alongside the more visible functional term.