Non-functional requirements (NFRs)

Non-functional requirements are requirements that specify the expected quality attributes of a system.

Acceptance criteria are derived from NFRs. For example, if a system is expected to be highly available, an NFR may specify a requirement for the system to achieve an average monthly uptime of 99.99%. If a system is expected to have low latency, an NFR may specify a maximum response time of 500ms for reads and 1000ms for writes. These are measurable criteria that can be tested to verify that a system meets its non-functional requirements.

Non-functional requirements are sometimes called quality requirements or cross-functional requirements (CFRs), the latter indicating that qualities such as performance, availability, and security are [cross-cutting concerns] that cut through the whole system design.