Lean-Agile Traceability: Strategies and Solutions

our change/task tracking tool, and our version-control tool, and the interface we use to edit code, models, requirements, etc., then:

    • The IDE could easily know what kind of artifact we're working on (requirement, design, code, test
    • Operations in the IDE and the version-control tool would be able broadcast "events" that know my current context (my task, my artifact type, my operation) and could automatically create a "traceability link" in the appropriate place.

CASE tools and protocols like Sun's ToolTalk and HP's SoftBench tried to do this over a decade ago, but we didn't have agile methods quite so formalized then and weren't necessarily working in a TDD/TBD fashion. This is what Event-Based Traceability (EBT) is trying to help achieve. If we had (and/or created) the appropriate tool plug-ins (e.g., for Eclipse, or MS TeamSystem) and if we used TDD/BDD with TBD in this IDE, we might just be able to get EBT for free! (Or at least come pretty darn close!).

Search-based Traceability - Traceability without Tracing
Event-based traceability can be incredibly powerful and easy to use because it eliminates most of the manual tracing we would otherwise have to make ourselves between artifacts and (meta)data across the multiple lifecycle phases and repositories. Within a set of phase-specific artifacts, we could use a simple (or hi-tech) tool that makes it very convenient to place linkages between items in the same artifact and/or of the same type (such as with simple cross-references, and item structuring/decomposition).

Search-based traceability is one of the more recent "hot topics" in traceability research. It does not require manual (or even automatic) insertion of traces between related pieces of information. Instead it relies and smart, probabilistic and context-sensitive searching of a project's information, assets and data to dynamically infer linkages and report them based on the specific set of search keywords used.

Event-based and tool-integration-based tracing may still be more convenient and effective for relating together information about who did what, when, and where. But Search-based traceability can be more powerful, convenient, and effective at tracing information across the lifecycle and the value-chain, particularly when it comes to answering questions like "WHY?" and analyzing impacts and relationships of logical items and terms across a project's knowledgebase (including across less formally structured information such as project blogs, mail-lists, wikis, etc.).

In its most advanced form, search-based traceability utilizes information retrieval methods such as the vector space model, semantic indexing, or probabilistic network models to dynamically generate traces at runtime. According to Jane Cleland Huang in " Just Enough Requirements Traceability ":

The effectiveness of automated traceability is measured using the standard metrics of recall and precision, where recall measures the number of correct links that are retrieved by the tool, and precision measures the number of correct links out of the total number of retrieved links.   Numerous experiments, conducted using both experimental data sets as well as industry and government data sources, have consistently shown that when recall levels of 90-95% are targeted precision of 10-35% is generally obtainable. [Recall indicates how many of the items that should have been found, are effectively extracted. Precision indicates how many of the extracted items are correct. Usually there is a trade off of recall against precision.]

This means that automated traceability methods require a human analyst to manually evaluate the candidate links returned by the tool and to filter out the incorrect ones.  Automated trace retrieval, while no silver-bullet, is increasingly recognized by industry as a potential traceability solution.  Prototype tools such as Poirot are used in industrial pilot studies.  The new Center of Excellence in Traceability has been established

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.