Free Quote

Using Confluence as a Traceability Matrix

If we were to do a poll, most business analysts would probably have no trouble identifying what a traceability matrix is. Also, most would probably say they don’t use it as often as they should. I feel your pain: If your project includes several thousand requirements, dealing with traceability becomes a major ordeal.

For me, traceability matrix still remains a purely academic notion. That said, every BA worth his salt must still solve the problem of requirement relationships and dependency tracking. The bigger the project, the bigger the problem usually becomes.

Being a general-purpose tool, Confluence does not come with a ready-to-use traceability matrix feature. The good news is, it offers something better — and it’s by far one of my favorite Confluence features.

Real-world problem

Let’s look at a typical requirement change scenario. Say the product sponsor comes up with a new requirement. He now wants the Order Date field in the Order Tracking System to include time in addition to date. And the time must use a specific display format, no less!

Let’s say your requirement management policy says all UI screens and controls must have a detailed textual description for every field. So how do you update a gazillion field descriptions without losing your mind in the process?

Structure everything

Create a dedicated page that describes the business object. Let’s call it BO Order. Be sure to describe all the relevant object fields, including Order Date. For good traceability, every field should have a unique identifier. In our example, the Order Date ID will be BO-O-40.

Now, as you work through your software requirements specification and need to refer to the Order Date field, simply link to the BO Order page and be sure to include the field’s ID. In the table below, these data are included under Data Source.

Your feature request description might now look something like this:


And now, for the more interesting part.

Add macro magic

With a bit of macro ingenuity we are now ready to solve the traceability problem. In your BO Order table, simply add a new column (let’s call it Used In) that will automagically display all the pages that mention the Order Date ID.

And bingo — problem solved!

Here’s what your object description page will look like now:


The magic is done with these two nifty macros:

  1. {search-results} will display a dynamic list of search results for a given string. The results will typically be pages, but you can additionally include attachments, comments, and other items of your choosing.
  2. {expand} will reduce visual clutter. The macro will collapse the search results while still allowing to view them easily.

Here’s how to set up the macros so they can do the heavy lifting for you:


The takeaway

By successfully implementing this requirement tracing strategy, you can now take one look at the Used In column and easily hunt down any page that uses that pesky Order Date field. Take this list, give it to QA, and they can test it to make sure the field format has been updated everywhere and the project sponsor is happy ;)

Using Confluence creatively can save you many hours of work. Do you use Confluence as a BA tool? Tell me in the comments!

Denis Ardabatsky
Senior Business Analyst and PM at Oxagile

  • Mar 9th, 2015 at 8:20 pm
    Brad Rach

    This is a very interesting dynamic to using confluence. I’ve never had much use as a BA tool with Confluence, partially because I’m not keen on how it handles tables…

    This gives me a lot to think about Denis. I’d love to read more about how you use Confluence.

    • Mar 10th, 2015 at 10:44 am

      Hey Brad, glad this gave you some food for thought. Let me know if you have any more comments!

  • May 11th, 2015 at 8:23 am

    This is a great article. the use of confluence as a tractability matrix makes the things much easy and manageable.

    • May 12th, 2015 at 10:45 am

      Thanks for your kind words, Sheryl! Confluence sure does allow to be used in creative ways.

  • May 28th, 2015 at 7:15 am

    Useful information, thanks for sharing.

    • May 29th, 2015 at 10:41 am

      You’re welcome, Jerry. Glad you found it useful.

    • May 29th, 2015 at 10:42 am

      Jerry, thank you for your feedback, we really appreciate that our article was useful for you!

  • Dec 16th, 2015 at 10:13 pm

    I am currently working in confluence to create RTM. This was very help full for me I would suggest keep sharing your experience.


  • Oct 11th, 2016 at 1:39 am

    Thanks for the tip! This is an issue I have long struggled with, but I am still not sure that my problem is solved. Working in a regulated environment for medical devices we need to be able to produce a snapshot of the traceability matrix at a point in time of a release of a version of a product. So while this seems to do the job from the perspective of needing to trace a given requirement at a point in time to other documents that refer to it, it can’t give that snap shot. Any advice on that?

  • May 3rd, 2018 at 11:25 am
    Aveek Das


    This is an tip. But I need some more help. How about creating traceability for artifacts like meeting notes or User Stories?
    Can you help me.
    I am trying to create a system inside Confluence for old requirements and there is bundle of such artifacts. The user stories are linked with Jira Issues. That is the only traceability we have.

Leave a Comment
Your email will not be published