Lean-Agile Traceability: Strategies and Solutions

    • The Six "Facets" of Traceability
    • The Five Orders of Traceability
    • The Four "Rings" of Enterprise/Stakeholder Visibility
    • The Three Driving Forces for Traceability
    • The Two Overarching Objectives of Traceability
    • One Ultimate Mission/Vision - Fostering Trust

To make a long (but hopefully interesting) story short, we concluded that the overarching objectives of traceability are:

    • Transparency: the ability to readily view all the information we are concerned with, and ...
    • Identification: the ability to identify our concerns so we can separate independent sets of concerns and cohesively associate the related ones.

And these are supposed to be what help to engender trust.  So can we achieve transparency and identification (and hence "navigable knowledge-spaces") without more traditional traceability methods, and if so, what are the different ways of doing it?

Our CM backgrounds differ strongly with the many vocal opinions expressed in XP community when it comes to the use of tools for tracking requests/changes: We are strongly in favor of using a "good" tracking tool. Index cards are a great and valuable "tool" for eliciting dialogue and interaction with the "customer" (and some of us even use them for this purpose, along with post-it notes). But from a CM-perspective, index cards alone simply do not suffice as a serious means of storing, tracking, sorting, searching, slicing & dicing development change requests.

We do believe an extent of traceability is necessary, and that it's not necessarily "agile", but that it can be, and should be, "lean" and streamlined. And it should serve the purpose of transparency, visibility and status-accounting rather than being a goal in itself. There are viable alternatives to achieving transparency and identification other than what many regard as "formal traceability." Some of these include things like:

    • Direct customer communication, and better ways to make project information more transparent to the customer
    • Ways of applying principles of simplicity and minimizing intermediate artifacts

Many of these concepts and more are embodied in Sam Guckenheimer 's recent book on Software Engineering with Microsoft Visual Studio Team System . We found this book to be surprisingly good (outstanding even), and not at all what one might expect given the apparent tool/vendor-specific nature suggested by the title. The value-up paradigm and most of the other concepts and values in the book are very well aligned with agility while still meeting the needs of more rigorous ceremony in their software and systems engineering efforts. Guckenheimer describes the basic differences as follows:

Attitudinal Differences Between Work-Down and Value-Up Paradigms

Core Assumption

 

Work-Down Attitude

 

Value-Up Attitude

 

Planning and change process

 

Planning and design are the most important activities to get right. You need to do these initially, establish accountability to plan, monitor against the plan, and carefully prevent change from creeping in.

 

Change happens; embrace it. Planning and design will continue through the project. Therefore, you should invest in just enough planning and design to understand risk and to manage the next small increment.

 

Primary measurement

 

Task completion. Because we know the steps to achieve the end goal, we can measure every intermediate deliverable and compute earned value running as the percentage of hours planned to be spent by now versus the hours planned to be spent to completion.

 

Only deliverables that the customer values count (working software, completed documentation, etc.). You

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.