RE: [AM] Why Traceability?

Mark Graybill <[email protected]> Tue, 16 Mar 2004 23:41:35 -0600
Newsgroups gmane.comp.programming.modeling.agile
Message-ID <[email protected]>
Traceability can be a solution to a problem - depending on the problem.  But
then again, so can the number 42.

Whatever the reason traceability is asked for, whether asked for by the
client, government regulation, or internal processes, one thing can be
expected: the good stuff is expensive because it is so labor and time
intensive, and so prone to error and rework.

So, IMHO, having a discussion on traceability will likely not get you
anywhere because the pros and cons, as well as the motivation can be so
broad.

A few questions come to mind: How important is maintenance?  Is there direct
business value associated with the traceability?  If so, where is the
balance between detail and accuracy and business value?  How important is
verification and validation?  How detailed should it be?  What is the budget
concerning traceability efforts?

Increased traceability (as is referred to formerly in this discussion)
pretty much equates to decrease in agility, so we could be splitting hairs
forever.

Traceability is supposed to provide a roadmap from requirements and high
level concepts to source code and V&V - it is having this roadmap that is so
expensive and uncertain - although a necessary evil in some cases.

To understand it I think it is important to understand what is happening in
the industry.  A great divide is growing in the industry... one side is
moving toward BDUF, MDA and increased traceability up front with reduction
in and ultimately an elimination of efforts in actual programming labor
efforts, while the other is an increase in Agile methods, with a growing
trend to have the weight of the traceability efforts at the end through
reverse engineering, and linking TDD and full structural verification.

The former uses documentation and modeling (e.g. requirements, architecture,
design) extensively in the beginning as the canonical traceability framework
and is the basis for specifying the system, which is later built according
to specs (perhaps automatically/programmatically).  However, the latter
(Agile) uses documentation and modeling minimally and with primitive methods
in the beginning not for traceability but as a tool for analysis and
cognitive/creative priming.  The latter portion of the industry can then
focus on automated tools that do not hinder development/evolution and will
link TDD, source code, and V&V using techniques such as embedded code
instrumentation and reverse engineering to provide the roadmap/traceability
of the system after it is built.

The Agile approach (latter) is appealing because it is most amenable to
evolution and maintaining conceptual integrity, and can deliver business
value sooner and more of it in the end because the system was able to evolve
to meet the customer's needs (provided it is accomplished properly.)  It is
also the better solution in most cases because it is extremely difficult and
costly - and inevitably problematic to put forth great efforts up front to
totally specify the system accurately - it is hard to predict the future.
Also, it is impossible to always extract the exact proper form, shape and
details of each system concept before the engineers/developers dive into the
cognitive inner-world of implementing a design (programming.)  However,
generating the traceability roadmap after the fact is simply reporting on
what was already built - no prediction - all fact.

My personal opinion is that this divide is not only bound to happen but is
growing already - the industry cannot go just one way or the other.  FDA,
FAA, GSA and DOD regulations require the up-front specification and
traceability, while much of the bespoke portion of the industry cannot
afford it, which is where Agile methods comes in.

Traceability takes on a different form, meaning and end product depending on
many factors - not the least of which is the position along the gradient
between the two sides of this divide.

IMHO

Mark

-----Original Message-----
From: Paul Oldfield [mailto:[email protected]] 
Sent: Tuesday, March 16, 2004 5:34 AM
To: INTERNET:[email protected]
Subject: [AM] Why Traceability?

Hi, all.

There has been a thread over several agile forums in the
last 10 days or so about Traceability.

There seemed to be some consensus reached that 
traceability is a solution to a problem, one that may no
longer hold true (as in no longer the best solution) in an 
agile environment.

However, a topic that never seemed to reach consensus,
or even be given a satisfactory answer, IMHO, was the
question of what problem or problems traceability was
trying to solve.

Given the apparent number of greybeards on this forum,
(younger folk can also respond, please?) can anyone
give an opinion as to why traceability is wanted - what does
it give us?


Paul Oldfield
www.aptprocess.com

For more information about AM, visit the Agile Modeling Home Page at
www.agilemodeling.com

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: [email protected]

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: [email protected]

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------