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.

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
Quick check
Which of these is a non-functional requirement?
Go deeper
- 1Classify 5 sample requirements as functional or non-functional.
- 2Learn to specify non-functional requirements concretely (e.g. 'loads in under 2 seconds').
- 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.