Discussion:
[AM] Why Traceability?
Paul Oldfield
2004-03-16 11:33:41 UTC
Permalink
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
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Stephen Smith
2004-03-16 11:48:45 UTC
Permalink
Trace-ability... something I have done a lot in the past, taught as part
of RUP & OOAD, but never used!!.... hmmmmm

Then again I have always moved on before the maintenance phase!....
hmmmmm

Steve

On Tue, 16 Mar 2004 06:33:41 -0500, "Paul Oldfield"
Post by Paul Oldfield
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
--
http://www.fastmail.fm - Same, same, but differentÂ…

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Jason Gorman
2004-03-16 11:57:07 UTC
Permalink
Any idea what it's actually supposed to achieve, though?

Jason
-----Original Message-----
Sent: 16 March 2004 11:49
To: Agile Modeling Group
Subject: Re: [AM] Why Traceability?
Trace-ability... something I have done a lot in the past,
taught as part of RUP & OOAD, but never used!!.... hmmmmm
Then again I have always moved on before the maintenance phase!....
hmmmmm
Steve
On Tue, 16 Mar 2004 06:33:41 -0500, "Paul Oldfield"
Post by Paul Oldfield
Hi, all.
There has been a thread over several agile forums in the
last 10 days
Post by Paul Oldfield
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
Post by Paul Oldfield
problems traceability was trying to solve.
Given the apparent number of greybeards on this forum,
(younger folk
Post by Paul Oldfield
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
Post by Paul Oldfield
www.agilemodeling.com
--
http://www.fastmail.fm - Same, same, but different.
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Ashley McNeile
2004-03-16 12:40:43 UTC
Permalink
Post by Jason Gorman
Any idea what it's actually supposed to achieve, though?
Recently I was doing some work at a government department, where the
delivery of IT solutions is often undertaken by external suppliers.
Contracts with a solution supplier are sometimes fixed-price and scoped by a
requirements specification. Testing is used to verify delivery against
contract, and traceability between the requirements in the contract and the
tests performed is the basis for determining the extent of compliance (and
therefore whether/how much the supplier gets paid).

Rgds
Ashley

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Hubert Matthews
2004-03-16 11:59:43 UTC
Permalink
Post by Paul Oldfield
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.
I spoke with an agile devotee recently who had been talking with
a bunch of CMM assessors. He was expecting a serious culture
clash: he would want minimum documentation, they would want the
maximum. My friend was truly surprised at these assessors
reaction. They liked agile processes with automated tests! Why?
Because traceability was easy. The link between the
requirement - specified as an executable test - and the code -
again in an executable form - was utterly straightforward. In a
traditional waterfall approach, the path between a written
requirement, via analysis, design and coding, to a test is a lot
longer and there are many more opportunities to drop the shopping.

Not the reaction I expected from them, but it's reassuring that
they just want to get the job done and get good software out there.
--
Hubert Matthews http://www.oxyware.com/
Software Consultant ***@oxyware.com

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
John Manuel
2004-03-16 15:09:26 UTC
Permalink
I was at a talk a few months ago where Ken Schwaber gave a quick
introduction to Scrum and its place in the Agile universe. I remember him
mentioning that Scrum was CMM level 2 and 3 compliant but now that I know a
little more about CMM, I'm having difficultly understanding how an Agile
process can be CMM compliant without losing its agility.

My difficulty arises from CMM's "Maintain Bidirectional Traceability of
Requirements" specific practice. As far as I can tell, you can't achieve
universal traceability without heavy documentation or tools, both of which
are discouraged in Agile processes. Automated tests (JUnit, NUnit, etc.)
certainly help agility and give great traceability but they aren't
appropriate (AFAIK) for testing user interfaces so user interface
requirements must be traced some other way, which brings us back to
documentation or tools.

How do people satisfy CMM's need for Bidirectional Traceability without
being crushed by documents or distracted by tools?

John Manuel

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Tina Erwee
2004-03-16 12:03:51 UTC
Permalink
Hi

I think the only real stick traceability ever gave anyone, was the stick to hit the client over the head with: "You can't have this, you dirty little client. You did not ask for this (2 years ago)!"

Oh, of course traceability generates work. Keeping your requirements and models in sync (explicit traceability) can be so much work that you will need an extra resource just to manage the docs, unless you use a tool (that cost more than the resource)!

That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
McGovern, Patrick J
2004-03-16 12:13:50 UTC
Permalink
IME traceability offers an understanding of impact of change and allows
you to actually somewhat measure that change.

If I change this use case I will also have to review these classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that everything
"still" works correctly...

Is that too simplistic an answer? That seems to me to be the real value.
Of course you can go in the other direction too...this machine went down
so that service is no longer available...blah blah...

-pjm-
-----Original Message-----
From: Tina Erwee [mailto:***@shoprite.co.za]
Sent: Tuesday, March 16, 2004 7:04 AM
To: ***@topica.com
Subject: RE: [AM] Why Traceability?

Hi

I think the only real stick traceability ever gave anyone, was the stick
to hit the client over the head with: "You can't have this, you dirty
little client. You did not ask for this (2 years ago)!"

Oh, of course traceability generates work. Keeping your requirements and
models in sync (explicit traceability) can be so much work that you will
need an extra resource just to manage the docs, unless you use a tool
(that cost more than the resource)!

That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Scott Ambler
2004-03-16 12:48:54 UTC
Permalink
The need for a traceability matrix increases the heavier you travel because
when you maintain the same information in several places you need to update
it when something changes. With documentation-heavy processes traceability
appears to be an important thing as a result, but as you move to
documentation-effective processes such as AM the need to trace reduces
because there is less to keep in sync.

There is inherent traceability in some artifacts:
1. In code based artifacts (e.g. tests which invoke business code) you can
determine the traceability via examining the code.
2. In model-based artifacts created within a sophisticated modeling tool
the models are often related to one another which gives you your
traceability (e.g. this use case is described by these three sequence
diagrams, which in turn depict operations and classes which appear on the
design class model, Class X is described by this state machine diagram
which was used to generate this source code, ...

When you use simple tools (whiteboards, cards, ...) to model you lose
explicit model traceability and "unfortunately" have to rely on the people
involved (e.g. talk to Sally if you want to find out how that works), or
rely on code-based artifacts, or develop a traceability matrix.

I would treat a traceability matrix like any other document -- it should be
treated as a requirement (estimated, prioritized, ...) and created only if
your stakeholders are willing to invest in it. I would also create an
agile document which is just barely good enough. I wrote a bit about this
on the AM site a few years ago.

- Scott
Post by McGovern, Patrick J
IME traceability offers an understanding of impact of change and allows
you to actually somewhat measure that change.
If I change this use case I will also have to review these classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that everything
"still" works correctly...
Is that too simplistic an answer? That seems to me to be the real value.
Of course you can go in the other direction too...this machine went down
so that service is no longer available...blah blah...
-pjm-
-----Original Message-----
Sent: Tuesday, March 16, 2004 7:04 AM
Subject: RE: [AM] Why Traceability?
Hi
I think the only real stick traceability ever gave anyone, was the stick
to hit the client over the head with: "You can't have this, you dirty
little client. You did not ask for this (2 years ago)!"
Oh, of course traceability generates work. Keeping your requirements and
models in sync (explicit traceability) can be so much work that you will
need an extra resource just to manage the docs, unless you use a tool
(that cost more than the resource)!
That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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
For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
====================================================
Scott W. Ambler
Senior Consultant, Ronin International, Inc.
www.ronin-intl.com/company/scottAmbler.html

www.agiledata.org
www.agilemodeling.com
www.ambysoft.com
www.enterpriseunifiedprocess.info
www.modelingstyle.info
www.ronin-intl.com

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Tina Erwee
2004-03-16 12:45:09 UTC
Permalink
I do not think traceability will guarantee that the impact of a change will be gauged sufficiently. I believe it can only be done by looking at the bigger picture - high level use cases.

Sure there are times when traceability has a role to play. These would be enormous projects with very big teams. Most software development does not happen that way.
-----Original Message-----
Sent: 16 March 2004 14:14
Subject: RE: [AM] Why Traceability?
IME traceability offers an understanding of impact of change
and allows
you to actually somewhat measure that change.
If I change this use case I will also have to review these classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that
everything
"still" works correctly...
Is that too simplistic an answer? That seems to me to be the
real value.
Of course you can go in the other direction too...this
machine went down
so that service is no longer available...blah blah...
-pjm-
-----Original Message-----
Sent: Tuesday, March 16, 2004 7:04 AM
Subject: RE: [AM] Why Traceability?
Hi
I think the only real stick traceability ever gave anyone,
was the stick
to hit the client over the head with: "You can't have this, you dirty
little client. You did not ask for this (2 years ago)!"
Oh, of course traceability generates work. Keeping your
requirements and
models in sync (explicit traceability) can be so much work
that you will
need an extra resource just to manage the docs, unless you use a tool
(that cost more than the resource)!
That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Jason Gorman
2004-03-16 12:50:50 UTC
Permalink
And to add to that, would any of these change/impact estimation activities
be any more effective than going to one of the developers and aksing
"roughly how long would that take you?" It does rather smack of "jobs for
the boys".

Jason
-----Original Message-----
Sent: 16 March 2004 12:45
Subject: RE: [AM] Why Traceability?
I do not think traceability will guarantee that the impact
of a change will be gauged sufficiently. I believe it can
only be done by looking at the bigger picture - high level use cases.
Sure there are times when traceability has a role to play.
These would be enormous projects with very big teams. Most
software development does not happen that way.
-----Original Message-----
Sent: 16 March 2004 14:14
Subject: RE: [AM] Why Traceability?
IME traceability offers an understanding of impact of change and
allows you to actually somewhat measure that change.
If I change this use case I will also have to review these
classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that
everything "still" works correctly...
Is that too simplistic an answer? That seems to me to be the real
value.
Of course you can go in the other direction too...this machine went
down so that service is no longer available...blah blah...
-pjm-
-----Original Message-----
Sent: Tuesday, March 16, 2004 7:04 AM
Subject: RE: [AM] Why Traceability?
Hi
I think the only real stick traceability ever gave anyone, was the
stick to hit the client over the head with: "You can't have
this, you
dirty little client. You did not ask for this (2 years ago)!"
Oh, of course traceability generates work. Keeping your
requirements
and models in sync (explicit traceability) can be so much work that
you will need an extra resource just to manage the docs, unless you
use a tool (that cost more than the resource)!
That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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
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
For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
McGovern, Patrick J
2004-03-16 12:51:31 UTC
Permalink
Agreed, there are no guarantees in life. It's just another tool and
anyone that thinks any tool solves all their problems is most likely
mistaken. But, in order to understand change there has to be some form
of traceability. You may be doing it manually and that may satisfy your
needs.

-pjm-

-----Original Message-----
From: Tina Erwee [mailto:***@shoprite.co.za]
Sent: Tuesday, March 16, 2004 7:45 AM
To: ***@topica.com
Subject: RE: [AM] Why Traceability?

I do not think traceability will guarantee that the impact of a change
will be gauged sufficiently. I believe it can only be done by looking at
the bigger picture - high level use cases.

Sure there are times when traceability has a role to play. These would
be enormous projects with very big teams. Most software development does
not happen that way.
-----Original Message-----
Sent: 16 March 2004 14:14
Subject: RE: [AM] Why Traceability?
IME traceability offers an understanding of impact of change
and allows
you to actually somewhat measure that change.
If I change this use case I will also have to review these classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that
everything
"still" works correctly...
Is that too simplistic an answer? That seems to me to be the
real value.
Of course you can go in the other direction too...this
machine went down
so that service is no longer available...blah blah...
-pjm-
-----Original Message-----
Sent: Tuesday, March 16, 2004 7:04 AM
Subject: RE: [AM] Why Traceability?
Hi
I think the only real stick traceability ever gave anyone,
was the stick
to hit the client over the head with: "You can't have this, you dirty
little client. You did not ask for this (2 years ago)!"
Oh, of course traceability generates work. Keeping your
requirements and
models in sync (explicit traceability) can be so much work
that you will
need an extra resource just to manage the docs, unless you use a tool
(that cost more than the resource)!
That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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
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

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Tina Erwee
2004-03-16 12:49:42 UTC
Permalink
Traceability for sake of getting paid - best reason there is.

BTW How did this affect an agile approach? How detailed were the requirements?
-----Original Message-----
Sent: 16 March 2004 14:41
Subject: Re: [AM] Why Traceability?
Post by Jason Gorman
Any idea what it's actually supposed to achieve, though?
Recently I was doing some work at a government department, where the
delivery of IT solutions is often undertaken by external suppliers.
Contracts with a solution supplier are sometimes fixed-price
and scoped by a
requirements specification. Testing is used to verify delivery against
contract, and traceability between the requirements in the
contract and the
tests performed is the basis for determining the extent of
compliance (and
therefore whether/how much the supplier gets paid).
Rgds
Ashley
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Ashley McNeile
2004-03-17 09:24:46 UTC
Permalink
Tina
Post by Tina Erwee
BTW How did this affect an agile approach? How detailed were the requirements?
The requirements were detailed, and were collected over a number of months.
This is a large project, with a peak team head count well over 100. As far
as I know, they were not using Agile approaches at all -- but I have not
been deeply involved in the project.

Given the commercial approach being used (a fixed-price contract scoped and
costed on the basis of requirements), I think the project had no option but
to gather detailed requirements up front.

Rgds
Ashley

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
McGovern, Patrick J
2004-03-16 12:54:01 UTC
Permalink
Sure there are times when traceability has a role to play. These would
be enormous projects with very big teams. Most software development does
not happen that way.
[Patrick mumbled: ] unfortunately, that's the character of my projects
lately :(
-----Original Message-----
Sent: 16 March 2004 14:14
Subject: RE: [AM] Why Traceability?
IME traceability offers an understanding of impact of change
and allows
you to actually somewhat measure that change.
If I change this use case I will also have to review these classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that
everything
"still" works correctly...
Is that too simplistic an answer? That seems to me to be the
real value.
Of course you can go in the other direction too...this
machine went down
so that service is no longer available...blah blah...
-pjm-
-----Original Message-----
Sent: Tuesday, March 16, 2004 7:04 AM
Subject: RE: [AM] Why Traceability?
Hi
I think the only real stick traceability ever gave anyone,
was the stick
to hit the client over the head with: "You can't have this, you dirty
little client. You did not ask for this (2 years ago)!"
Oh, of course traceability generates work. Keeping your
requirements and
models in sync (explicit traceability) can be so much work
that you will
need an extra resource just to manage the docs, unless you use a tool
(that cost more than the resource)!
That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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
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

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Tina Erwee
2004-03-16 12:58:39 UTC
Permalink
Ouch! Where is the fun in that? ;)
-----Original Message-----
Sent: 16 March 2004 14:54
Subject: RE: [AM] Why Traceability?
Sure there are times when traceability has a role to play. These would
be enormous projects with very big teams. Most software
development does
not happen that way.
[Patrick mumbled: ] unfortunately, that's the character of my projects
lately :(
-----Original Message-----
Sent: 16 March 2004 14:14
Subject: RE: [AM] Why Traceability?
IME traceability offers an understanding of impact of change
and allows
you to actually somewhat measure that change.
If I change this use case I will also have to review these
classes and
those classes being changed will affect this component and if that
component changes I have to rerun these tests to ensure that
everything
"still" works correctly...
Is that too simplistic an answer? That seems to me to be the
real value.
Of course you can go in the other direction too...this
machine went down
so that service is no longer available...blah blah...
-pjm-
-----Original Message-----
Sent: Tuesday, March 16, 2004 7:04 AM
Subject: RE: [AM] Why Traceability?
Hi
I think the only real stick traceability ever gave anyone,
was the stick
to hit the client over the head with: "You can't have this,
you dirty
little client. You did not ask for this (2 years ago)!"
Oh, of course traceability generates work. Keeping your
requirements and
models in sync (explicit traceability) can be so much work
that you will
need an extra resource just to manage the docs, unless you
use a tool
(that cost more than the resource)!
That's about it!
Tina
-----Original Message-----
Sent: 16 March 2004 13:34
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
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
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
a***@ig.com.br
2004-03-16 13:09:55 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Arisio Costa/Arisio Costa
received
by:

at: 16/03/2004 10:09:55


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
a***@ig.com.br
2004-03-16 13:15:02 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Arisio Costa/Arisio Costa
received
by:

at: 16/03/2004 10:15:02


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
a***@ig.com.br
2004-03-16 13:15:17 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Arisio Costa/Arisio Costa
received
by:

at: 16/03/2004 10:15:17


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
t***@bdk.rug.nl
2004-03-16 13:22:20 UTC
Permalink
I spoke with an agile devotee recently who had been talking with a
bunch of CMM assessors. He was expecting a serious culture clash: he
would want minimum documentation, they would want the maximum.
Could very well be the same amount of documentation.

Thomas de Boer

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Paul Oldfield
2004-03-16 14:41:06 UTC
Permalink
(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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Brad Appleton
2004-03-16 21:35:21 UTC
Permalink
Post by Paul Oldfield
<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.
I don't believe so. I believe the assumption being made is
that you have a single, small, colocated team and a small
enough system (under a million lines of code) that people can
reasonably wrap their brains around the whole domain model.
And impact analysis is often about doing enough analysis
in order to find out whom to communicate with in order
to obtain an estimate (as opposed to doing the estimate
itself). See my previous post on this thread for more
details.

People simply have limits to the quantity of complexity they
can effectively deal with - thats a fact rather than an attack
on competence. So the main ways we know of are to strip
away what you can live without, and then if the rest is still
too complex, either "divide & conquer" or "conquer & divide".

"Divide & Conquer" parcels the complexity across multiple
teams, organizations, phases, projects, products, etc. And
then pays the communication and coordination price for being
less able to see the forest for the trees.

"Conquer & Divide" (as XP has sometimes been described) parcels
the complexity by managing its scope, and the granularity of
changes/requests/iterations/releases by keeping them as small
and simple and fine-grained as possible for the current "timebox"
and save the rest for subsequent reprioritization and feedback
adjustment/correction. Instead of fragmenting the people and
the communication it fragments system size/scope and grows it
in a piecemeal "emergent" fashion based on tight-feedback of
small chunks so that the size and scope of the people doing
the work can be kept simple.

Instead of dividing up the solution over people using a "master plan",
Agile prefers dividing up the problem over time using "organic growth".

It's a very big shift in mind-set for some folks to make,
and very scary leap at that.
--
Brad Appleton <***@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
i***@prnewswire.co.uk
2004-03-16 14:48:46 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Idris Ahmad/IT/LN/UK/PRNewswire
received
by:

at: 16/03/2004 14:53:30


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Tina Erwee
2004-03-16 14:59:55 UTC
Permalink
(responding to Paul)

<snip>
Post by Paul Oldfield
Justification. For each fragment of code, there should be
a corresponding requirement. This is, among other things,
meant to eliminate 'back doors' etc.
Why would people need 'back doors'? This is a rhetorical question. :)

People need backdoors when they do not believe their requirements will be taken seriously by the powers that be.
Sometimes they take back doors because of a hidden agenda.

I believe that people will always find a back door, regardless of processes and procedures put in place to stop them. Rather keep the front door wide open, because at least you will then KNOW about all these back door stuff.

Tina
Post by 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
For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Steven Gordon
2004-03-16 15:39:19 UTC
Permalink
John,

By reducing the number and depth of formal software artifacts that are not code, to 0 if at all possible.

For example, if all our requirements were formalized as executable acceptance tests and our formal design was the code itself, then bidirectional traceability could be provided by just running code analysis tools.

Steven Gordon
http://sf.asu.edu/

-----Original Message-----
From: John Manuel [mailto:***@acm.org]
Sent: Tue 3/16/2004 8:09 AM
To: ***@topica.com
Cc:
Subject: RE: [AM] Why Traceability?



I was at a talk a few months ago where Ken Schwaber gave a quick
introduction to Scrum and its place in the Agile universe. I remember him
mentioning that Scrum was CMM level 2 and 3 compliant but now that I know a
little more about CMM, I'm having difficultly understanding how an Agile
process can be CMM compliant without losing its agility.

My difficulty arises from CMM's "Maintain Bidirectional Traceability of
Requirements" specific practice. As far as I can tell, you can't achieve
universal traceability without heavy documentation or tools, both of which
are discouraged in Agile processes. Automated tests (JUnit, NUnit, etc.)
certainly help agility and give great traceability but they aren't
appropriate (AFAIK) for testing user interfaces so user interface
requirements must be traced some other way, which brings us back to
documentation or tools.

How do people satisfy CMM's need for Bidirectional Traceability without
being crushed by documents or distracted by tools?

John Manuel

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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Paul Oldfield
2004-03-16 16:02:04 UTC
Permalink
(responding to John)
Post by John Manuel
I was at a talk a few months ago where Ken Schwaber gave
a quick introduction to Scrum and its place in the Agile
universe. I remember him mentioning that Scrum was CMM
level 2 and 3 compliant but now that I know a little more
about CMM, I'm having difficultly understanding how an Agile
process can be CMM compliant without losing its agility.
My difficulty arises from CMM's "Maintain Bidirectional
Traceability of Requirements" specific practice. As far as I
can tell, you can't achieve universal traceability without
heavy documentation or tools, both of which are discouraged
in Agile processes. Automated tests (JUnit, NUnit, etc.)
certainly help agility and give great traceability but they aren't
appropriate (AFAIK) for testing user interfaces so user
interface requirements must be traced some other way,
which brings us back to documentation or tools.
How do people satisfy CMM's need for Bidirectional
Traceability without being crushed by documents or
distracted by tools?
First, let me correct a possible misconception. Agile
approaches are not absolutely anti-tool. The agilists are most
enthusiastic about use of appropriate tools, and are pretty
prolific at the creation of appropriate tools (as all Unix
programmers used to be, way back... but don't let me get
distracted!). Agilists don't like big, unwieldy, expensive
tools that require big, unwieldy, expensive process to go
along with.

The next question one needs to ask is, "What does CMM
mean when it talks about Bidirectional Traceability?"
Generally, the CMM auditors will take any reasonable
interpretation, as indicated in the earlier response on this
thread from Hubert. If the test *is* the requirement, then
a passed test indicates the requirement traces to the code.
A reasonable code coverage tool will trace the code to
the requirement (in desperation, one could comment out
the code in question and see what tests fail).

Other tools can be used for testing the user interface - there's
a yahoo forum specifically on the topic of doing test-first
development for user interfaces, if you need help...
http://groups.yahoo.com/group/TestFirstUserInterfaces

So to answer the question in your final paragraph - you
use tools that don't distract.


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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
John Manuel
2004-03-16 18:49:28 UTC
Permalink
Post by Paul Oldfield
First, let me correct a possible misconception. Agile
approaches are not absolutely anti-tool. The agilists are
most enthusiastic about use of appropriate tools, and are
pretty prolific at the creation of appropriate tools (as all
Unix programmers used to be, way back... but don't let me get
distracted!). Agilists don't like big, unwieldy, expensive
tools that require big, unwieldy, expensive process to go along with.
Oops, I should have been clearer on that. I'm currently consulting to a
company that is working towards CMM level 2 using a process loosely based on
RUP. They want to be able to trace their requirements from request to
running software and gradually add traceability to their old requirement
documents. They've already got a lot of documents but no traceability so I'm
writing a tool (an appropriate tool!) to extract traceability information
and generate a traceability matrix.

They are awfully attached to their documentation but perhaps I can squeeze
in a little agility by using unobtrusive tools to help them manage their
requirements. My attempts to get them interested in automated unit testing
have so far failed...
Post by Paul Oldfield
Other tools can be used for testing the user interface -
there's a yahoo forum specifically on the topic of doing
test-first development for user interfaces, if you need help...
http://groups.yahoo.com/group/TestFirstUserInterfaces
Thanks for this pointer, I've been looking for something like this for quite
a while.

John Manuel

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Chuck Gupta
2004-03-16 16:27:39 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Chuck Gupta/TMS/Toyota
received
by:

at: 03/16/2004 08:27:39 AM


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Chuck Gupta
2004-03-16 16:31:07 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Chuck Gupta/TMS/Toyota
received
by:

at: 03/16/2004 08:31:07 AM


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Chuck Gupta
2004-03-16 16:30:31 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Chuck Gupta/TMS/Toyota
received
by:

at: 03/16/2004 08:30:31 AM


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
k***@gsa.gov
2004-03-16 16:36:57 UTC
Permalink
Return Receipt

Your RE: [AM] Why Traceability?
document
:

was Khanh Luu/CONTRACTOR/FIB/CO/GSA/GOV
received
by:

at: 03/16/2004 11:36:55 AM


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
John Manuel
2004-03-16 18:34:08 UTC
Permalink
Post by Steven Gordon
Post by John Manuel
How do people satisfy CMM's need for Bidirectional
Traceability without being crushed by documents or
distracted by tools?
By reducing the number and depth of formal software artifacts
that are not code, to 0 if at all possible.
For example, if all our requirements were formalized as
executable acceptance tests and our formal design was the
code itself, then bidirectional traceability could be
provided by just running code analysis tools.
I'd have a difficult time translating all of the requirements I receive into
executable tests. I find that probably 80-90% could be pretty easily
expressed as tests but the rest would take quite an effort to map over. Do
you also have this problem? How do you handle it?

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Steven Gordon
2004-03-16 19:33:05 UTC
Permalink
Translating some requirements into executable tests can be difficult. Tracing requirements to code in a dynamic code base is also difficult, and a lot less useful.

80-90% is not bad at all. Agility is not about perfection.

If the difficulty is that the requirements are about presentation or some other aspect of the GUI, then I try to write acceptance tests using the objects just below the GUI and try to get my team to write as thin a GUI layer as possible to minimize the chance that the acceptance test succeed buyt the GUI fails. There are other approaches.

If GUI is not the problem, then it is likely that the requirement is too vague or too broad.


-----Original Message-----
From: John Manuel [mailto:***@acm.org]
Sent: Tuesday, March 16, 2004 11:34 AM
To: ***@topica.com
Subject: RE: [AM] Why Traceability?
Post by Steven Gordon
Post by John Manuel
How do people satisfy CMM's need for Bidirectional
Traceability without being crushed by documents or
distracted by tools?
By reducing the number and depth of formal software artifacts
that are not code, to 0 if at all possible.
For example, if all our requirements were formalized as
executable acceptance tests and our formal design was the
code itself, then bidirectional traceability could be
provided by just running code analysis tools.
I'd have a difficult time translating all of the requirements I receive into
executable tests. I find that probably 80-90% could be pretty easily
expressed as tests but the rest would take quite an effort to map over. Do
you also have this problem? How do you handle it?

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Paul Oldfield
2004-03-16 20:35:18 UTC
Permalink
(responding to Tina)
Post by Tina Erwee
Post by Paul Oldfield
Justification. For each fragment of code, there should be
a corresponding requirement. This is, among other things,
meant to eliminate 'back doors' etc.
Why would people need 'back doors'? This is a rhetorical
question. :)
People need backdoors when they do not believe their
requirements will be taken seriously by the powers that be.
Sometimes they take back doors because of a hidden
agenda.
I believe that people will always find a back door, regardless
of processes and procedures put in place to stop them. Rather
keep the front door wide open, because at least you will
then KNOW about all these back door stuff.
I was referring to the specific type of security breach known as
a 'back door' where a programmer inserts code that allows
unauthorised access to the system, usually for nefarious
purposes.

If the 'back door' you are talking about is a way of getting reasonable
but unauthorised requirements implemented (I guess it might be
from the context), then I agree, proper evaluation and
prioritisation of stakeholder 'wants' is the right approach.


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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Brad Appleton
2004-03-16 21:16:21 UTC
Permalink
Post by Paul Oldfield
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.
The main problem(s) it addresses are:

1. Change Impact Analysis
-------------------------
This is the main/biggest reason (tho not the most frequently cited).
Trace from requirements to all artifacts and back to assess
the impact and scope of change and estimate its effort. Used to
tell which sets of artifacts might be impacted, and for large
systems, to identify which sets of people need to assess the
impacts to which sets of artifacts.

Also ... its not just about analysing impact to the
code. It can also be about analyzing the impact to other
requirements. The customer may not realize that making a
particular request implies changes to existing functionality
of other use-cases. And before charging forward to make those
changes, it would be good to make the customer aware of those
things, and ask if they are what she really wants?

This can also be a VERY effective and persuasive technique for
negotiating down the scope of the project and for breaking down
some "stories" into smaller stories with separate priorities
on them.

Regarding impact to the code, you asked: why can't I just go to
the developer and say "how long do you think this will take you?"
* If you are a large project with teams of teams,
how do you know which team to go to to ask a developer
to estimate it?

If I have a team per component/subsystem and several of those
in the overall system, I need to do some amount of analysis
to first determine which components are impacted before I
can even find the right team from which to ask someone to
estimate the impact to their component(s).

* If you are a single team, and you don't do collective ownership
and instead do a very strict form of code-ownership, it is
commonplace to have a single "code owner" per class. That
person is the primary person qualified to estimate the impact
of changes to code that they own. Some initial analysis
needs to happen to determine which classes are impacted.

Ideally, I can just get the team together in a room, and
they have a nice "agile"/domain model that doesn't try to model
too much, and without much extra help they can very quickly
determine as a group which classes are impacted and possibly
by how much.

But if I don't have a lightweight model and I instead try to
model everything, then it can be easy to try and rely on the
model to answer that question, instead of the "essential"
knowledge of the model captured in people's heads

* If I'm waterfall based, and "large" then even if I don't have
a team per "subsystem/component", I might still very likely
have separate groups of people who do QA/Testing, and who
do builds/integration/CM, and who do release engineering.

So impact analysis might be needed to decide the level and
type of integration and testing warranted for a particular
change before the effort to do it could even be estimated.

[NOTE: The more I compartmentalize knowledge either across
the lifecycle or across the architecture, the more
I create isolated domains of specialized knowledge
and generalized ignorance (they know "their part of
the puzzle" but not how it fits into "the whole" or
further downstream).
]

So you end up needing to "farm" out the analysis to these
separate groups, and they use additional artifacts and
tools to make up for their gaps in knowledge about the
"whole shmeer" (much easier than conversing :-)

* If I have third-party/vendor products that I have to integrate
with my code, or even modify the source of, and if I have
subcontracted organizations I have to work with, I have a
contractual need to be able to determine when/if a request
impacts them so I can get their assessment/estimate and then
know how it impacts my integration/value-added-enhancement
efforts.

This is a very real problem a lot of folks have to face,
and it seems to be increasing as the trend for outsourcing
increases for farming out parts of a system (rather than the
whole thing), and ESPECIALLY for farming out parts of the
system lifecycle (e.g., the architects are in my group,
the programmers are outsourced from another organization,
the testers outsourced from yet another organization,
the integrators/packagers are in my organization, and the
business analysts are external consultants :-)

[NOTE: So once again we run into Conway's law of "architecture
follows organization". Fragmenting activities and
responsibilities to separate groups of people in separate
parts of the architecture and/or lifecycle fragments
communication and collaboration at the systems level and
impedes systems thinking and optimizing across the whole
instead of for the individual parts (especially when
the individual parts are entirely separate organizations)
]

* At a less grandiose level, the kind of traceability that the
version-control tool already knows how to provide (which I
think even agile teams typically make use of) help us answer
questions like:
- who made that change?
- who has this file checked out?
- when did that change get integrated/merged?
These questions typically help us identify an individual that
we wish to collaborate with and reduce the time spent gathering
and analyzing the information needed to identify who that
individual is. They might help resolve checkout contention/locking
issues.

* And in the "old days", one needed to know UP FRONT which items
to ask to be checked-out of the library by the
librarian. Because people didn't do simultaneous update then
(and few tools supported it), and the human (as opposed to
executable software) librarian had to see the set of items
you wanted to checkout in advance, to make sure they were
all available, and if you still wanted the remainder if any
of them weren't.

2. Product Conformance
----------------------

Functional configuration auditing and physical configuration
auditing, which requires mapping of test results to requirements
and auditing to ensure the product does what it says and the
requirements say what it does. This would come "automatically"
if I already had traceability from requirements thru to all
artifacts (code+design+test).

People who usually feel traceability adds no value whatsoever
seem to most frequently cite this problem/purpose as the goal
of traceability, and not the "impact analysis" reason. I think
the reason is that impact analysis actually ends up being more
about communication and coordination, and is less of an issue
for a single, small, colocated team then for a large project
with many teams distributed across:
- time (different parts of the lifecycle)
- space (different physical locations/timezones)
- functionality (different parts of the architecture)
- organization (different companies)


3. Project Accounting
---------------------
Configuration status accounting, Who did what, when they did
it, where they did it, how they did it (and why?). Think of
"change" as the currency or "units" of accounting. Project
and program management want to be able to report status of
requested features/fixes/enhancements across one or more of:
- multiple products or product-lines
- multiple customers/markets
- multiple releases being concurrently developed/maintained
- multiple sites/install-bases supported and serviced in the field
- multiple variants (custom variations in functionality,
technology platform, execution/operating environment for
differently levels of support/service/funding agreements)

This kind of traceability is typically provided with a
change/request tracking tool that supports hierarchical
(parent->child) relationships between requests, and changes,
and the builds/codelines/releases they are delivered in. It
may also often require integration with the version control
tool for the build/codeline related status information.

4. Process Compliance
---------------------
Ensure that proper regulations/practices were followed by
being able to provide objective evidence to those who will be
auditing the project. This involves things like:
* Ensuring no unauthorized changes were made.

* Ensuring various in-process data was collected, and is accurate,
and is actually being used/applied (e.g., ensure that inspections
are taking place for appropriate "kinds" of changes and that the
results are logged, and the data is used for quality improvement)

* Ensuring that maintenance/repair records are kept and can be
reported and include ALL reported instances of faults/defects and
not just those that were found by customers/users.

* Showing objective evidence for justification of various project
and product cost/change accounting decisions and that the
decision were made by agreed upon means and persons using
appropriately agreed upon criteria and standards. For example;
- what was the reason for not fixing this bug in this particular
release, but not in this other release?
- why did you defer implementation of this feature to the next
release/iteration instead of the current one?
- why did this particular change get built only for variants
A & B but not for variants C, D, and E of the product-line?)

5. Mandatory Business Obligation
--------------------------------
It might be mandated by a customer, or a contractor you
are subcontracting for. It might be mandated by government
regulations for safety or health or fiduciary responsibility.
It might be mandated by industry standards, such that it isn't
strictly required, but if you want o be able to compete in a
particular market, its sufficiently harder to do so without a
particular certification or accreditation that asks for such
traceability (among other things).


Ways of doing "Lean" Traceability
=================================
So if you end up needing it for any of these reasons (many
of which have to do with inherent complexities introduced
due to levels of scale for multiple teams, multiple customer
bases, multiple "owners", multiple organizations, multiple
projects/releases, multiple products/variants, etc.) how
can I make it as "agile" or "lean" as possible?

* Find out what kind(s) of traceability are being requested/mandated
ask "the value" question" several times ("if I give you that,
what does it give you that you don't have without it?"), and
define the actual problem that needs to be solved so you can
set and manage expectations

* Question if it is really the most suitable means if you are
involving the customer and QA early on and collaborating
closely and working in short, hyperfrequent iterations. See
if something less will suffice - maybe even suggest they
first try just one iteration without it first, to evaluate
its perceived necessity.

* If conformance is the only reason, do comprehensive testing and
make sure you know which tests correspond to which stories
(see other ideas for how to do this)

* Prioritize it. Treat it like a story. Have the customer prioritize
it against other stories. Maybe prioritize it as a one time cost
of automating it for everything and then maintaining it? Or if
doing manually, can prioritize and estimate it per story

* Use a change/request tracking tool

* Leverage your existing Version-Control tool

* Track at the right level/scope (feature/use-case/story
instead of individual reqts; and class/module/file instead
of individual methods or subroutines) or even higher-level
if possible (e.g. component-level instead of class-level).
Track at the coarsest-grained level you can get away with
and still meet the traceability 'requirements' and/or
add value to your impact analysis

* Use encapsulation and modularity (hierarchy) to localize
impact not just to code, but also for requirements. Maybe
even structure and refactor your requirements across
stories/features and track at the feature/story-level.
Make sure each "change" task corresponds to a story,
and if it doesn't, raise the issue to the project manager
or the customer and ask them which one, or else have
it separately estimated and prioritized (and break down
big stories into smaller ones with distinct priorities)

* Minimize artifacts (duh!)

* Use Dynamic traceability instead of Static traceability - see
Jane Huang's posting, also some of her research on traceability
and EBT -- event-based traceability, at:
+ http://re.cs.depaul.edu/publications.html
+ http://re.cs.depaul.edu/projects.html
+ http://icse.cs.iastate.edu/sabre/components.html

* If all else fails, use a traceability tool like DOORs or ReqPro.
Do everything in your power to avoid having to do it manually
without any automated assistance.

(Paul, If I missed any of your questions, let me know :-)
--
Brad Appleton <***@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Mark Graybill
2004-03-17 05:41:35 UTC
Permalink
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:***@compuserve.com]
Sent: Tuesday, March 16, 2004 5:34 AM
To: INTERNET:***@topica.com
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Paul Oldfield
2004-03-17 10:25:45 UTC
Permalink
(responding to Brad)
(Paul)
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.
(Brad)
1. Change Impact Analysis
<snip>
(Paul, If I missed any of your questions, let me know :-)
I hope you're going to write the article when this thread
has run its course on the various forums.

