Re: [AM] Why Traceability?

Paul Oldfield <[email protected]> Tue, 16 Mar 2004 09:41:06 -0500
Newsgroups gmane.comp.programming.modeling.agile
Message-ID <[email protected]>
(responding to all)

Between you, most of the 'reasons' for traceability
that arose on the other forums have been touched on.

Most popular - tracing from requirements to code to
ensure the requirement has been coded.

Other interesting reasons - Aid to Impact Assessment
(I'll get back to that - it's a very murky reason...)

Tracing low level (detailed) requirements back to high
level requirements to ensure the 'vision' is being
followed and 'extras' are not creeping in.
(Dubious, maybe this needs re-visiting?)

Justification.  For each fragment of code, there should be
a corresponding requirement.  This is, among other things,
meant to eliminate 'back doors' etc.

Empire Building.  Tina's point - it makes work, we can get
more people on the team, keep them busy.  This thinking
would need to hide behind some other 'reason'.

Keeping documentation in sync - I think this should be
distinct from Impact Assessment, but there's definitely 
some overlap.

Big 2000 lb Gorilla - some standards body or other
immovable force says you must do it, without reason
or explanation.

IMHO, agile approaches can deal with all of these,
except possibly the 'Justification'.

<rant mode>
Of all the people that quoted Impact Assessment as the
reason, I have yet to find a credible explanation unless
we assume a level of incompetence in the developers of
the existing code that would surely render any traceability
information worthless.  

The argument that the trace for a known requirement gives
an idea of what needs to change when the requirement 
changes does not hold up to inspection.  The change
may be a very small change in a large amount of code.
OTOH, the change may require writing of a heap of new 
code, or interaction with new areas of existing code, and no 
traceability information will tell us much about this.

The alternative explanation, that when we touch each
part of the code, the traceability tells us what else may
be affected, is more credible.  However, this only makes
sense if there has been no work to counteract the 'ripple 
effect', and a change to one area of code *could* give 
problems to a remote area of code.  One wonders if there
was ever a time in history when we could expect developers
to collect reliable traceability information, but not to 
counteract the ripple effect.
</rant mode>

Get rid of the ripple effect, and Impact Assessment is
akin to any other estimation problem.

As for tracing low-level requirements to high-level
requirements, this does rather smack of a lack of trust
in the provider of requirements.  If the requirements
provider is being careful to rank the requirements by
the value they provide, at what point should the 
'overall' customer become worried that the vision
is being exceeded?  I guess this will depend on the
customer who holds the purse strings.


Paul Oldfield

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
www.aptprocess.com

any opinions expressed herein are not necessarily those of
Mentors of Cally or the Appropriate Process Movement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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
--^----------------------------------------------------------------