Definition
Having a site dedicated to Non-Functional Requirements (NFR) requires to give a clear definition of the actual concept.
I have looked all over for a definition that encompasses my view and comprehension. I consulted Google, Wikipedia, many sites dedicated to business analysis and software engineering, the Business Analysis Body of Knowledge (BABOK), to name a few. Call me picky if you like, but nothing made it to the finishing line. They all had a certain centricity on either operation, constraints or qualities, which is for me too restrictive.
On Non-Functional Requirements
But who can pretend to be able to write a definition ? I was comforted by a white paper called “On Non-Functional Requirements” [1] presented at the very serious 15th IEEE International Requirements Engineering Conference. Some excerpts are transcribed below and the conference proceeding is available for download at the end of this post.
Try to keep in mind that whatever a project team has for a “definition” of Non-Functional Requirements they must be considered seriously.
Abstract
Although the term “non-functional requirement” has been in use for more than 50 years, there is still no consensus in the requirements engineering community what non-functional requirements are and how we should elicit, document, and validate them. On the other hand, there is a unanimous consensus that non-functional requirements are important and can be critical for the success of a project.
Definition of Non-Functional Requirements
Definitions |
Describe the nonbehavioral aspects of a system, capturing the properties and constraints under which a system must operate. [2] |
The required overall attributes of the system, including portability, reliability, efficiency, human engineering, testability, understandability, and modifiability. [3] |
Software requirement that describes not what the software will do but how the software will do it cf. design constraint, functional requirement, performance requirement, quality requirement EXAMPLE: software performance requirements, software external interface requirements, software design constraints, and software quality attributes.[4] |
Quality (Non-Functional) Requirements. – Include a number of the ‘ilities’ in requirements to include, for example, transportability, survivability, flexibility, portability, reusability, reliability, maintainability and security. The kinds of quality requirements (e.g., “ilities”) should be identified prior to initiating the requirements activities. This should be tailored to the system(s) being developed. As appropriate, measures for the quality requirements should be included as well.[5] |
A requirement that specifies system properties, such as environmental and implementation constraints, performance, platform dependencies, maintainability, extensibility, and reliability. A requirement that specifies physical constraints on a functional requirement. [6] |
Requirements which are not specifically concerned with the functionality of a system. They place restrictions on the product being developed and the development process, and they specify external constraints that the product must meet. [7] |
“… global requirements on its development or operational cost, performance, reliability, maintainability, portability, robustness, and the like. (…) There is not a formal definition or a complete list of nonfunctional requirements.” [8] |
The behavioural properties that the specified functions must have, such as performance, usability. [9] |
A property or quality that the product must have, such as an appearance, speed, security, or accuracy property. [10] |
A description of a property or characteristic that a software system must exhibit or a constraint that it must respect, other than an observable system behaviour. [11] |
Requirements which specify criteria that can be used to judge the operation of a system, rather than specific behaviours. [12] |
Requirements which impose constraints on the design or implementation (such as performance requirements, quality standards, or design constraints). [13] |
Want to Know More ?
Works Cited
[1] |
M. Glinz, “On Non-Functional Requirements,” presented at the 15th IEEE International Requirements Engineering Conference, Zurich, Switzerland: Zurich Open Repository and Archive. Accessed: Jul. 29, 2025. [Online]. Available: https://www.zora.uzh.ch/id/eprint/205149/1/RE07_On_NFR_Glinz.pdf
|
|
[2] |
A. I. Antón, “Dissertation,” Georgia Institute of Technology, 2016. Accessed: Jul. 31, 2025. [Online]. Available: https://www.cc.gatech.edu/~aianton/dissertation.html
|
|
[3] |
A. M. Davis, Software Requirements, 2nd ed. New Jersey: Prentice Hall, 1993.
|
![]() |
[4] |
“ISO/IEC/IEEE 24765:2017,” ISO Store, 2017. https://www.iso.org/standard/71952.html (accessed Jul. 31, 2025).
|
|
[5] |
“ISO/IEC/IEEE 29148:2018,” ISO Store, 2018. https://www.iso.org/standard/72089.html (accessed Jul. 31, 2025).
|
|
[6] |
G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Software Development Process. Reading, Massachusetts 01867: Addison-Wesley, 1999, p. 116.
|
![]() |
[7] |
G. Kotonya and I. Sommerville, Requirements Engineering : Processes and Techniques. Baffins Lane, Chichester, West Sussex, England: John Wiley & Sons, 1998, p. 187.
|
![]() |
[8] | J. Mylopoulos, L. Chung, and B. Nixon, “Representing and using nonfunctional requirements: a process-oriented approach,” IEEE Transactions on Software Engineering, vol. 18, no. 6, pp. 483–497, Jun. 1992, doi: https://doi.org/10.1109/32.142871. | |
[9] | C. Ncube, “City Research Online – A requirements engineering method for COTS-based systems development,” City.ac.uk, May 2000, doi: https://openaccess.city.ac.uk/id/eprint/7861/2/A_requirements_engineering_method_for_COTS-based_systems_development-_vol2.pdf. | |
[10] | S. Robertson and J. Robertson, Mastering the Requirements Process. Upper Saddle River, N.J: Addison-Wesley, 2014, p. 513. | ![]() |
[11] |
K. E. Weigers, Software requirements, 2nd ed. Redmond, Wash.: Microsoft Press, 2003.
|
![]() |
[12] | [12]Wikipedia Contributors, “Non-Functional Requirement,” Wikipedia, Dec. 17, 2018. https://en.wikipedia.org/wiki/Non-functional_requirement | |
[13] |
Wikipedia Contributors, “Requirements Analysis,” Wikipedia, Nov. 30, 2018. https://en.wikipedia.org/wiki/Requirements_analysis
|