Template · FRD

Functional Requirements Document Template

A fill-in FRD — scope and exclusions, actors, numbered functional requirements, business rules held separately, data, interfaces with failure behaviour, and the open questions list that prevents surprises.

Markdown. No sign-up, no email.

Numbered requirements, one behaviour each, written so a tester can prove them. If a requirement below cannot be verified in one sentence, it is not finished.

Pair with the BRD template for business intent.

System / change: _______________ Owner: _______________ Author: _______________ Version: ____ Date: _______ Status: draft / review / baselined

1. Scope#

In scope: _______________

Explicitly out of scope: _______________

Related systems affected: _______________

The out-of-scope list settles more disputes than the in-scope list. Write the things people actually expect, not the absurd ones.

2. Actors and permissions#

ActorDescriptionWhat they may doWhat they must not

3. Functional requirements#

One behaviour per row. Never reuse an identifier, even after a requirement is withdrawn.

IDRequirementActorTriggerExpected resultPriority
FR-001must / should / could
FR-002

Wording rules: name the actor and the trigger · state one behaviour · avoid support, handle, manage, appropriate, user-friendly · state the negative case separately rather than as an aside.

4. Business rules#

Held separately from the flows that use them, because rules change on a different cycle and a rule described in four places will eventually be described four ways.

IDRuleApplies whenOwner
BR-001

5. Data#

FieldTypeMandatoryValidationDefaultRetention

Personal data involved: yes / no — if yes, classification and lawful basis: _______________

6. Interfaces#

InterfaceDirectionTriggerPayloadBehaviour when unavailableSafe to repeat?
in / outyes / no

🔴 The last two columns are the ones usually left blank, and they cause duplicate orders, lost messages and defects that only appear under load. Fill them.

7. Error and edge behaviour#

ConditionExpected behaviourUser sees
Required input missing
Invalid input
Duplicate submission
Concurrent edit by two users
Downstream system unavailable
Session expires mid-transaction
Permission denied

Most defects live here. An FRD thin in this section produces a delivery team asking questions for six weeks.

8. Non-functional requirements#

RequirementTargetHow measured
Response time (operation, percentile, load)
Volume / concurrency
Availability
Accessibility standard
Audit / retention

9. Open questions#

#QuestionOwnerNeeded byResolved

Unknowns are normal. Unrecorded unknowns become assumptions nobody agreed to.

10. Sign-off#

NameDate
Author
Business owner
Delivery lead
Test lead

Back to FRD