Requirement
A statement about what a system must do or how it must behave. Good requirements are testable and constrain design choices.
Definition
A requirement is a statement that constrains a system design.
It can describe behavior (functional requirements) or system qualities (non-functional requirements).
A good requirement is testable
If you cannot test it, you cannot know when you are done.
Common mistake
Using implementation details as requirements.
“Use Redis” is not a requirement. It might be a constraint, or it might be a design choice.
Practical rewrite
- Vague: “The system should be fast.”
- Better: “p99 requests complete under 300ms at 2k QPS peak.”