Overview#Non-functional requirement (NFR) within design is a requirement of a system of how it should perform
Non-functional requirements define such as runtime qualities such as scalability, and reliability.
Non-functional requirements often address the User Experience
Non-functional requirements also define qualities includingBacklog Constraints
Non-functional requirement are persistent qualities and constraints that, unlike Functional Requirements, are typically revisited as part of the Definition of Done (DoD) for each Iteration, Program Increment (PI), or release. NFRs influence all backlogs
Non-functional requirements are NOT themselves backlog items. They are constraints on development that limit some degree of design freedom for those building the system. These constraints are often defined in the acceptance criteria (Definition of Done) for multiple backlog items.
The following criteria help define NFRs:
- Bounded – When they lack Bounded Context, NFRs may be irrelevant and lead to significant additional work.
- For example, an airplane’s flight controls should be more rigid reliability than the infotainment system.
- Independent – NFRs should be independent of each other so that they can be evaluated and tested without consideration of or impact from other system qualities.
- Negotiable – Understanding NFR business drivers and bounded context mandates negotiability.
- Testable – NFRs must be stated with objective, measurable, and testable criteria.