Non-functional requirement
A requirement about system qualities over time, such as reliability, performance, security, cost, and operability.
Definition
A non-functional requirement (NFR) describes how the system must behave over time.
Common NFRs include reliability, performance, security, cost, and operability.
NFRs are the part that usually decides architecture.
How to make NFRs real
Write numbers when you can.
- Reliability: define an SLI and SLO.
- Performance: define tail latency like p99 latency and expected load like QPS.
Common mistake
Saying “everything is important.”
Good designs pick priorities. Tradeoffs exist whether you admit them or not.