What the Traceability Matrix Actually Does

The traceability matrix (TM) is a living document that maps every user requirement to the design specification that addresses it, and from there to the test case that verifies it was met. It answers one question in both directions: has every requirement been tested, and does every test case justify its existence?

Without a traceability matrix, you can produce a complete set of IQ, OQ, and PQ protocols and still arrive at a QA review with gaps โ€” requirements that were never tested, or test cases that don't trace back to any stated requirement. The TM is the mechanism that prevents both.

The Two-Way Test

A complete traceability matrix must pass two tests. Forward trace: every URS requirement links to at least one test case. Backward trace: every test case links back to at least one URS requirement. A test case with no requirement reference is gold-plating. A requirement with no test case is a scope gap.

The Structure of a GAMP 5 Traceability Matrix

In its simplest form, the traceability matrix is a spreadsheet with one row per requirement. Across the columns, each row traces that requirement through the full V-Model chain:

TRACEABILITY MATRIX โ€” ROW STRUCTURE (ONE ROW PER REQUIREMENT) URS REF REQUIREMENT FDS REF FAT REF IQ REF OQ REF PQ REF STATUS URS-F-001 Temperature control FDS-3.1.2 FAT-22 IQ-04 OQ-031, OQ-032 PQ-05 CLOSED URS-F-007 Alarm management FDS-4.2.1 FAT-41 โ€” OQ-055โ€“059 โš  MISSING GAP URS-S-003 Audit trail โ€” setpoints FDS-6.1 FAT-61 IQ-12 OQ-071 โ€” CLOSED URS-P-011 Batch report export FDS-7.3 โš  MISSING โš  MISSING โš  MISSING โš  MISSING OPEN Fully traced + tested Partially traced โ€” gap in one phase Requirement with no test coverage THE TM EXPOSES GAPS BEFORE YOUR QA REVIEWER DOES
// TRACEABILITY MATRIX โ€” EACH ROW TRACES ONE REQUIREMENT THROUGH THE FULL V-MODEL. GAPS FLAG AUTOMATICALLY.

What Each Column Should Contain

The exact columns vary by project and client, but a robust traceability matrix for a Cat 4 PLC/SCADA project typically includes:

The Common Mistake

Engineers often build the traceability matrix after writing their protocols โ€” essentially reverse-engineering the trace from existing test cases. This is backwards. The TM should be built alongside the URS, so every requirement gets a unique ID as it's written. Test cases are then written to trace back to those IDs.

What Gaps Look Like โ€” and What They Cost

There are two types of gap, and both are findings in a QA review:

Untested requirement โ€” a URS requirement with no corresponding test case in any protocol. The regulator's question is: how do you know this requirement was met? Without a test case, the answer is "we don't." For 21 CFR Part 11 requirements, this is a critical finding โ€” one that can result in a warning letter.

Untraceable test case โ€” a test case in your OQ with no corresponding URS requirement. This is less severe but still a finding โ€” it means your testing scope was defined by what was convenient to test, not by what the client actually required.

In our experience, a project without a maintained traceability matrix will typically have 3โ€“8 untested requirements when reviewed. Each one becomes a deviation to resolve โ€” at the worst possible time, immediately before go-live.

Building One That Actually Works in Practice

The practical steps for building a traceability matrix that holds up under scrutiny:

In the QLean Framework

The Traceability Matrix template is pre-structured with all required columns, dropdown validation for status fields, and conditional formatting that automatically highlights gaps in red. It's linked to the URS numbering convention used in all other templates, so trace references are consistent across your entire document set.