I think some more work on why traceability aids impact analysis
would be in order. Having worked on 200+ people projects,
I recall we could not do impact analysis from the bare
requirements - that is, we could not estimate the work needing
to be done in 'our' area from the bare requirements. The
requirements needed some analysis, and the architect needed
to produce a high level design. Until then, nobody knew just
how much their part of the system would be asked to do.
Without this, you might get several parts of the system giving
estimates for duplicated work. (You mention analysis, but
IMHO some design is also needed if going this route).

Yet traceability didn't seem to come into play - the HLD was
handed round to everybody concerned, and the architect
team knew who these teams were. Is it your experience that
other teams, perhaps larger or more chaotic, need help here?

As for conflicting requirements, the analysts seemed to resolve
these as they went. OTOH, by the nature of my area of expertise
at that time, we were always doing OOA, and the domain expert
had the final say about what the concepts were 'about'. Abnormal
behaviour was relegated to business rule or controller objects.

Perhaps our large projects were better organised than others,
it didn't seem that way.

Your comment about traceability from version control tool is
useful, in long-lived systems in particular.

One topic that other posters made more of was the need to know
what needed to be re-tested when something changed. If
we really need to know everything that uses something we
change, then traceability is necessary. Of course, this need
is an indication that we have failed to control the ripple effect;
also that our testing is still so expensive that we need to cut out
the tests that cannot have changed.

