The matrix isn't the deliverable, the gaps are
Most RTMs get built as a compliance exercise, filled in, and filed. The actual value is in what the empty cells tell you: a requirement nobody built or tested, or a feature someone built that no requirement asked for. Building the matrix by hand takes long enough that this analysis step often gets skipped entirely.
What it does
- Bidirectional by default. Requirement → design/story/test, and back again, unless you ask for one direction only.
- Orphan requirements, listed in full. Every requirement with no downstream coverage — this is the entire point of the exercise.
- Orphan tests and builds. Downstream items with no parent requirement, which usually means scope crept in somewhere.
- Coverage summary by priority. Count and percentage covered, so you know where the real risk sits.
- Never fabricates an ID. An empty cell stays empty and shows as uncovered — it doesn't get papered over.
Example
A constructed example, not real client data.
Requirements: BR-01, BR-02, BR-03. Stories built so far: US-14 (covers BR-01), US-15 (covers BR-01). Test cases: TC-08 (covers US-14).
ORPHAN REQUIREMENTS BR-02, BR-03 — no story or test references either. Highest-risk gap. ORPHAN TESTS / BUILDS US-15 — covers BR-01 but has no test case. US-14 has one (TC-08); US-15 does not. COVERAGE: 1 of 3 requirements (33%) fully covered through to test.
How it works with Claude
Add the skill to your Claude account, once, in about 10 minutes.
Paste your requirements list and whatever downstream artefacts exist.
Get the matrix plus the orphan-requirement and orphan-test analysis.
FAQs
What is a requirements traceability matrix?
A table linking each requirement to the design, build and test artefacts that satisfy it, in one or both directions, so gaps in coverage are visible rather than discovered late.
What is the actual point of an RTM?
Finding orphan requirements (nothing downstream covers them) and orphan tests or builds (nothing upstream justifies them, usually scope creep) — the matrix itself is just the mechanism for surfacing both.