billwear.github.io

How to Write Engineering Requirements

A quick guide to clarity, organization, and sanity checks in requirements writing.

Updated 2025-09-23

The language of requirements

How to organize requirements

  1. Hierarchy matters: start with system-level requirements, then decompose into subsystem and component requirements.
  2. Unique IDs: number everything (e.g., REQ‑1.2.3). Don’t delete IDs; mark obsolete instead.
  3. Atomic statements: one thought per requirement. Avoid “and/or.”
  4. Traceability: link each requirement to its source (stakeholder, regulation, standard). Map downward to design and test cases.
  5. Verification focus: every shall must be verifiable by test, analysis, inspection, or demonstration.

Examples

REQ-1.1: The device shall operate continuously for 8 hours on battery power. [Test]
REQ-1.2: The user interface should support dark mode. [Inspection]
REQ-1.3: The product will be manufactured in Austin, TX. [Context only]
      

Checklist before you publish

Good requirements are boring to read, but delightful to build and test against.