(This should also address your comments on my "rant mode"
in another posting. Anyone experiencing 'ripple effect' in the
last 10 years is either developing incompetently, or is
working with legacy code and has failed to install decoupling
mechanisms. This latter may not be down to incompetence,
but I'd be suspicious...)


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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Brad Appleton
2004-03-17 18:07:49 UTC
Permalink
Post by Paul Oldfield
I hope you're going to write the article when this thread
has run its course on the various forums.
I'm thinking about it ...
Post by Paul Oldfield
I think some more work on why traceability aids impact analysis
would be in order. Having worked on 200+ people projects,
I recall we could not do impact analysis from the bare
requirements - that is, we could not estimate the work needing
to be done in 'our' area from the bare requirements. The
requirements needed some analysis, and the architect needed
to produce a high level design. Until then, nobody knew just
how much their part of the system would be asked to do.
Without this, you might get several parts of the system giving
estimates for duplicated work. (You mention analysis, but
IMHO some design is also needed if going this route).
Yet traceability didn't seem to come into play - the HLD was
handed round to everybody concerned, and the architect
team knew who these teams were. Is it your experience that
other teams, perhaps larger or more chaotic, need help here?
So you had documented requirements, and an HLD, but hadn't yet
done any LLD or code or tests? Am I reading that correctly? (if
so, sounds like you hadn't yet created the mid-level and
low-level artifacts to be traced to, so obviously they wouldn't
be of much help)

If I do have those "traces" in place, then for a given
requirement (or feature), if I trace down to the deepest level,
and then from their follow all the traces back up to the top,
then in theory that is one quick and easy way of generating
a candidate list of impacted hi-level entities (requirements
and hi-level design items).

I've seen that done a LOT for enhancement requests, and for
defects (Here we assume an "enhancement" is an "add on" to the
specified behavior of an existing feature). So tracing from
the defective or to-be-enhanced feature, down to code+tests,
and then from there back-up to hi-level requirements and HLD
elements generates a candidate list to more narrowly target
an analysis of possible impacts.

Was that helpful?
Post by Paul Oldfield
One topic that other posters made more of was the need to know
what needed to be re-tested when something changed. If
we really need to know everything that uses something we
change, then traceability is necessary. Of course, this need
is an indication that we have failed to control the ripple effect;
also that our testing is still so expensive that we need to cut out
the tests that cannot have changed.
So, if I'm a large project in a large organization (and lets
assume I'm not agile, tho not necessarily failing miserably
either) and maybe also assume the "end product" is a mix of
both HW+SW, and I frequently get defect reports that have
such "ripple effect", do you suppose I am more likely to
try and "fix" the ripple effect, or instead document and
trace the heck out of it in an attempt to make myself a
"map" of it, and do that to address "maintainability"
rather than eliminate or remove the ripple effect itself?
(how different is your answer if fixing the ripple effect
requires cross-organization collaboration rather than
throw-it-over-the-wall and finger-pointing?)
Post by Paul Oldfield
(This should also address your comments on my "rant mode"
in another posting. Anyone experiencing 'ripple effect' in the
last 10 years is either developing incompetently, or is
working with legacy code and has failed to install decoupling
mechanisms. This latter may not be down to incompetence,
but I'd be suspicious...)
If developing incompetently includes "managing development
incompetently, I can buy that. If not, I have a proposed
addition to your list above :-)
--
Brad Appleton <***@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Tina Erwee
2004-03-17 10:55:50 UTC
Permalink
Hi Ashley

