Testing

April 19, 2016

5 Key Benefits of Using a Traceability Matrix to Stay on Top and in Control of Your Project

We live in a world where new tools and IT practices bombard your attention span day in and day out. It’s embarrassing to not know about the latest, cool software development, requirements management, project management or testing practices that your water cooler buddies are discussing knowledgeably.

Just as there is pressure to own the newest smartphone or car, you’re always trying to keep up with the new fad tool or technique in IT.

Not only that, your company is trying to keep up appearances by enforcing these new ideas for new ideas’ sake. While your team is scrambling to review current workload and practices, and align with the latest and greatest set of IT tools and practices, there is one thing that gets lost in translation – quite literally.

I introduce you to traceability, your shy, but loyal buddy.

You used to be the thickest of friends, right up until Agile and all the glitz and glamour associated with it grabbed all your attention. Agile, with its seductive personality, drugged you into thinking about it and nothing or nobody else. Poor traceability, receded to the shadows, waiting patiently – knowing you’ll come back. And you have! (Cue happy jazz in the background)

You’re here because you understand enough about traceability to know you need it back in your project life. You know the benefits traceability brings to a project, program, your team. If you’re looking for reaffirmation. Look no further, my friend!

There’s a ton of benefits to deploying the traceability matrix on projects. I’ll focus on the top 5 for this blog to keep things crisp.

Refresher – What is a Traceability Matrix? And why do we need it?

In IT, traceability refers to the ability to track a business requirement all the way through Definition, Design, Development, Test to Delivery.

Whether your team uses Agile or Waterfall, Exploratory or Traditional Testing, Test-driven development or Paired programming or whatever else floats your boat, you need to be able to determine whether you’re delivering to the business requirements.

Why, you ask? That’s the question we’re trying to answer in this blog.

5 Top Benefits of Using a Traceability Matrix:

Sample Traceability Matrix

Figure 1 – Sample Traceability Matrix

#1 – Simplify Defects Triage for large defect backlogs

Consider a large IT transformation program that is delivering software to a medium-to-large company. Transformation at scale is always complex, and a by-product of the complexity are the defects that hit the Test Manager like a ton of bricks.

It is normal for large scale IT programs to have a backlog of hundreds of outstanding defects, and to even release enhancements to production with most of these defects unresolved.

So when you are finalizing the scope for a release, you will pick up both high priority requirements, as well as defects that need to be fixed. But how do you surf through the hundreds of defects and select the most relevant?

Alongside many criteria (priority, severity etc.) that come built-in with a defect, you also need to consider which requirements each defect maps to. This is where the Traceability Matrix can help.

In the example above, a Traceability Matrix will allow you to quickly zero in on defects related to your most important requirements (could be the most used features of your product), before filtering for defect priority, severity, etc.

#2 – Improved Test Case Management

Good test case management relies heavily on Traceability. ReQtest’s Test Management tools allow you to map a test case to its source requirement as well as the defects it has helped identify.

Test Managers consequently have the power to plan better, optimize the amount of testing necessary and eliminate duplication and leakage. Tracking test coverage becomes a breeze, significantly reducing the manual checking normally necessary.

I cover test case management and its benefits in detail here, if you are keen for more.

#3 – Versioning in Requirements Management

Version handling is a perennial challenge when tracking delivery against a requirement. By the time your team subscribe to a requirement and put it through a delivery sprint, the Product Owner could have changed the requirement completely – for valid reasons of course. They may have envisioned how the product will change in the near future, and infused these ideas back to the original requirement.

Still, your team need to be able to look back at the end of the sprint and say with confidence that they delivered to the requirement. Versioning can be of great assistance here.

Let’s take ReQtest’s versioning feature for instance. It allows you to track every single change to a requirement, right from parameters to actual requirements description, to related links and attachments. When used right, the Product Owner in the scenario above can simply spin off a newer version of the requirement as a child or as a linked item, to be picked up in a future sprint.

When your team go back to demo a working product at the end of a sprint, they’d know straight away by using the history feature whether they’re demoing to the original requirement or a changed one. When the Product Owner grooms the Product Backlog, they’ll be able to plan in the newer version of this same requirement for an upcoming sprint.

Do not underestimate the power of versioning – in the long run, it saves a lot of heartburn by providing a meaningful way to change requirements and letting you focus on delivering to the right version of a requirement at any given point in time.

#4 – Integrations

In an ideal world, you’d use just one tool to manage all the phases of a project. You’d also be able to live a thousand years, eliminate hunger and poverty, and all international conflict.

In the real world, we are constantly switching between a bevy of tools that are loosely stitched together to run projects. For the purpose of this article, let us not get into how we can lift the curse of needing more than one tool to successfully run projects. Let us instead, look at how a Traceability Matrix can help you overcome the challenges multiple tools pose to your team.

The most attractive feature of a good traceability matrix is that it gives you the ability to seamlessly trace the progress from requirement through to the defects yielded from the test cases written using any project management tool.

Figure 2 - Snapshot view of all linked relationships in a requirement. In this example, the requirement is linked to one test case and one bug report.

Figure 2 – Snapshot view of all linked relationships in a requirement. In this example, the requirement is linked to one test case and one bug report.

#5 – Ensure Adequate Documentation

This is another one of those hard-to-ignore and fundamentally important responsibilities of a manager – whether you’re a Project Manager, Product Owner, Lead BA, Test Manager, Development Manager, etc. Oh, by the way, for those of you that are on Agile projects and still believe documentation is a thing of the past, you may want to reconsider.

So, now that you are clear about the importance of documentation, let’s look at how a Traceability Matrix can help you ensure your team adequately document their work. Spoiler alert – it’s so easy!

A good TM will let you check quickly whether all documentation is in place for a requirement – be it user stories, design documents, wireframes, technical specifications, test cases. ReQtest, for instance, allows you to attach files to a requirement, which you can use to link design documents, wireframes, technical specifications etc.

Test Cases can also be linked to a requirement, providing complete traceability that can be checked with just a click! You now don’t have to trawl through shared folders and SharePoints to confirm that all artefacts exist – especially handy when you’re reviewing your team’s readiness to face audits.

Figure 3 - Snapshot view of all linked documentation

Figure 3 – Snapshot view of all linked documentation

Figure 4 - One-click ability to generate Traceability Matrices

Figure 4 – One-click ability to generate Traceability Matrices

You can never go wrong with Traceability Matrices

You can never go wrong with Traceability Matrices. On the other hand, a lot can go wrong without one.

Traceability helps you measure your team’s success effectively, by letting you check if the most important business needs have been met.

Traceability matrices make it easy for you to track the relationship between requirements, code, test cases and release plans. You now have control of and the ability to prioritize your team’s time towards the most important tasks at any given point of time.

Establishing traceability can help you and your team:

  • Track a requirement from conception through to delivery,
  • Plan and manage testing and defect triages better,
  • Reduce leakage, wastage of precious resource on non-priority, or simply non-requirements,
  • Document adequately, and
  • Work effectively in a world of integrations.

What do you think of my list? Share your top 5 benefits of using a Traceability Matrix in the comments section below.

Share article