• Seilevel Team

    Here’s the Team

    Welcome to our Seilevel Photo Op.

Software Requirements Traceability – How Low Do We Go?

Tracing software requirements throughout the project is considered a good practice in software engineering. There are numerous studies that have shown the benefit of traceability and how traceability can avoid defects in software projects.

The generally accepted practice of tracing software requirements includes elements such as architecture and other design components, source code modules, tests, help files and documentation. But how low should traceability go?

A project that I was on recently, the testing organization asked for traceability of the software requirements. The functional requirements are traced to the business requirements. The business rules and the UI data elements are traced to the functional requirements. As the project progressed, additional mappings to design, documentation and test cases will be added. All of the tracing is done in MS Excel, which is also problematic, but that is a different issue for a different post.

While I have traced software requirements before, I have never traced down to the UI data element level. Is there value in tracing down to this level? When I asked the testing organization why they desired this level of tracing, their answer was the standard, “to make sure that we have test cases that cover everything”. But is there really value in tracing down to this level?

I did some research , and could not find any direct references to tracing down to this level. My research did show that some military contracts and defense contracts may call for tracing to this level. But for projects outside of the military or defense world, it is rare.

Tracing to this level is expensive, no doubt about that, especially if the tracing is done properly. For example, a UI data element could be valid for a number of software requirements. Is it enough to trace it to the first software requirement where it is valid? Or is it more proper to trace it to every software requirement where it is valid? Given a basic UI data element such as customer name, it could trace to quite a few software requirements in a large system.

What if the software requirements change? Maintaining a valid traceability can be challenging, especially if the tracing is done manually (which, in this case it is). Every time a software requirement is changed, or a UI data element is added, deleted, renamed, the traceability matrix should be updated. The larger the system, the more complex and cumbersome this becomes.

So while I can applaud the desire of the test organization to ensure that every UI data element within the system is tested and valid per a software requirement, is it worth the cost?

3 Responses to Software Requirements Traceability – How Low Do We Go?

  1. Craig Brown March 27, 2010 at 2:10 am #

    In many respects Traceability is a sacred cow. But in reality what value does it add to the project?

    It helps manage complexity and to track relationship between requirements and solution, sure.

    What really matters is being able to trace the system capability back to business capability.

    The bits in between are just QA and admin.

    Check out the V-Model for smarter ways to reconcile tests to requirements. While it's adherents probably pursue rigorous traceability as well, the model itself helps see what is most important when testing.

  2. Markus Misselwitz June 7, 2012 at 9:42 am #

    Actually I am researching on this topic right now. The major driver for traceability until UI level here is to fight the quantity of requirements + related changes in long term projects.

    One use case For example is: While the project is 2 years old, (new) developers want to find out which requirements and changes belong to a certain page of the web application.

    Another: You are at the customers meeting and they want to know, what requirements led to a particuliar (changed) ui element.

    It would be really helpful, If you could tell more details of your research results. e.g. the concrete military project or the techniques they used and their experiences.

    Details to the techniques I found so far can read in this question. However I know that manual linking is kinda expensive and will likely not maintained, but those are realistic working approaches so far.
    http://pm.stackexchange.com/questions/5514/link-requirements-within-pdf-or-html-files-to-increase-traceability

  3. Pramada September 4, 2022 at 8:47 am #

    Perfect analysis. Mobile details can be tracked in this article: https://calltracer.org/
    Pramada

Leave a Reply

Your email address will not be published. Required fields are marked *