It definitely sounds like BDUF. Then I can understand the need for traceability - top down at that. Each requirement would be costed seperately? Explicit traceablilty then becomes very important.

I believe a fixed priced contact is always risky - especially if you are awarded the contract on a lowest bid basis. Lucky for me I am a permanent employee in a position to change methodologies and processes. :)

I discarded detailed explicit traceability because there is not enough gain for way too much overhead. There is definitely a degree of implicit traceability - High level Analysis and Design drill down to detailed level as and when needed.

Thanx for the reply!

Tina
-----Original Message-----
Sent: 17 March 2004 11:25
Subject: Re: [AM] Why Traceability?
Tina
Post by Tina Erwee
BTW How did this affect an agile approach? How detailed were the
requirements?
The requirements were detailed, and were collected over a
number of months.
This is a large project, with a peak team head count well
over 100. As far
as I know, they were not using Agile approaches at all -- but
I have not
been deeply involved in the project.
Given the commercial approach being used (a fixed-price
contract scoped and
costed on the basis of requirements), I think the project had
no option but
to gather detailed requirements up front.
Rgds
Ashley
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
dr Vidan Markovic
2004-03-17 11:50:13 UTC
Permalink
(responding to John)

Is CMM at level 1 (ad-hock) more compliant to agility principles than at
higher CMM levels? Well, not necessarily. My opinion is that continuous and
recursive implementation of agility in already established procedures and
processes (CMM levels 2,3,4, and 5)in order to optimize them, by creating
shorter iterations, leaner documentation and models, quicker feedbacks, and
better defect prevention initiatives (i.e. pairing developers) would lead to
achieving higher CMM level as well (by its definition).
I might me wrong, but this is exactly what I am trying to do at my work
place, and results are so far positive.

