Non-functional requirement
How well the system must work: speed, security, reliability, accessibility, scale.
What it is
A non-functional requirement describes a quality rather than a behaviour: how fast, how secure, how available, how accessible. It applies across many features at once.
Why it matters
Qualities are what users feel and what breaks at scale. A booking page that works but takes eight seconds on a phone loses patients just as surely as one that does not work.
What goes wrong without it
- Performance, security and accessibility are tested for the first time just before launch.
- Each developer or agent chooses their own trade-offs, so quality is uneven.
- Problems are found by users, under load, in production.
What it gives an AI agent
Agents optimise for the task in front of them and rarely consider qualities nobody mentioned. A measurable non-functional requirement tells the agent which trade-offs are not acceptable — for example, no extra round trip on the booking page.
Example: Clinic Booking
| Weak | Strong |
|---|---|
| The booking page should be fast. | The booking page loads in under one second for 95% of loads on a mid-range phone over 4G. |
How it relates to the rest
- Refines a stakeholder or business requirement.
- Is often realized by technical requirements (caching, indexes, architecture choices).
- Tests verify its criteria, often in CI or monitoring.
In Corpole
- Type Non-functional Requirement (NFR), in the Requirements group.
- Needs at least one acceptance criterion before Approved or Authority.
- Unlike constraints, it describes a quality to achieve, not a limit on how to build.