Traceability and Auditability: Satisfying your Customers


What Does It Cost
Traceability seems like a lot of extra effort.  Does the payback justify the effort?

First of all, cost is irrelevant if the traceability data is incomplete or invalid.  Here's where tools are important.  Most of your traceability data should be captured as a by-product of efficient everyday processes.  A checkout operation should have an update (i.e., change package) specified against it.  A new update should be created by a developer from his/her to-do list of assigned problems/features by right-clicking and selecting an implement operation. Problem reports should be generated in a simple action applied to the customer request, to which it would then be linked.  It is important that your processes are defined such that all the necessary data is collected.

A good object-oriented interface can really make the process effortless, or even better!  Traceability data should be generated wherever an action on one object is causing a new object to be created, or whenever an action on two objects specifies some common link between them. 

The developer has to check out a file to change it, so why not select a current update from his list to give the change some context and to help in branch automation, with a by-product of traceability.  It sure beats typing in a reason for the checkout or having to enter a problem number or task number, possibly foreign to the version control repository. It also means that down the road, the developer does not have to supply any missing information.

Still if you do not have a good starting architecture and toolset, the effort to support your process effectively, while gathering traceability information, could be painful and costly. Make sure you start with a flexible toolset which will let you change the data and processes to meet your requirements.  Also make sure that you can customize the user interface sufficiently to cause your team members the least grief and the greatest payback.

In the end, your customers will be satisfied. Your team members will also be satisfied and you'll end up with better product.

About the author

Joe Farah's picture Joe Farah

Joe Farah is the President and CEO of Neuma Technology and is a regular contributor to the CM Journal. Prior to co-founding Neuma in 1990 and directing the development of CM+, Joe was Director of Software Architecture and Technology at Mitel, and in the 1970s a Development Manager at Nortel (Bell-Northern Research) where he developed the Program Library System (PLS) still heavily in use by Nortel's largest projects. A software developer since the late 1960s, Joe holds a B.A.Sc. degree in Engineering Science from the University of Toronto. You can contact Joe at

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01