Vidan
-----Original Message-----
From: Paul Oldfield [mailto:***@compuserve.com]
Sent: Tuesday, March 16, 2004 5:02 PM
To: INTERNET:***@topica.com
Subject: RE: [AM] Why Traceability?


(responding to John)
Post by John Manuel
I was at a talk a few months ago where Ken Schwaber gave
a quick introduction to Scrum and its place in the Agile
universe. I remember him mentioning that Scrum was CMM
level 2 and 3 compliant but now that I know a little more
about CMM, I'm having difficultly understanding how an Agile
process can be CMM compliant without losing its agility.
My difficulty arises from CMM's "Maintain Bidirectional
Traceability of Requirements" specific practice. As far as I
can tell, you can't achieve universal traceability without
heavy documentation or tools, both of which are discouraged
in Agile processes. Automated tests (JUnit, NUnit, etc.)
certainly help agility and give great traceability but they aren't
appropriate (AFAIK) for testing user interfaces so user
interface requirements must be traced some other way,
which brings us back to documentation or tools.
How do people satisfy CMM's need for Bidirectional
Traceability without being crushed by documents or
distracted by tools?
First, let me correct a possible misconception. Agile
approaches are not absolutely anti-tool. The agilists are most
enthusiastic about use of appropriate tools, and are pretty
prolific at the creation of appropriate tools (as all Unix
programmers used to be, way back... but don't let me get
distracted!). Agilists don't like big, unwieldy, expensive
tools that require big, unwieldy, expensive process to go
along with.

The next question one needs to ask is, "What does CMM
mean when it talks about Bidirectional Traceability?"
Generally, the CMM auditors will take any reasonable
interpretation, as indicated in the earlier response on this
thread from Hubert. If the test *is* the requirement, then
a passed test indicates the requirement traces to the code.
A reasonable code coverage tool will trace the code to
the requirement (in desperation, one could comment out
the code in question and see what tests fail).

Other tools can be used for testing the user interface - there's
a yahoo forum specifically on the topic of doing test-first
development for user interfaces, if you need help...
http://groups.yahoo.com/group/TestFirstUserInterfaces

So to answer the question in your final paragraph - you
use tools that don't distract.


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

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Brad Appleton
2004-03-17 16:14:59 UTC
Permalink
Post by dr Vidan Markovic
Is CMM at level 1 (ad-hock) more compliant to agility principles than at
higher CMM levels? Well, not necessarily. My opinion is that continuous and
recursive implementation of agility in already established procedures and
processes (CMM levels 2,3,4, and 5)in order to optimize them, by creating
shorter iterations, leaner documentation and models, quicker feedbacks, and
better defect prevention initiatives (i.e. pairing developers) would lead to
achieving higher CMM level as well (by its definition).
I might me wrong, but this is exactly what I am trying to do at my work
place, and results are so far positive.
Mark Paulk, who was one of the primary authors of v1.1 of CMM
has been saying for the last few years that he feels that the
eXtreme Programming agile methodology is most definitely level
3 CMM when followed by-the-book. See more info at
http://www.computer.org/seweb/dynabook/Commentator.htm
and
http://www.sei.cmu.edu/activities/cmm/papers/xp-cmm.pdf

I also am aware of some projects which are purportedly
employing agile methods and which are part of CMM level 4 and 5
organizations. I'm sure they are doing some practices that "pure"
XP/Agilists might consider "BDUF" as per their organizational
culture, but they have nonetheless managed to adapt to align
with the organization and still be agile. The IXP "extension"
to XP allegedly has much success at helping organizations do
this sort of thing with XP (see www.industrialxp.org)
--
Brad Appleton <***@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Scott Ambler
2004-03-17 17:01:28 UTC
Permalink
Just wanted to imply that CMM doesn't necessary mean that organizations
will be taking a BDUF approach.

Having said that, there does seem to be one heck of a co-related between
CMM and serial approaches.

- Scott
Post by dr Vidan Markovic
Post by dr Vidan Markovic
Is CMM at level 1 (ad-hock) more compliant to agility principles than at
higher CMM levels? Well, not necessarily. My opinion is that continuous and
recursive implementation of agility in already established procedures and
processes (CMM levels 2,3,4, and 5)in order to optimize them, by creating
shorter iterations, leaner documentation and models, quicker feedbacks, and
better defect prevention initiatives (i.e. pairing developers) would
lead to
Post by dr Vidan Markovic
achieving higher CMM level as well (by its definition).
I might me wrong, but this is exactly what I am trying to do at my work
place, and results are so far positive.
Mark Paulk, who was one of the primary authors of v1.1 of CMM
has been saying for the last few years that he feels that the
eXtreme Programming agile methodology is most definitely level
3 CMM when followed by-the-book. See more info at
http://www.computer.org/seweb/dynabook/Commentator.htm
and
http://www.sei.cmu.edu/activities/cmm/papers/xp-cmm.pdf
I also am aware of some projects which are purportedly
employing agile methods and which are part of CMM level 4 and 5
organizations. I'm sure they are doing some practices that "pure"
XP/Agilists might consider "BDUF" as per their organizational
culture, but they have nonetheless managed to adapt to align
with the organization and still be agile. The IXP "extension"
to XP allegedly has much success at helping organizations do
this sort of thing with XP (see www.industrialxp.org)
--
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost
For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Alex J. Business Abstraction
2004-03-18 03:30:03 UTC
Permalink
I am convinced that for most of the projects I am consulting for,
traceability it important.

However, I do not know of the tool that was support traceability easy and
reliably. Any recommendation?

By tools I mean everything, including whiteboards, Word, hand-coded HTML -
anything.

Regards,

Alex Jouravlev
Business Abstraction

P.S. If you don't mid, I will cross-post the question to EUP list

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Brad Appleton
2004-03-19 04:49:35 UTC
Permalink
Post by Alex J. Business Abstraction
I am convinced that for most of the projects I am consulting for,
traceability it important.
However, I do not know of the tool that was support traceability easy and
reliably. Any recommendation?
Which kinds of things are you wanting traceability for? Certain
aspects of traceability are better handled by different kinds
of tools. If it is specifically /requirements/ traceability
to other requirements and elements of other kinds of technical
docs (analysis, interface, design) the main tools I know of
are Telelogic DOORs, Rational Requisite-Pro, and another called
(I think) Rqt or RtM.

My experience is primarily with DOORs, so my terminology below
reflects that. But I beleive there is comparable functionality
in the other two tools. Basically, they let you create
individual "objects" of text and then associate attributes with
them, as well as abritry numbers and kinds of linkages between
them. You can "checkin" and "checkout" at the object-level, plus
objects can be grouped into Modules. Each "module" essentially
corresponds to a "document". You can specify formatting options
for exporting a module as a published document, as well as
create "baselines" of a module. Its a pretty spiffy tool and
you could spend oodles of time exploring all the wonderful
ways it lets you devote your time to creating and updating
and organizing links.

