Non-Functional Requirement (NFR)
In Agile delivery, a Non-Functional Requirement (NFR) describes the product's quality attributes, such as performance, security, and usability, rather than specific features. It sets measurable quality expectations the solution must satisfy.
Key Points
- NFRs express quality attributes like performance, security, or usability in Agile delivery, not functional behavior.
- They should be specific and testable (e.g., p95 latency <= 200 ms, enforce role-based access control, meet usability standards).
- NFRs are captured on the backlog, refined into acceptance criteria, and included in the Definition of Done.
- They drive architecture and risk management and are validated with performance, security, and usability testing.
Example
An agile team building an e-commerce API adds an NFR: "95th percentile response time <= 200 ms with 1,000 concurrent users, pass critical security tests, and meet basic usability heuristics." The Product Owner adds enabling work for load testing and caching, the team updates Definition of Done to include security scans, and they run usability checks before releasing.
PMP Example Question
Which item best represents a Non-Functional Requirement (NFR) for an Agile product?
- Implement a new checkout feature with coupon support.
- The system must process 95% of API calls within 200 ms under 1,000 concurrent users.
- As a user, I want to reset my password via email.
- Create a dashboard with sales charts and filters.
Correct Answer: B — A measurable performance quality attribute
Explanation: Option B specifies a quality attribute (performance) with measurable criteria, which is an NFR. The other options describe functional features.