Markdown Editor

Non-Functional Requirements & Quality Attribute Scenarios Template

ISO/IEC 25010:2023 qualities, utility tree priorities, six-part scenarios, measurement methods and acceptance thresholds

Requirements & AnalysisFullISO/IEC 25010:2023, SEI quality attribute scenariosqualityattributesmath

How to use: Use it when quality goals such as performance, reliability or security drive the architecture. Build the utility tree with stakeholders first, then write scenarios for high-priority leaves. The main pitfall is adjectives like fast or secure without a measurable response.

Preview

Non-Functional Requirements and Quality Attribute Scenarios: [System name]

Complete non-functional requirements (NFR) specification. Quality characteristics follow the product quality model of ISO/IEC 25010:2023; each important quality is made testable with six-part quality attribute scenarios in the style taught by the Software Engineering Institute (SEI), and prioritised in a utility tree. Replace every [bracketed] value and every row marked Example.

Document control

FieldValue
Document ID[NFR-SYSTEM-001]
System[System name] [release]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Owner[@architect]
Classification[Internal / Confidential]
Last updatedYYYY-MM-DD
Related documents[SRS / SyRS], [Architecture description], [Performance test plan], [Threat model], [SLOs]

[release]: how well the system must perform its functions, under which

Approvals

RoleNameDecisionDate
Product owner[@name][Approved / Rejected / Approved with comments]YYYY-MM-DD
Lead architect[@name][Decision]YYYY-MM-DD
Operations / SRE lead[@name][Decision]YYYY-MM-DD
Security lead[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]Initial utility tree from quality workshop
0.2YYYY-MM-DD[@name]Example: Tightened QAS-PE-01 to 300 ms after load test baseline; added safety scenarios
1.0YYYY-MM-DD[@name]Example: Approved with architecture baseline

Contents

1. Introduction

1.1 Purpose and scope

This document defines the quality requirements for [System name] [release]: how well the system must perform its functions, under which conditions, and how that will be measured. Functional behaviour is specified in [SRS-xxx].

1.2 Business drivers for quality

DriverQuality implication
Example: Checkout conversion drops 7% per extra second of latencyPerformance efficiency is top priority for checkout
Example: Card data in scope of PCI DSSSecurity, confidentiality and accountability are mandatory
Example: Three releases per week plannedMaintainability and testability must stay high
[Driver][Implication]

1.3 Stakeholders consulted

StakeholderQualities of most concernWorkshop or source
Example: Product ownerPerformance, interaction capabilityQAW-1
Example: SRE leadReliability, observabilityQAW-1
[Stakeholder][Qualities][Source]

2. Quality model and conventions

2.1 Identifiers

  • Requirements: NFR-<char>-<nn>, for example NFR-PE-03.
  • Scenarios: QAS-<char>-<nn>, for example QAS-RE-01.
  • Characteristic codes: FS functional suitability, PE performance efficiency, CO compatibility, IC interaction capability, RE reliability, SE security, MA maintainability, FL flexibility, SA safety.

2.2 Six-part scenario format

PartMeaning
SourceWho or what generates the stimulus (user, attacker, operator, timer, failing component)
StimulusThe event or condition that arrives (request, fault, change request, attack)
ArtifactThe part of the system stimulated (whole system, a service, the data store, the code base)
EnvironmentConditions at the time (normal load, peak, degraded, during deployment)
ResponseWhat the system does
Response measureHow the response is measured, with a threshold

3. Quality characteristics

CodeCharacteristicSub-characteristics (summary)RelevanceNotes
FSFunctional suitabilityFunctions are complete for the stated needs, give correct results, and suit the tasks users perform[High / Medium / Low / Not significant][Why]
PEPerformance efficiencyResponse and processing time, use of resources such as CPU and memory, and capacity limits under loadExample: HighCheckout latency drives revenue
COCompatibilityCoexists with other software sharing an environment, and exchanges and uses information with other systems[Relevance][Why]
ICInteraction capabilityUsers can recognise if it fits their needs, learn it, operate it, avoid and recover from errors, find it engaging, include users of all abilities, get help, and understand its behaviourExample: HighMany first-time buyers
REReliabilityFree of faults in normal use, available when needed, tolerant of faults, and able to recover data and state after failureExample: High24/7 storefront
SESecurityProtects confidentiality and integrity, proves actions took place, traces actions to who did them, confirms identities, and resists attackExample: HighCard and personal data
MAMaintainabilityBuilt from separable modules, reusable parts, easy to analyse, change and testExample: MediumFrequent releases
FLFlexibilityAdapts to new environments, scales up or down with demand, installs easily, and can replace another product[Relevance][Why]
SASafetyAvoids states that endanger people, property or the environment: limits operation when risky, fails safe, warns of hazards, and integrates safely[Relevance][Why, or "Not significant: no physical actuation"]

