Business Analysis

Non-functional Requirements – Why do we need them?

Non-functional requirements, what comes to our mind when we talk about NFR (Non-functional requirements)?

When we say non-functional we typically mean those requirements that are not related to the functionality of the system, then what exactly are these and why do we need them.

I found clear definition of Non Functional Requirements by Ruth Malan and Dean Leffingwell. You can also refer to the link here: https://www.architecting.co.uk/presentations/NFRs.pdf.According to the link above, Functional requirements describe the behavior of system including the goals, tasks and activities whereas Non Functional requirements focus on constraints which can be understood as restrictions for the developers while developing the software focussing on functional requirements. They are termed as restriction as they can affect the expected response of the client from the product on the basis of their experience with the system.

What do you put down in non-functional requirements when you are documenting requirements in your project?

Now imagine a system where it publishes results for 10 graders school certification examination in a country like India, and the kind of load it will have when the results are declared.

So what all requirements do we have to consider for this system apart from functionality? It surely has to have high performance specification to handle the load as well as good security/authentication system in place. This is the kind of requirements which is generally referred as Non-functional requirements, the requirements which are important for the user community or for smooth functioning of the system like usability, reliability etc. The non-functional requirements should always be described in clear terms like the system should be able to handle 0.1 million users simultaneously and the response time has to be less than 2 seconds for each user.

Whereas some of the common functional requirements include:

  • Business Rules, logic, Validation
  • Calculations/formulae
  • Error message/handling
  • Transaction corrections, adjustments and cancellations
  • Admin functions/access, superuser access
  • Authentication
  • Authorization levels
  • Audit log of transactions
  • External Interfaces
  • Reporting Requirements
  • Legal/Regulatory/Compliance Requirements

The non-functional requirements should always be described in clear terms like the system should be able to handle 0.1 million users simultaneously and the response time has to be less than 2 seconds for each user. Let us take an example where our mind is subconsciously considering Non-Functional requirements. When we go out shopping for a pair of footwear, we pay attention to price, color and material used so to ensure if the purpose the after buying it.

Subconsciously, we also start and recall the events that are lined up next and quickly roll our brains back to the dresses in our closet. The heels should also be climate-friendly depending upon the location of the event. All these requirements do not hold primary importance but adds additional value to our purchase making it more justified.

Advantages of considering Non-functional Requirements

  • Makes the system user-friendly/easy to use and acceptable
  • Sometimes system may get abandoned due to the absence of these features
  • Design constraints are considered in advance
  • Maintenance and other factors that demand attention are taken into account
  • User Experience is widely dependent on all these non-functional requirements

Disadvantages of considering Non-functional Requirements

  • Gets missed out often in requirements gathering exercise
  • Difficult to articulate or define quantitatively
  • Requirements are not measurable
  • Lack of research for implementing the non functional requirements
  • Improper clustering of requirements which leads to project failure.

Hope this was some help. Let me know your point of views in comment segment.

Share this Story
  • Business Analysis

    Non-functional Requirements – Why do we need them?

    Non-functional requirements, what comes to our mind when we talk about NFR (Non-functional requirements)? When we say non-functional we typically mean ...
Load More Related Articles

2 Comments


  1. Ashish k.

    December 28, 2018 at 7:37 am

    Non-functional requirements gathering is job of business analyst or client interaction team?
    Should I study for this if I am preparing for BA interview?

    Reply

    • Aditee Joshi

      December 29, 2018 at 6:05 am

      Hi Ashish,

      Non-functional requirements should ideally rely upon the shoulders of Business Analyst as the job role expects the Business Analyst to consider all the factors that can affect the requirements given by the client. You can give this topic a casual read.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Check Also

All you need to know about Agile

All you need to know about agile. How agile methodology affects your team and delivery? Principles of agile and what usually goes wrong while implementing agile in your teams.