Friday, December 18, 2009

Components of a good traceability matrix

This article is a guest post from one of my good friend and highly skilled BA Yaaqub Mohamed

Traceability matrix is one of the key artifacts in establishing a conduit from requirements to the finished software. Assuming that a Business Analyst has captured all the requirements effectively from the relevant stakeholders, a traceability matrix ensures that all requirements get traced to the corresponding software functionality. The key word here is: "Corresponding".

What is a traceability Matrix?

A traceability matrix consists of mapping data. How a particular information is mapped into another. In most cases it is an effective means of establishing validity and connectivity of various project artifacts. Each organization has its unique way of creating and maintaing traceability matrices. An example would be, the requirements traceability matrix - mapping the business requirements to say system requirements, test cases, design document, etc.

Components of a good traceability matrix:

Accounts every requirement: A good traceability matrix accounts each and every enterprise requirement to a specific or a set of business requirements. If an organization creates system requirements, then the matrix also ensures that every system requirement is mapped to some business requirement. The most important functionality is of course the ability to connect every requirement to some test case. This ensures that the requirements proposed were captured in the right language, and were testable in nature.
Has an ID system for absolute tracing: It is considered a best practice for a business analyst to ID every requirement with some agreed upon convention. Carrying this forward, system requirements, and test cases are also given unique IDs. A good traceability matrix uses the unique IDs of various requirement specs, and test cases to establish the connection.
Spans across multi dimensions: Multi dimensional in this case means, across various parameters. A good traceability matrix establishes connectivity across different project artifacts if required. (Between design documents, process flows, etc)
Has alert formatting: Another trick a business analyst can use while setting up a traceability matrix is to conditionally format a requirement spec cell (if a spreadsheet is being used to capture requirements) if it is not traceable to a test case or vice versa. This concept of alert formatting can be applied for other types of traceability as well. This can act as a foolproof method of validation and ensures that there are no "orphan requirements".

In conclusion, a good traceability matrix enhances the effectiveness of requirements capturing, and testing activities of a project. It ensures that other team members understand the requirements well enough to trace their own artifacts. So make sure to devote some extra time in your requirements capturing activity for establishing a solid traceability matrix.

No comments:

Post a Comment