Aller au contenu

Add Your Heading Text Here

Glossary

Functional requirements

Quick definition

A functional requirement describes something a product must do: a specific behavior, feature, or response to a given input. Functional requirements define what the system delivers to its users, such as processing a payment or generating a report, and together they describe how the product is meant to behave in practice.

What it means

Functional requirements are the 'what it does' half of a specification. Each one states a behavior the system has to provide, ideally clearly enough that a developer can build it and a tester can check it. 'The system shall email a receipt after each successful payment' is functional. It names an action, a trigger, and an expected result.

They pair with non-functional requirements, which cover how well the system does those things, like speed, security, and reliability. Keeping the two apart matters, because a feature that works but is painfully slow still fails its users. Teams usually capture functional requirements as user stories or requirement statements and trace each one to the tests that prove it works.

In practice

Exemple

For an online banking app, 'a user can transfer money between their own accounts' is a functional requirement, because it describes a concrete capability. The related non-functional requirement might say that transfer must complete within three seconds, which is about quality rather than the capability itself.

Foire aux questions

What is the difference between functional and non-functional requirements?
Functional requirements describe what the system does, meaning its features and behaviors. Non-functional requirements describe how well it does them, meaning qualities like performance, security, and usability. A product needs both, since a correct feature that is slow or insecure still lets users down.
How do you write a good functional requirement?
State a single, testable behavior in plain language, with the trigger and expected result clear. Avoid vague words like 'fast' or 'user friendly', which belong to non-functional requirements. If you cannot picture the test that would prove it, the requirement is probably too loose to build from.

Manage requirements the modern way

Modern Requirements brings documentation, traceability, and reviews together inside Azure DevOps.

Modern Requirements logo mark