Stop 03 · Requirements Analysis & DocumentationTopics · 1/10

Functional vs Non-Functional Requirements

Part of the Business Analyst Roadmap

In short

An app can do everything it promised and still fail, because it takes ten seconds to load or leaks data. That's the difference between what a system does and how well it does it.

Functional requirements describe what a system should do (specific behaviors); non-functional requirements describe how it should perform (speed, security, usability) — both are essential, and non-functional ones are easy to forget.

The purple blob holds up a shiny pressure cooker with steam puffing from the whistle.

Think of it like this

The pressure cooker test

A pressure cooker's job is to cook dal. That's functional. But you also need it to whistle within ten minutes, never burst, and have a handle that stays cool. Those are non-functional. Nobody buys a cooker that only meets the first one.

Watch it happen

Same feature, two kinds of requirement

Functional

  • Says what the system does
  • 'User can pay by UPI'
  • Tested with a clear yes or no

Non-functional

  • Says how well it does it
  • 'Payment confirms within 3 seconds'
  • Speed, security, uptime, usability

Write both for every important feature. Missing non-functional requirements are a common reason launches go wrong.

The big ideas

What you need to know

Functional = behaviour

Inputs, outputs, rules and actions. 'The system sends an OTP to the registered mobile number.'

Non-functional = qualities

Performance, security, availability, usability, accessibility. Often called NFRs or quality attributes.

NFRs need numbers

'Fast' and 'secure' can't be tested. '95% of pages load in under 2 seconds' can.

Ask different people

Users tell you functional needs. IT, security and operations teams usually know the non-functional ones.

Save yourself the pain

Common mistakes

Oops

Only collecting features and leaving performance and security to developers.

Do this instead

Ask about load, response time, uptime and data protection in elicitation, and write them down with numbers.

Oops

Writing 'The system should be user-friendly'.

Do this instead

Make it measurable, like 'A new user can place an order in under 3 minutes without help'.

Your mission

Split an app's requirements

~20 min

Quick check

Which of these is a non-functional requirement?

Go deeper

  1. 1Classify 5 sample requirements as functional or non-functional.
  2. 2Learn to specify non-functional requirements concretely (e.g. 'loads in under 2 seconds').
  3. 3Understand why skipping non-functional requirements causes expensive rework late in development.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge