Module 027 min

Needs first, then requirements

A need is what someone wants to be true. A requirement is what the system must do to make it true — and be provable.

After this module
  • You can translate a vague ask into statements a tester could pass or fail.
  • You can spot the three requirement diseases: vagueness, compounding, and a solution smuggled into the "what".

"We need a chatbot." That sentence has already made four decisions — the interface, the medium, the architecture, and the assumption that conversation is the right answer — and none of them are on the table. This is the most expensive sentence in software, and it is not a requirement. It is a solution wearing a requirement's coat.

Systems engineering separates the two spaces deliberately. In the problem space you describe outcomes and constraints in the stakeholders' own language. Only when that is stable do you cross into the solution space and commit to behavior the system must exhibit.

FROM NEED TO TESTABLE STATEMENT Business need cut support cost, keep satisfaction owner: the business Stakeholder need answers at 2am; fewer repeat questions owner: users and operators Stakeholder requirement auto-answer the top 80% of inquiries owner: product, with users crossing into the solution each line below must be testable System requirement answer from docs, cite sources, escalate below 0.6 confidence; log tool calls Design retriever · prompt · guardrails how — free to change derives
Notice what moves. Left of the line: outcomes and constraints. Right of the line: behaviors with numbers in them. Nothing crosses until the need is stable.

2.1The five tests of a requirement

A requirement you cannot fail is not a requirement — it is a wish with a serial number.
TestAskFails when…
SpecificCould two competent people read this differently?"fast", "easy", "robust", "user-friendly"
VerifiableWhich method proves it — inspection, analysis, demonstration, test?No threshold, no observable, no condition
SingularDoes it contain "and"?Three requirements in one line, tested as one
NecessaryWhich need does it trace to?Features nobody asked for; gold plating
FeasibleCan it be met within cost, time and physics?Aspirational targets with no path

Use "shall" for mandatory requirements. "Should" is a preference, "may" is optional, "will" is usually a statement of fact. This sounds pedantic until a contract dispute turns on it.

2.2The requirement clinic

Three real-shaped requirements. Diagnose before you rewrite — the habit matters more than the wording.

Try it · requirement clinicdiagnose → rewrite

"The system shall be user-friendly and respond quickly."

  • Vague: "user-friendly" and "quickly" are unmeasurable.
  • Compound: two requirements in one sentence, so a pass on one hides a fail on the other.
  • No condition: quick for whom, on what device, at what load?
# rewrite: one behavior per line, with numbers and a condition
REQ-011  The dashboard shall render in < 2.0 s at p95 on a 4G connection.
REQ-012  A first-time user shall complete onboarding in < 3 min without support.
REQ-013  The system shall achieve a SUS usability score > 80 in the acceptance study.

2.3What "done" means, in writing

Every requirement needs an acceptance criterion — the observation that settles whether it passed. For quantitative requirements, name the method: test (controlled measurement), analysis (model or calculation), demonstration (operate it and watch), inspection (read it and compare).

TypeShape of the statementAcceptance method
FunctionalThe system shall do X when YDemonstration or test
Performance…in < N ms at p95, under M concurrent usersLoad test
Interface…expose / consume contract C with fields FInspection + integration test
Constraint…shall not do prohibited thingInspection, audit
Reliability…99.9% monthly availability, 5 s failoverAnalysis + failure injection
Usability…onboarding < 3 min, SUS > 80User study
Do this now · 4 minutes

Pick one thing you are building. Write its business need in one sentence, then write four system requirements — one functional, one performance, one interface, one constraint. For each, write the method that would prove it. If a line has no method, you have found the part of the project that will be argued about later.

The trap · requirements as fiction

A requirements document that nobody tests against is worse than none: it creates the appearance of rigour while decisions are still made by whoever is loudest. Trace every requirement to a test, a review or an eval — or delete it.

Check yourselfQuestion 1 of 1

Which statement is a usable requirement?

60-second recap

  • Needs describe outcomes; requirements describe testable behavior. Don't let a solution cross the line early.
  • Five tests: specific, verifiable, singular, necessary, feasible.
  • "Shall" means mandatory. Every requirement gets an acceptance method.
  • Untested requirements are fiction. Trace to a test, a review or an eval.