By Sri Prakash : April 25, 2013
“The thoroughness of a Traceability Matrix is a key predictor of project success” (in my opinion).
Now before we go ahead, let us sensibly assume for a minute that success to you and me is hearing the customer say “Wow, this is exactly what I asked for” versus “this is nothing like what I asked for”. And let us assume that project success is our goal.
Not having a Traceability Matrix during the life of a project will in all probability end up in a situation easily explained by the graphic below.
So what is the Traceability Matrix and why do unsuccessful projects almost always not have one?
The answer is simple – it is seldom understood and so is never put together.
What is a Traceability Matrix?
It is a table that represents the cross-linkages between User Requirements and all the other system elements that are produced towards meeting the user requirements. The table below illustrates what a typical Traceability Matrix looks like.
The above Traceability Matrix establishes the traceability links between the following three system elements:
- User requirements,
- Functional requirements, and
- Test cases
The traceability links in the above table can define:
- or many-to-many relationships between the three system elements.
What are the benefits in using a Traceability Matrix?
By now you’ve probably already guessed the obvious advantages. But let’s list some of the obvious ones:
- You can at a glance tell which test cases need to be executed if there is a modification done to the application on the “FN38: Edit a customer”.
- You can quickly assess the magnitude/impact of a change made by the user to “UR-013 Maintain Customer Information”
- You can quickly tell how long the testing phase of the project is going to last
- If a test case failed, you can quickly see the impact on the overall user requirement.
- You can easily tell which functional area a test case is relevant to
- If there is a change to a functional requirement, you can tell the impact it has on both the user requirement and test cases that are relevant to it. The traceability works both ways.
- And best of all, it’s a quick way to verify user requirements against actual functionality that you plan to deliver – no nasty surprises at the end.
Key next steps for you as a project stakeholder / customer:
- Ask your project manager for the Traceability Matrix.
- Make sure you can identify each of your requirements in that document.
- Make sure that there are system elements corresponding to each of your requirements during all phases of the project – i.e. analysis & design, development, and testing
Feel free to get in touch with me for any help on your projects.