Requirements Traceability Matrix (RTM): Template and Example

ยท 6 min read

A requirements traceability matrix (RTM) is a table that links every requirement to the things that come from it and the things that prove it: goals, design, tasks, test cases. Its purpose is to answer two questions at any moment: "why are we building this?" and "has everything we promised been built and checked?"

This page gives you a template to copy, a worked example, and a practical way to build one that does not go stale in a month.

What a traceability matrix is for

Requirements change, features get dropped, and tests get written for the wrong thing. A matrix makes those problems visible because every row has to connect in both directions.

It helps in four situations:

It is not a replacement for the requirements document itself. It is an index across documents, and it is only as good as the IDs underneath it. If your requirements do not have stable IDs yet, start there; the software requirements document template shows how.

Forward, backward and bidirectional traceability

There are three common types, and the difference is the direction you trace.

For a small project, a single table that you read both ways is enough. You do not need separate documents for each direction.

The traceability matrix template

One row per requirement. Start with the columns you can keep up to date, and add more only when someone will actually use them.

Req ID Requirement (short) Source / goal Priority Design / diagram Work item Test case Status
REQ-1 Must / Should / Could

What each column is for:

A short worked example

The example is invented, for a customer order portal.

Req ID Requirement (short) Source / goal Priority Design / diagram Work item Test case Status
REQ-1 Sign in with company email G1 fewer support contacts Must Flow F1 TASK-12 TC-01, TC-02 Verified
REQ-2 Order list with status and delivery date G1 fewer support contacts Must Screen S2 TASK-15 TC-03 Built
REQ-3 Invoice PDF download G2 customers find invoices Should Screen S3 TASK-21 none yet In progress
REQ-4 Export order history to CSV requested by one customer Could none yet none yet none yet Not started

Reading this matrix, you can see three things at once. REQ-3 has no test case yet, so it cannot be called done. REQ-4 traces back to a single customer's request rather than a goal, which is a prompt to ask whether it belongs. And no row connects to a goal that is missing from the table, which tells you the goals are covered.

How to build one

  1. Give every requirement a stable ID. Everything else depends on this.
  2. Link each requirement to its source. A goal, a stakeholder or a document. If it has none, ask why it exists.
  3. Add the design reference once a screen, flow or decision covers the requirement.
  4. Add work items as tickets are created. Use the ticket ID, not a description.
  5. Add test cases and check for empty cells. Every empty cell in the test column is a requirement nobody has verified.
  6. Review gaps on a schedule. Walk the empty cells before each release.

Keep the matrix at the level where it pays off. Tracing hundreds of tiny requirements by hand rarely survives contact with a real project.

Common mistakes

Spreadsheet or tool

A spreadsheet is a sensible start for a small project: one sheet, filters on status, and a rule that nothing is built without an ID. It strains when requirements change often, because you update links by hand in several places.

Tools that store requirements as linked records keep the matrix in step with the work, since the links are the data. Discovery Phase AI, for example, keeps links between requirements and goals, diagrams, decisions and roadmap milestones as part of the discovery document, and its impact check flags which parts of a project a change touches. You can see what such a project looks like in the example report, which uses an invented project. It does not manage test cases, so if you need full test traceability you will still pair it with your test tool.

For what to gather before you write requirements at all, see the discovery phase checklist, and for turning requirements into a defined scope, how to scope a software project.

The matrix is a small tool with one job: to make sure what you promised, what you built and what you tested are the same thing. Keep it small enough that people keep it true.