Share this
Non-Functional Requirements - The Hidden Iceberg
by Ann P on Oct 3, 2018 12:00:00 AM
The discussion on non-functional requirements, popularly abbreviated as NFR, is a pretty controversial topic.
Sometimes, we hear that the technical team provides the non-functional requirements. It's a bit strange as a system is built for stakeholders and stakeholders should be the providers of the same.
Why do stakeholders find it difficult to provide NFRs?
What makes a requirement non-functional?
Why do we need them?
Is there any easy way to identify them?
Are they too technical for our stakeholders?
NFRs mean those requirements that are not related to the functionality of the system as the name says it.
Then what exactly are these and why do we need them?
Let's imagine a system where it publishes results for 10 graders school certification examination in a country, say USA. What kind of load it will have when the results are declared? Hundred thousand students and parents will log into the system within 30 minutes of the results being declared. The system must be able to handle such a large spike in load.
This is the kind of requirements which is generally referred to as Non-functional requirements, the requirements which are important for the user community or for the smooth functioning of the system like usability, reliability etc.
It is actually interesting to know that the non-functional requirements have a significantly higher impact on the system architecture than functional requirements.
Failure to capture non-functional requirements can lead to complete re-designing of a solution.
Non-functional requirements should always be described in clear terms, such as
- The system should be able to handle 0.1 million users simultaneously.
- The response time has to be less than 2 seconds for each user.
Here is a good list of common non-functional requirements:
NFR Category | Non-functional Requirements | Short explanation | Applicable to situation | Can be tested by |
Constraint | Price | The target price for the solution | Most | Checklist |
Constraint | Resource constraints | Constraints imposed on development such as constraints imposed due to the small screen size of mobile devices. | Most | Checklist |
Compliance | Compliance | Regulatory compliance. | Healthcare (HIPAA, FDA) | Integration testing across systems |
Compliance | Documentation | Documentation requirements. | Healthcare, Aviation, Automotive | Test cases for color blindness |
Compliance | Legal and licensing issues or patent-infringement-avoidability | Adhering to compliance requirements. | Most | Test cases verification of record data update |
Maintainability | Analyzability | Ability to investigate a failure | Most | Backup recovery test |
Maintainability | Changeability | Ability to change one component without affecting others, and without causing unexpected failures | Most | Review the application code |
Maintainability | Deployment | The ease with which an application can be deployed and upgraded. | Most | Review the application code |
Maintainability | Escrow | The source code of an application is kept securely and available to the buyer under certain conditions | Purchased an out-sourced product | Checklist |
Maintainability | Extensibility / Modifiability | Ability to extend the product easily | Most | Consumer feedback |
Maintainability | Supportability | Ability to support applications for a specific period, locations etc. | Most | Checklist |
Maintainability | Testability | Ease of test automation | Most | Checklist |
NFR Category | Non-functional Requirements | Short explanation | Applicable to situation | Can be tested by |
Performance |
Performance/ |
Time taken to respond to a user request. |
Most | Checklist |
Performance | Resource utilization | % of available capacity used |
Most | Checklist |
Performance | Scalability | Ability to support a specified number of users/transactions |
Systems supporting a large number of users | Review the application code |
Portability | Interoperability | Ability to work with existing systems. |
Most | Review the application code |
Portability | Platform compatibility | Ability to work with stated platforms. |
Most | Review the application code |
Portability | Replaceability | Most | Review the application code | |
Reliability | Availability | % of the time the system is available. |
Critical systems | Latency testing |
Reliability | Backup | The frequency at which data must be backed-up. |
Universal | Test on desired platforms |
Reliability | Disaster recovery | Time taken to restore the application after a disaster. |
Most | Multiple browser tests |
Reliability | Failure management (Fault tolerance) |
Ability to manage failures. |
Most | Checklist |
Reliability | Quality (e.g. faults discovered, faults delivered, fault removal efficacy) | Target defect density | Mission-critical applications | Code and Design Review |
Reliability |
Recovery / recoverability |
Ability to recover quickly |
Mission-critical applications | Review the application code |
Reliability | Reliability (e.g. mean time between failures - MTBF) |
Ability to provide service when needed |
Mission-critical applications | Review the application code |
Reliability | Replaceability | Ability to replace a faulty part on the fly |
Mission-critical applications | Review the application code |
Reliability | Resilience | Ability to withstand attacks |
Mission-critical applications | Checklist |
Reliability | Robustness |
Ability to operate |
Most | Simulation of internet attack If the hardware is present, heat cycle testing |
Reliability | Stability | Most | Checklist | |
Security | Audit and control aka Accountability |
To track changes made to data. |
Finance, Healthcare | Review the application code |
Security | Authenticity | Most | Review the application code | |
Security | Confidentiality | Protect data from being exposed to unauthorized users |
Most | Review the application code |
Security | Integrity | Maintaining correctness of data |
Most | Penetration test |
Security | Privacy | Ability to keep personal data secure. |
Health care | Penetration test |
Usability | Accessibility | The application being usable by persons with special needs such as color blindness. |
Government | Review the application code |
Usability | Ease of use | Limit the number of clicks to maximum 3 clicks to complete any transaction |
Most | Review the application code |
Usability | Emotional factors (like fun or absorbing) | Making application likable by a certain audience. |
Education | Checklist |
Usability | Internationalization | Ability to operate the application in different countries such as handling multiple time zone, currency, languages etc. |
Most | Review the application code |
Usability | Learnability | Different user groups should be able to use the product with or without training |
Most | Review the application code |
Usability | Safety | Ensure safe usage of the product and prevent damages caused by the application. For example, safety features for a navigation system. | Where there are dangers to human life. Aviation, Automotive, Health care etc.. | Keyboard control test |
Certification | Certification on a particular technology such as certified on Azure. |
Most | Untrained user test | |
Localization | Ability to satisfy the needs of a particular country or domain (say petroleum industry) |
Most | Review the application code | |
Re-usability | Ability to re-use existing components and create new reusable components |
Most | Review the application code | |
Portability | Installability | Ability to install or uninstall easily | Most | Review the application code |
Advantages
- Makes the system user-friendly/easy to use and acceptable
- Absence of them makes it lot more difficult to use for users
- The system may get abandoned due to the absence of these features
Disadvantages
- Gets missed out often in requirements gathering exercise
- Difficult to articulate or define quantitatively
We will be happy to receive comments on other types of non-functional requirements that you may have come across in your projects.
Spot the similarities - NFRs and building foundation
Enterprise Analysis vs Strategy Analysis – Why the Shift?
Share this
- Business analysis (135)
- CBAP (41)
- Business analysis skill (34)
- CBAP Certification (32)
- #CCBA (31)
- Career (29)
- ECBA (22)
- #AdaptiveUS (20)
- #BA Certification (18)
- #BA (16)
- IIBA Certifications (16)
- BABoK (15)
- #IIBA (14)
- #AdaptiveUS #BusinessAnalysis (13)
- Uncategorized (13)
- Most Popular (12)
- Announcements (11)
- cbap certification training (11)
- Requirement engineering (10)
- #CBAP_Certification (8)
- #LNMishra (8)
- countdowns (8)
- #BA Skills (7)
- CPRE (7)
- Press Release (7)
- #BA Techniques (6)
- #BusinessAnalysis (6)
- #CCBA_Certification (6)
- #Elicitation (6)
- #AdaptiveUS #BusinessAnalysis #BA #BABoK (5)
- #PressRelease (5)
- #business analyst (5)
- #Business_Analysis (4)
- #ECBA_Certification (4)
- #Requirements engineering (4)
- #cbap_exam_ preparation_tips (4)
- #certifications #AdaptiveUS #BusinessAnalysis #BA (4)
- Business analysis certification training (4)
- Most Recent (4)
- #AdaptiveRocks (3)
- #BA_Certification (3)
- #IIBA Membership (3)
- cbap certification cost (3)
- cbap certification course (3)
- cbap training certification online (3)
- #LearnwithLN (2)
- Business analysis study guides (2)
- CCBA Recertification (2)
- CPOA (2)
- businessanalyst (2)
- cbap question banks (2)
- cbap study guide (2)
- ecba question banks (2)
- ecba study guide (2)
- #AAC (1)
- #AgileBA (1)
- #BAOT (1)
- #BATrends (1)
- #BridgingtheGap (1)
- #ECBA #IIBA #IIBAWorkshop #Certification (1)
- #IIBA #Agile (1)
- #IIBAEgyptChapter (1)
- #IREB (1)
- #NFR (1)
- #OneWorksGroup (1)
- #Partnership (1)
- #SimpleSim (1)
- #ba #businessanalysis #jobdescription #adaptiveus (1)
- #performancemetrics (1)
- Adaptive US (1)
- Agile BA (1)
- Artificial Intelligence (1)
- Awesome BA (1)
- BABoKV3 based certification (1)
- BACOE (1)
- CBAP Certification Tips (1)
- CBAP Exam Preparation (1)
- CBAP Exam Tips (1)
- CBAP Preparation Tips (1)
- CBAP certification preparation (1)
- CBDA (1)
- ECBA Certification steps (1)
- ECBA V3 certification (1)
- ECBA certificate (1)
- From our Archive (1)
- IIBA CBAP Certification (1)
- KPI (1)
- PMI PBA (1)
- PMP vs CBAP (1)
- Requirements Management (1)
- Scrum (1)
- Scrum rules (1)
- Transitioning to BA (1)
- bajobs (1)
- cbap e-learning (1)
- cbap training material (1)
- ccba certification training online (1)
- ccba or cbap certification (1)
- conflicts resolution techniques (1)
- iiba ecba online course (1)
- productowner (1)
- stakeholders (1)
- testing (1)
- what is scrum? (1)
- May 2023 (2)
- April 2023 (4)
- March 2023 (3)
- February 2023 (5)
- January 2023 (1)
- December 2022 (4)
- November 2022 (3)
- October 2022 (2)
- September 2022 (4)
- August 2022 (3)
- July 2022 (4)
- June 2022 (8)
- May 2022 (4)
- April 2022 (7)
- March 2022 (6)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (4)
- October 2021 (4)
- September 2021 (2)
- August 2021 (4)
- July 2021 (4)
- June 2021 (2)
- May 2021 (1)
- April 2021 (1)
- March 2021 (4)
- February 2021 (2)
- January 2021 (3)
- December 2020 (3)
- November 2020 (3)
- October 2020 (3)
- September 2020 (5)
- August 2020 (8)
- July 2020 (3)
- May 2020 (5)
- April 2020 (2)
- March 2020 (7)
- February 2020 (6)
- January 2020 (4)
- December 2019 (1)
- November 2019 (3)
- October 2019 (5)
- September 2019 (3)
- August 2019 (2)
- July 2019 (4)
- June 2019 (2)
- May 2019 (3)
- April 2019 (6)
- March 2019 (3)
- February 2019 (8)
- January 2019 (7)
- December 2018 (8)
- November 2018 (6)
- October 2018 (8)
- September 2018 (11)
- August 2018 (11)
- July 2018 (23)
- June 2018 (12)
- May 2018 (19)
- April 2018 (11)
- February 2018 (1)
- January 2018 (3)
- December 2017 (1)
- November 2017 (5)
- October 2017 (2)
- September 2017 (2)
- August 2017 (30)
No Comments Yet
Let us know what you think