Lean-Agile Traceability: Strategies and Solutions

    1. the terribly taxing and tiresome tedium of traceability: focus on taking the tedium out of manual traceability and have it streamlined and automated as much as possible, ideally happening seamlessly behind the seems (like with Jane Huang's event-based traceability (EBT) , or thru the use of a common environment "event" catcher within Eclipse or MS Team System server), probably using a task-based, test-driven (TDD), or feature-driven (FDD) approach.

So what are some of these specific ways of attaining Lean Traceability in accordance with Agile values, Lean principles, the Value-Up paradigm, and of course the basic tenets of sound CM?

Recognize that Traceability is not Tracing
One of the first ways is to understand and recognize the difference between traceability, and tracing! Traceability is the problem that needs to be solved. Tracing is one way of solving it, and many of the known ways of doing tracing are what cause the familiar moans and groans when you utter the dreaded "T-word" to many a developer. If we have trustworthy transparency, then traceability requires a systematic means of utilizing that transparency so that we can quickly connect the dots between any two points in the transparent information that has been made available. Trustworthy transparency is great in that it makes all the information available to us. But we still have to figure out how to connect those dots.  That is where traceability fits in - by providing us the ability to identify those paths between the "dots" that we deem to be important.

Use Version-Control and Change-Tracking Tools
So what are some of those dots, and some "lean ways" of connecting them? First and foremost is the fundamental practice of version control, and having it integrated with basic change tracking: The version control system, its repositories, and the change-tracking system (and its repository) are the cornerstone to providing transparency into our process and its lifecycle. The capture and record the residue of our activities and outputs from the moment a request shows up on our radar, through its elaboration and transformation into various lifecycle artifacts, and ultimately into code and test that are integrated and built, tested, released, and promoted/delivered.

Basic Integration between Version-Control & Change-Tracking
One of the most basic ways to help connect and navigate that information is with a task-based approach that links every action and event in the version-control system with a corresponding action and event in the tracking system. This can be as simple as having the identifier of a task in the tracking system associated with every transaction in the version-control system.

As a recent real world example of good industry practice, Robert has been working with Camelot, the UK Lottery operator, on integrating Perforce's SCM tool and Serena's TeamTrack defect/issue tracker. Camelot has stringent audit requirements on their code and change control, and ultimately is responsible to the UK's National Lottery Commission for the integrity of their systems. Perforce replaced Serena's Version Manager for SCM, and the integration ensures that all developer check-ins using Perforce are associated with an approved TeamTrack issue, and with an audit trail of changes to those associations. This combines the benefits of TeamTrack's workflow capabilities with the solid SCM capabilities of Perforce.

Such integrations are successful when you:

    • Minimize the replication of information between two systems (following the DRY principle) - so only those fields are replicated which are necessary
    • Seek to avoid concurrent updates to particular fields - i.e. make one system the master for any replicated field
    • Provide quick and simple ways (URLs work very well) to allow a user to switch from one system to the other

About the author

Brad Appleton's picture
Brad Appleton

Brad Appleton is a software CM/ALM solution architect and lean/agile development champion at a large telecommunications company. Currently he helps projects and teams adopt and apply lean/agile development and CM/ALM practices and tools. He is coauthor of the bookSoftware Configuration Management Patterns, a columnist in The CM Journal and The Agile Journal at CMCrossroads.com, and a former section editor for The C++ Report. You can read Brad's blog at blog.bradapp.net.

About the author

Steve Berczuk's picture
Steve Berczuk

Steve Berczuk is an engineer and ScrumMaster at Humedica where he's helping to build next-generation SaaS-based clinical informatics applications. The author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, he is a recognized expert in software configuration management and agile software development. Steve is passionate about helping teams work effectively to produce quality software. He has an M.S. in operations research from Stanford University and an S.B. in Electrical Engineering from MIT, and is a certified, practicing ScrumMaster. Contact Steve at steve@berczuk.com or visit berczuk.com and follow his blog at blog.berczuk.com.

About the author

Robert Cowham's picture
Robert Cowham

Robert Cowham has long been interested in software configuration management while retaining the attitude of a generalist with experience and skills in many aspects of software development. A regular presenter at conferences, he authored the Agile SCM column within the CM Journal together with Brad Appleton and Steve Berczuk. His day job is as Services Director for Square Mile Systems whose main focus is on skills and techniques for infrastructure configuration management and DCIM (Data Center Infrastructure Management) - applying configuration management principles to hardware documentation and implementation as well as mapping ITIL services to the underlying layers.