|
Software engineering is a pessimistic discipline. The glass is always half empty
rather than half full. Not surprising really, we are hardened to the grind of improving
quality, painstakingly testing and, never quite, eliminating bugs. Critical review is
of the essence. We know there is “no silver bullet”.
Traceability in software development must however, pessimism set aside, be
marked as a success. We have characterised the problem. We have produced industrial
strength tools that relieve a substantial part of the practical difficulties of
managing traceability relations across different documents. We have arrived at
a communal consensus regarding the principal notations to be used in software
development, realised in UML, and characterised the relationships amongst these
notations. These are all significant practical advances.
Research has gone further. One of the key challenges of traceability has been the
return on investment. In essence only a few of the traceability links prove to be of
value, that is are subsequently needed in support of a change. It is difficult to predict
in advance however, which these might be. Given that establishing, documenting
and managing traceability manually is expensive, the balance of costs and benefits
is delicate one. It has been shown, convincingly in my view, that off-the-shelf
information retrieval techniques will, with some judicious tuning, yield reasonable
traceability links. I expect this, once industrially hardened and deployed, to drive
cost reduction. |