Functional requirements describe what the system should do: business operations, processes, user scenarios — that is, functionality.
Non-functional requirements define how the system should work: constraints, quality parameters, performance, security, usability, etc. These requirements often influence technology choices, scalability, and the robustness of the solution.
Why distinguishing is important:
Key features:
Does “usability of the interface” fall under functional requirements?
No, it is a non-functional parameter (usability). A functional requirement is the presence of, for example, a "Save" button, while a non-functional requirement relates to its response speed and ease of use.
Can non-functional requirements be ignored if they are not explicitly stated by the customer?
No. The analyst must discuss and formalize even implicit non-functional requirements, otherwise, the risk of launch failure, user complaints, and additional costs increases.
“The system must be able to handle 1000 requests per minute”. Is this a functional requirement?
No, this is a non-functional requirement — a performance characteristic.
Negative case: The system fully implemented the declared business functionality, but under heavy load, it began to "lag" because performance was not taken into account at all. Pros:
Positive case: The analyst, together with the architect and customer, documented the maximum load, response criteria, and conducted load testing. Pros: