3.1 Requirements Types And Levels
Requirements are not a wish list. They are the bridge between human goals and engineering commitments. When that bridge is vague, teams build software that may be technically correct and still wrong.
A requirement should help the team answer three questions:
- What outcome is needed?
- Who needs it, and under what conditions?
- How will we know the system satisfies it?
Loading interactive lab...
Loading concept check...
Common requirement types
| Type | Meaning | Example |
|---|---|---|
| Functional | What the system does | Users can reset a password by email |
| Non-functional | How well the system does it | Reset email is accepted by provider within 60 seconds for 95% of requests |
| Domain | Business rule from the problem domain | Refunds above a threshold require approval |
| Constraint | Limit the solution must respect | Data must remain in a specific region |
| Interface | Contract with another system or user role | Payment callback must accept idempotency key |
Non-functional requirements are often the ones that hurt later because teams write "fast", "secure", or "scalable" without deciding what those words mean.
Requirement levels
Levels keep everyone from arguing at the wrong altitude.
- Business need: the organization outcome.
- User requirement: the user's goal in plain language.
- System requirement: the behavior the system must implement.
- Design constraint: a restriction on possible solutions.
- Acceptance evidence: test, metric, demonstration, audit, or review result.
Note
Traceability is not paperwork for its own sake. It lets you ask: if this design changes, which user goal, test, release note, or compliance promise is affected?
Loading interactive lab...
Loading concept check...
A senior habit
When someone says "the requirement is obvious", ask for three examples:
- A normal successful case.
- An edge case.
- A case that must be rejected.
Examples often reveal more than abstract statements. They expose missing actors, hidden permissions, time limits, exception paths, and disagreement between stakeholders.
Loading practice...