For a version control tool - if you want to play with
traceability of the status-accounting variety, then at a
bare minimum find a tool that supports "change-sets" and
"atomic commits". Ideally get one that supports task-based
(or "activity-based") CM. ClearCase UCM does this, as does
Perforce (with its "jobs"), and Accu-Rev, and SpectrumSCM,
and CM Synergy, and also Quartet (which was specifically
implemented with Agile methods in mind)

For a Change/request tracking tool, first make sure it doesn't
already come with the SCM tool of your choosing (Rational
and Telelogic have bundlings that include ClearQuest and
ChangeSynergy respectively, Accurev has a built-in Tracker,
as does Spectrum SCM). I think JIRA is pretty cool (see
www.atlassian.org) and its 100% customizable and 100% pure
java, and they are very supportive of OpenSource (tho the
product itself is commercial).

For something a bit "lighter-weight" and more palatable for
agile methods, you might try Trac, which is OpenSource and
integrates with Subversion (the opensource replacement for
CVS at subversion.tigris.org). Here is the info about Trac:

Trac is a minimalistic web-based software project management
and bug/issue tracking system. It provides an interface
to Subversion, an integrated Wiki and convenient report
facilities.

Trac allows wiki markup in issue descriptions and commit
messages, to create links and seamless references between
bugs, tasks, changesets, files and wiki pages. A timeline
shows all project events in order, making getting an overview
of the project and tracking progress very easy.

The software is published under the GNU General Public
License, and is available for download at:
<http://projects.edgewall.com/trac/download/>

Hope that helps!
--
Brad Appleton <***@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Steven Gordon
2004-03-17 13:54:33 UTC
Permalink
The troublesome thing about the ripple effect, of course, is when a change in one system breaks another system, which in turn breaks other systems. In the worst case for enterprise-wide impact analysis, traceability must be in place for each system at a granularity that allows us to trace through system interfaces. The prime example was Y2K.

Steven Gordon

-----Original Message-----
From: Paul Oldfield [mailto:***@compuserve.com]
Sent: Wed 3/17/2004 3:25 AM
To: INTERNET:***@topica.com
Cc:
Subject: RE: [AM] Why Traceability? Lean Traceability?



[CLIP]
One topic that other posters made more of was the need to know
what needed to be re-tested when something changed. If
we really need to know everything that uses something we
change, then traceability is necessary. Of course, this need
is an indication that we have failed to control the ripple effect;
also that our testing is still so expensive that we need to cut out
the tests that cannot have changed.

(This should also address your comments on my "rant mode"
in another posting. Anyone experiencing 'ripple effect' in the
last 10 years is either developing incompetently, or is
working with legacy code and has failed to install decoupling
mechanisms. This latter may not be down to incompetence,
but I'd be suspicious...)


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




For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Jason Gorman
2004-03-17 14:00:43 UTC
Permalink
Is it likely, though, that by looking at requirements documentation or at
high-level design models you would be able to spot when a change in one
system could cause errors in other dependant systems? I suspect
comprehensive automated regression tests for all the systems involved would
be of more value.

Jason Gorman
http://www.objectmonkey.com
-----Original Message-----
Sent: 17 March 2004 13:55
Subject: RE: [AM] Why Traceability? Lean Traceability?
The troublesome thing about the ripple effect, of course, is
when a change in one system breaks another system, which in
turn breaks other systems. In the worst case for
enterprise-wide impact analysis, traceability must be in
place for each system at a granularity that allows us to
trace through system interfaces. The prime example was Y2K.
Steven Gordon
-----Original Message-----
Sent: Wed 3/17/2004 3:25 AM
Subject: RE: [AM] Why Traceability? Lean Traceability?
[CLIP]
One topic that other posters made more of was the need to know
what needed to be re-tested when something changed. If
we really need to know everything that uses something we
change, then traceability is necessary. Of course, this need
is an indication that we have failed to control the
ripple effect;
also that our testing is still so expensive that we
need to cut out
the tests that cannot have changed.
(This should also address your comments on my "rant mode"
in another posting. Anyone experiencing 'ripple effect' in the
last 10 years is either developing incompetently, or is
working with legacy code and has failed to install decoupling
mechanisms. This latter may not be down to incompetence,
but I'd be suspicious...)
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
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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Paul Oldfield
2004-03-17 22:22:49 UTC
Permalink
(responding to Brad)
I hope you're going to write the article ....
(Brad)
I'm thinking about it ...
I'll take that as a definite ... well, somebody needs to
do it.
Yet traceability didn't seem to come into play - the HLD was
handed round to everybody concerned, and the architect
team knew who these teams were. Is it your experience that
other teams, perhaps larger or more chaotic, need help here?
So you had documented requirements, and an HLD, but hadn't
yet done any LLD or code or tests? Am I reading that correctly?
(if so, sounds like you hadn't yet created the mid-level and
low-level artifacts to be traced to, so obviously they wouldn't
be of much help)
Not so. They had already been created for the original
requirements and updated with any earlier changes.
If I do have those "traces" in place, then for a given
requirement (or feature), if I trace down to the deepest level,
and then from their follow all the traces back up to the top,
then in theory that is one quick and easy way of generating
a candidate list of impacted hi-level entities (requirements
and hi-level design items).
Understood. However, this *does* seem like a strategy for
use where the ripple effect has not been beaten into
submission. Though where the changes affect the existing
interface, or the existing 'contracts' on that interface, the
changes may well ripple despite our best prior efforts.
.... So tracing from the defective or to-be-enhanced feature,
down to code+tests, and then from there back-up to hi-level
requirements and HLD elements generates a candidate list
to more narrowly target an analysis of possible impacts.
Again understood. This seems to be a strategy for use where
change is feared. We cannot afford to wait and see what
tests fail - or possibly we cannot rely on the tests to catch all
the things that get broken, or possibly we cannot afford to
run all the tests, it would be cheaper to trace which ones *may*
be pertinent...
Was that helpful?
It confirms my expectations, I think.
So, if I'm a large project in a large organization (and lets
assume I'm not agile, tho not necessarily failing miserably
either) and maybe also assume the "end product" is a mix of
both HW+SW, and I frequently get defect reports that have
such "ripple effect", do you suppose I am more likely to
try and "fix" the ripple effect, or instead document and
trace the heck out of it in an attempt to make myself a
"map" of it, and do that to address "maintainability"
rather than eliminate or remove the ripple effect itself?
I hope you'd try to do what I would try to do - use traceability
to fix the immediate problems, and do what I could to
increase the decoupling in the areas of code I touched.
Also institute a general task to decouple legacy code
until the problem was licked and the whole lot re-engineered
or replaced (something I've only been given free rein to
do once, to date).
(how different is your answer if fixing the ripple effect
requires cross-organization collaboration rather than
throw-it-over-the-wall and finger-pointing?)
If the answer involves throw-it-over-the-wall and finger-pointing
then I have something else on my list of things that need to
change.
(... Anyone experiencing 'ripple effect' in the
last 10 years is either developing incompetently, or is
working with legacy code and has failed to install decoupling
mechanisms. This latter may not be down to incompetence,
but I'd be suspicious...)
If developing incompetently includes "managing development
incompetently, I can buy that. If not, I have a proposed
addition to your list above :-)
Surely the bulk of the blame must lie with 'management'?
Certainly it must in 'command and control' environments.


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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Brad Appleton
2004-03-18 08:57:23 UTC
Permalink
Post by Paul Oldfield
Understood. However, this *does* seem like a strategy for
use where the ripple effect has not been beaten into
submission. Though where the changes affect the existing
interface, or the existing 'contracts' on that interface, the
changes may well ripple despite our best prior efforts.
Agreed.
Post by Paul Oldfield
Again understood. This seems to be a strategy for use where
change is feared.
That is one circumstance. I think there are others. I know of
some (and hear of many more) persons and organizations whose
idea of "maintainability" is not to minimize dependencies thru
the use of design principles/patterns but who instead regard
maintainability to mean "everything I need to know has been
thoroughly documented somewhere". I even suspect this is
the case for the majority.

Another is good old BDUF. One can still do BDUF and BRUF and
still not fear change, but still tackle the problem in such a
that uses very LONG test-feedback cycles instead of very small
and short ones.

Another is good old "stovepipe syndrome" or "warring tribes"
syndrome in the organization (something that I've all too often
seen despite the best intentioned and most technically adept
and most agile embracing/proficient developers). Even if
the developers have darn near everything else in their favor,
that kind of management "ethic" can thwart them [sigh]

Another is plain old diversity of scale (along multiple
"dimensions" at once). Its hard enough having to deal with
just one of: multiple releases, multiple customer bases/markets,
multiple customer/development sites, multiple variants,
multiple internal/external organizations. Having to deal with
two or more of those at once (and especially three or more)
can be the "straw" the broke the camels' back regarding being
able to manage the complexity with bare bones simplicity
and informality.

Each additional degree of complexity tends to require some
additional smattering of one or more of formality or ceremony
for docs, or communication, or additional artifacts. 2 or
3 of them at once can exceed the "thresh-hold" where its no
longer possible to be comparably "agile" like a modified XP
or SCRUM team, but simply hope to be as lean as feasible and
living with a lot more formality/artifacts than desired.
Post by Paul Oldfield
I hope you'd try to do what I would try to do - use traceability
to fix the immediate problems, and do what I could to
increase the decoupling in the areas of code I touched.
Also institute a general task to decouple legacy code
until the problem was licked and the whole lot re-engineered
or replaced (something I've only been given free rein to
do once, to date).
I would certainly try. I've been in such a situation, and I did
try. Couldn't seem to get thru to my mgr nor my mgr's mgr. I
finally succeeded, but it took 1.5 yrs and much damage had
been done that could never be fully recovered from.
Post by Paul Oldfield
Post by Brad Appleton
If developing incompetently includes "managing development
incompetently, I can buy that. If not, I have a proposed
addition to your list above :-)
Surely the bulk of the blame must lie with 'management'?
Certainly it must in 'command and control' environments.
Methinks yes! :)
--
Brad Appleton <***@bradapp.net> www.bradapp.net
Software CM Patterns (www.scmpatterns.com)
Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
Paul Oldfield
2004-03-19 11:07:33 UTC
Permalink
(responding to Brad)
Post by Brad Appleton
Each additional degree of complexity tends to require some
additional smattering of one or more of formality or ceremony
for docs, or communication, or additional artifacts. 2 or
3 of them at once can exceed the "thresh-hold" where its no
longer possible to be comparably "agile" like a modified XP
or SCRUM team, but simply hope to be as lean as feasible and
living with a lot more formality/artifacts than desired.
That's in accord with my goal when designing process - "as agile
as possible, as robust as necessary". I think we're in agreement.

