Overview#
Non-functional requirement (NFR) within design is a requirement of a system of how it should performNon-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 including
- maintainability by the Operations Team
- Testing
- extensibility
- deployability
Agile and Non-functional requirement#
Non-functional requirements are effectivly Backlog ConstraintsNon-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.
Non-functional requirements are often driven by Compliance to ensure the Product meets the Regulatory compliance or Standard compliance
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.
More Information#
There might be more information for this subject on one of the following:- [#1] - Nonfunctional Requirements
- based on information obtained 2019-03-21