4. Utility tree and priorities

The tree below shows the top-level refinements; the table lists every leaf with its rating.

QualityRefinementScenarioImportanceDifficultyPriority
Performance efficiencyLatencyQAS-PE-01 Checkout response at peakHM(H,M)
Performance efficiencyCapacityQAS-PE-02 Sale-day traffic spikeHH(H,H)
ReliabilityAvailabilityQAS-RE-01 Payment provider outageHH(H,H)
ReliabilityRecoverabilityQAS-RE-02 Database node lossHM(H,M)
SecurityConfidentialityQAS-SE-01 Card data exposure attemptHM(H,M)
SecurityAccountabilityQAS-SE-02 Admin price change auditML(M,L)
MaintainabilityModifiabilityQAS-MA-01 New payment methodMM(M,M)
MaintainabilityTestabilityQAS-MA-02 Regression suite timeML(M,L)
Interaction capabilityLearnabilityQAS-IC-01 First-time checkoutHL(H,L)
Interaction capabilityInclusivityQAS-IC-02 Screen reader checkoutHM(H,M)
[Quality][Refinement][QAS-xx-nn][H/M/L][H/M/L][(I,D)]

5. Quality attribute scenarios

5.1 Performance efficiency

QAS-PE-01 Checkout response at peak

PartValue
Source2,000 concurrent shoppers
StimulusSubmit order with payment
ArtifactCheckout service and its dependencies
EnvironmentNormal peak load (Friday evening), all components healthy
ResponseOrder accepted, payment authorised, confirmation shown
Response measurep95 end-to-end latency at most 800 ms; p99 at most 1,500 ms; error rate below 0.1%

QAS-PE-02 Sale-day traffic spike

PartValue
SourceMarketing campaign
StimulusTraffic rises from 300 to 3,000 requests per second within 5 minutes
ArtifactStorefront and checkout
EnvironmentAutoscaling enabled
ResponseCapacity scales out; no requests dropped
Response measureScale-out complete within 3 min; p95 latency stays under 1,200 ms during ramp

5.2 Reliability

QAS-RE-01 Payment provider outage

PartValue
SourceExternal payment provider
StimulusProvider returns errors or times out for all requests
ArtifactPayment adapter
EnvironmentNormal load
ResponseCircuit opens; traffic fails over to secondary provider; customer sees no error
Response measureFailover within 30 s; fewer than 0.5% of checkouts fail during the event

QAS-RE-02 Database node loss

PartValue
SourceInfrastructure fault
StimulusPrimary database node terminates
ArtifactOrder database cluster
EnvironmentPeak load
ResponseReplica promoted; writes resume
Response measureRecovery time at most 60 s; zero committed orders lost (RPO = 0)

5.3 Security

QAS-SE-01 Card data exposure attempt

PartValue
SourceExternal attacker with a valid customer account
StimulusAttempts to read another customer's stored payment methods through the API
ArtifactAccount API
EnvironmentProduction, normal operation
ResponseRequest denied; event logged and alerted
Response measure100% of cross-account requests denied in penetration test; alert within 1 min

QAS-SE-02 Administrator price change audit

PartValue
SourceAdministrator
StimulusChanges the price of a product
ArtifactCatalogue admin
EnvironmentNormal operation
ResponseChange recorded with who, when, old and new value
Response measure100% of changes traceable to a named user; records kept 7 years

5.4 Maintainability

QAS-MA-01 New payment method

PartValue
SourceProduct team
StimulusRequest to add a new wallet payment method
ArtifactPayment module code base
EnvironmentDesign time
ResponseMethod added as a new adapter without changing checkout logic
Response measureAt most 10 developer-days; no change to more than 2 existing modules

QAS-MA-02 Regression suite time

PartValue
SourceDeveloper
StimulusOpens a pull request
ArtifactCI pipeline
EnvironmentNormal CI load
ResponseFull automated regression suite runs
Response measureCompletes within 15 min with flaky failure rate below 1%

5.5 Interaction capability

QAS-IC-01 First-time checkout

