beehexa integrationsidebar
beehexa beehexa logo 1

We Build HexaSync Integration Platform for Connecting ERP, POS, CRM, Accounting, and eCommerce Applications to Automate Business Processes

What is Non-Functional Requirement?

Do any of us keep certain objects in our homes simply because they are still useful or because we like them?

For example, I have a pair of shoes, sewn and re-stitched dozens of times, but I still keep them simply because when I wear them, they feel comfortable and fit my feet. Other than that, they look like junk.

beehexa 0656c3136adc908057ebf77461604b2e

For me, the old Converse pair fits my feet well and is affordable, so I buy them. Other people, however, might choose to buy a new pair for various reasons, such as the shoes being too old or not the brand they prefer, etc. It’s the same pair of damaged shoes, but some people want to use them, and some don’t. Isn’t it weird?

beehexa weird

It’s a matter of Quality of Service. Mapping through the software world, it is a Non-Functional Requirement.

Types of requirements in the project

A solution, a product, or a piece of software all have specific requirements for themselves.

There are 4 types of Requirements:

  • Business Requirement
  • Stakeholder Requirement
  • Solution Requirement
  • Transition Requirement

Every software is created with a purpose, meaning each software has its own requirements. But these requirements are not small.

Software has many, many requirements. It has to do this, it has to do that, it has to be user-friendly, it has to be fast, it has to do x, y, z…

I will save the details of the four types of Requirements for the next article. In this article, I will focus on Solution Requirements.

Solution Requirement is divided into the following 2 types:

  • Functional requirements
  • Non-Functional requirements.

To make it easier to imagine, I have some examples below:

Earphone
Functional Req: hear sounds, music,…
Non-Functional Req: active noise cancellation

KFC restaurant:
Functional Req: provide fried chicken wing
Non-Functional Req: wide seats, cool air conditioning.

Software X:
Functional Req: synchronize customer information
Non-Functional Req: ensures security, or has a 24/7 support system.

These are a few examples to help you visualize what Functional and Non-Functional Requirements are.

What is Functional Requirement?

According to Wikipedia

“In software engineering and systems engineering, a functional requirement defines a function of a system or its component, where a function is described as a summary (or specification or statement) of behavior between inputs and outputs.”

Functional Requirements are about the behaviors and functions of the solution, answering the question: “What does the system do?

For example:

  • Headphones listen to music
  • KFC restaurant provides fried chicken wing
  • Software X synchronizes customer information

Simple right?

beehexa easy

What is Non-Functional Requirement?

According to Wikipedia

“In systems engineering and requirements engineering, a non-functional requirement (NFR) is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. They are contrasted with functional requirements that define specific behavior or functions. The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture, because they are usually architecturally significant requirements.”

Quite complicated and difficult to understand, right? In short, a Non-Functional Requirement includes two things:

  • Not directly related to the behavior or function of the solution
  • Conditions that help the system run well and ensure the required quality

This means Non-Functional Requirements are related to Product Quality, answering the question: “How does the system work?”

Meeting the intended use of the product is one thing, but ensuring a good user experience makes it truly classy.

Why do we need to know about Non-Functional Requirement?

Back to the shoes above:

  • Functional Requirement: Protect my foot
  • Non-Functional Requirement: Made of breathable fabric, modern design, fits the foot

Obviously, with all points mentioned, the my shoes only meet the Functional Requirement, and the Non-Functional Requirement makes them only worth throwing in the trash.

I still like to use them because the thing I care about the Functional Requirement, meaning their functionality—just wearing them to protect and comfort my foot.

As for some other people, they don’t like to use them because they don’t meet the Non-Functional Requirements that a pair of shoes should have.

What is the problem?

There will be 2 cases for this example:

Case 1: Users don’t care about Non-Functional Requirements, we are safe.

beehexa fasst

As long as the system can run, it’s fine. The system only needs to perform the main functions that customers request.

Case 2: Users care about Non-Functional Requirements, we will have a lot of work to do.

beehexa tired

Not only must the system be able to run, but it must also meet all factors such as speed, security, a friendly interface, etc.

Once you understand the level of users’ expectations, you will know how to make them more satisfied.

  • We were denied from a platform on their app marketplace just because the button was in the wrong format or rather deviated by about 2-3 pixels according to the font.
  • Or we had to wait an entire week just to think about the text that appears on the front-end to guide the user properly.
  • Or the whole team had to find a way to display the data table so that users can understand it immediately when they see it for the first time, rather than having to think and calculate like a stock chart.
  • The authentication flow had to be revised for users because the previous flow was confusing and did not meet the standards required by the app.

There have been many times when our team was rushing to the finish line, thinking it would go smoothly, but we had to pause 4-5 times just because of the words “Non-Functional Requirement”.

A Non-Functional Requirement can be a powerful tool to attract users, but it can also become a disaster if not properly calibrated or optimized.

Conclusion

I will talk more about the tasks related to Non-Functional Requirements in the next article. To summarize this article, here are three bullet points:

  • Solution Requirements include Functional and Non-Functional Requirements.
  • Functional Requirements speak to the behaviors and functions of the solution (what the system does).
  • Non-Functional Requirements speak to the quality of services of the solution (how the system works).

Table of Contents

Ready to integrate and automate at scale ?

Learn how HexaSync lets you build enterprise-grade integrations and automations without having to code.

Receive Exclusive Productivity Tips Directly in Your Inbox

We’ll email you 1-3 times per week—and never share your information.

Get started for free

You can’t add more hours to the day. Beehexa is the next best thing.