I'll let you get back to working on Mike Beedle - thanks for an
enlightening discussion ;-)

If you do write up an article, drop us a line here?


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: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
J. B. Rainsberger
2004-03-19 23:16:48 UTC
Permalink
Post by Paul Oldfield
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?
I can only say this: I've never needed it, at least as I understand it
to be defined. Not once since 1996.
--
J. B. Rainsberger,
Diaspar Software Services
http://www.diasparsoftware.com :: +1 416 791-8603
Let's write software that people understand

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
p***@aol.com
2004-03-20 02:14:01 UTC
Permalink
In a message dated 3/19/2004 3:18:48 PM Pacific Standard Time,
Post by Paul Oldfield
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?
I can only say this: I've never needed it, at least as I understand it
to be defined. Not once since 1996.
In the erly 1980's I was involved in an order entry and fulfillment system
project for a local firm that wanted traceability right down to the proverbial
"gnat's behind". The project was on a DEC VAX/VMS system, and a DEC partner had
taken a shot at it a year before, and failed where it hurt the most: they
seemed not to have paid the slightest attention to the requirements of the
system. They had spent about eight months on the BDUF, and a year on the software,
and got paid for every minute When the system bombed, the client took them to
court, demanding damages. While this court battle ws going on, we were hired
to build a new system. What with one very bad experience behind them, they
didn't want to get burned again.

We looked at the requirements list, mulled it over for about a week,
organized the team in what is now typical agile fashion, and in less than a month had
a suitable system up and running. The original vendor based his entire case on
the supposition that no one could have met the development schedule, because
"the requirements kept changing". We actually put in more than twice the
number of changes than they did, but nobody really noticed until we had to give our
depositions in court; we were just handling them as they came along.

In the end, our client won a settlement, and we got a bonus, as well as a
long-term client. The real bonus was about six additional jobs because our client
told just about everyone about his "great new system".

That's the only time I've ever been required to provide that kind of
traceability.

Regards,

Pete

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
J. B. Rainsberger
2004-03-20 16:49:55 UTC
Permalink
***@aol.com wrote:

<snip />
Post by p***@aol.com
In the end, our client won a settlement, and we got a bonus, as well as
a long-term client. The real bonus was about six additional jobs because
our client told just about everyone about his "great new system".
That's the only time I've ever been required to provide that kind of
traceability.
That's a neat story, Pete. It ought to be an article somewhere.

People tell me I'm too simplistic and not realistic, but I have observed
that the primary need for traceability is to point the finger at
someone, often in a court of law. Why, then, do I not need traceability?

Simple: I don't blame people and I stay out of court.

Now some will say, "That's not feasible where I live," and I have no
choice but to believe them. That's why I don't live there with them.
Those are places that don't meet the organizational requirements to be
Agile. (They may be somewhat agile, but they probably can't be Agile.)

No harm done. Not everyone has to be Agile. I just want to be.
--
J. B. Rainsberger,
Diaspar Software Services
http://www.diasparsoftware.com :: +1 416 791-8603
Let's write software that people understand

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
p***@aol.com
2004-03-20 18:44:14 UTC
Permalink
In a message dated 3/20/2004 8:55:32 AM Pacific Standard Time,
***@rogers.com writes:
People tell me I'm too simplistic and not realistic, but I have observed
that the primary need for traceability is to point the finger at
someone, often in a court of law. Why, then, do I not need traceability?
Thanks for your comments.

Unfortunately, you are absolutely right regarding CYA. We've become such a
litigious society that there is virtually no escape from potential liability. Of
course, if you look at the numbers, software developers as a group have
earned a pretty bad reputation for failing to produce maintainable and sustainable
systems that do what they're supposed to do, on time, within budget.

For my money, this dismal track record has to be one of the considerations
driving the move to outsourcing software development. Further, since the
situation has failed to improve to any degree for the past 30 years or so, an obvious
conclusion is that it can't be done any better than it has been done in the
past. I reject this notion: in my experience, good people have been looking for
good solutions to this problem since at least the early 1970s, but the turn
to "scientific management", in which every activity could be identified,
qualified, quantified, measured, monitored and predicted in terms of time and cost
drove developers into what became the "standard" development process. It's main
"virtue" is that it provides a means of covering the butts of management by
providing a mechanism for spreading the blame, in the event of a failure,
across a large enough group to minimize the responsibility for the failure to any
one individual. So whether it is managment ineptitude, lack of understanding,
fear of failure or whatever, no one has seemed to want to look at the facts:
It's the Process, Stupid. Until the situation becomes painful enough for the
supposed movers and shakers to get serious enough to take a good look at the
agile methodologies, we're in for a long haul.

Oops, sorry J.B., I got a little carried away there.

Thanks again for your comments.

Regards,

Pete

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------
J. B. Rainsberger
2004-03-22 11:51:49 UTC
Permalink
Post by p***@aol.com
Unfortunately, you are absolutely right regarding CYA. We've become such
a litigious society that there is virtually no escape from potential
liability.
Virtually no escape... except delivering small increments, frequently.
That has kept me out of trouble so far. When a client or employer
doesn't want to work that way, I look for a quick exit. I have been able
to feed my family so far.
Post by p***@aol.com
Of course, if you look at the numbers, software developers as
a group have earned a pretty bad reputation for failing to produce
maintainable and sustainable systems that do what they're supposed to
do, on time, within budget.
Absolutely, and it is our responsibility -- and I take it as a personal
responsibility -- to create an environment in which we /can/ deliver
something sufficiently close to what we expected to deliver when we
planned things out. Again, I seem to be able to make this happen with
the help of small, frequent increments.

<snip />
Post by p***@aol.com
Until the situation becomes painful enough for the
supposed movers and shakers to get serious enough to take a good look at
the agile methodologies, we're in for a long haul.
I have decided to let them come to the conclusion on their own, or let
other people continue to try to introduce them to the concepts. I know
I'm not the persuasive kind. I'm patient. In the meantime, I'm getting
paid enough to live.
Post by p***@aol.com
Oops, sorry J.B., I got a little carried away there.
Never fear. :)

Take care.
--
J. B. Rainsberger,
Diaspar Software Services
http://www.diasparsoftware.com :: +1 416 791-8603
Let's write software that people understand

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

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