PartValue
SourceFirst-time shopper
StimulusBuys one item as a guest
ArtifactWeb storefront
EnvironmentMobile phone, 4G connection
ResponsePurchase completed without help
Response measure90% of test participants finish in under 3 min with no critical errors

QAS-IC-02 Screen reader checkout

PartValue
SourceShopper using a screen reader
StimulusCompletes checkout
ArtifactCheckout pages
EnvironmentCurrent versions of two major screen readers
ResponseAll controls labelled, errors announced
Response measureZero WCAG 2.2 AA failures in audit; task success in assisted test

5.6 Other characteristics

ScenarioCharacteristicSummaryResponse measure
QAS-CO-01CompatibilityExample: Order export consumed by the ERP100% of exports accepted by ERP schema validation
QAS-FL-01FlexibilityExample: Deploy a new regionNew region live within 2 days using existing templates
QAS-FS-01Functional suitabilityExample: Tax calculationMatches tax engine reference for 1,000 sampled baskets
QAS-SA-01Safety[Scenario or "Not significant" with reason][Measure]

6. Measurement methods

MeasureMethodTool / sourceEnvironmentFrequency
Latency percentilesLoad test with production-like traffic mix[Load test tool]Pre-productionEach release
Latency in productionServer-side histograms[Monitoring platform]ProductionContinuous
AvailabilitySuccessful requests over total, per month[Monitoring platform]ProductionMonthly
Recovery timeFault injection exercise[Chaos tool]StagingQuarterly
Security controlsPenetration test, automated scanning[Tools]Staging, productionAnnual, per build
UsabilityModerated usability test, 8 to 12 participants[Method]Prototype or stagingPer major change
AccessibilityAutomated audit plus manual screen reader test[Tools]StagingEach release
ModifiabilityChange effort recorded against estimateIssue trackerDevelopmentPer change

Availability is calculated as:

A=successful requeststotal valid requests×100%A = \frac{\text{successful requests}}{\text{total valid requests}} \times 100\%

A 99.9% monthly target allows an error budget of 0.001×30×24×60≈430.001 \times 30 \times 24 \times 60 \approx 43 minutes of full outage.

7. Acceptance thresholds

ScenarioMeasureTargetMinimum for releaseVerificationOwner
QAS-PE-01p95 checkout latency600 ms800 msLoad test PERF-01[@name]
QAS-PE-02Scale-out time2 min3 minLoad test PERF-04[@name]
QAS-RE-01Failover time15 s30 sChaos test CH-02[@name]
QAS-RE-02Recovery time, data loss30 s, 060 s, 0Chaos test CH-05[@name]
QAS-SE-01Cross-account denial100%100%Pen test PT-2026[@name]
QAS-MA-02CI regression time10 min15 minCI metrics[@name]
QAS-IC-01Task success under 3 min95%90%Usability test UT-03[@name]
[QAS-xx-nn][Measure][Target][Minimum][Method][@name]

8. Traceability and trade-offs

ScenarioSource needArchitecture decisionTestMonitoring
QAS-PE-01BR-003 conversionADR-004 read-through cachePERF-01Checkout latency dashboard
QAS-RE-01BR-005 revenue continuityADR-009 dual payment providersCH-02Payment error alert
[QAS-ID][Need][ADR-ID][Test][Dashboard or alert]
Trade-offQualities in tensionDecisionRationale
Example: Caching product prices for 60 sPerformance vs functional correctnessAccept 60 s staleness; checkout re-validates priceLatency gain outweighs rare price mismatch
[Trade-off][Qualities][Decision][Rationale]

9. Appendices

9.1 Glossary

TermDefinition
p95, p9995th and 99th percentile of a measured distribution
RPORecovery point objective: maximum acceptable data loss, in time
Utility treeHierarchy that refines overall system utility into prioritised, testable scenarios
[Term][Definition]

9.2 References

IDTitleVersion
REF-01ISO/IEC 25010:2023 Product quality model2023
REF-02Bass, Clements, Kazman, Software Architecture in Practice[Edition]
REF-03WCAG 2.22023
[REF-nn][Title][Version]

Standard and licence note

Structure aligned with ISO/IEC 25010:2023, Systems and software Quality Requirements and Evaluation (SQuaRE): Product quality model, for the set of quality characteristics, and with the quality attribute scenario and utility tree techniques published by the Software Engineering Institute. Characteristic descriptions are summaries in original wording. This template is original text written for this collection and reproduces no text from the standard; obtain the standard from ISO or IEC for its normative definitions. Template licence: MIT.

Related templates