Requirements traceability plays an important role in both the initial development and the ongoing maintenance of a software system. Traceability is used to track the allocation of requirements to system components, to manage compliance verification, and to control changes to the system.
Despite its importance, the actual practice of maintaining a traceability scheme using techniques such as matrices, spreadsheets, and even requirements management tools is not always successful. In practice it can be hard to maintain links and update related entities every time a change occurs. The traceability infrastructure has a tendency to erode until it is no longer able to accurately support tasks such as change management.
Event-based traceability (EBT) provides a much more robust approach to traceability. EBT supports long-term evolutionary change so that the traceability scheme can be maintained in an accurate state. It also supports short-term speculative change, which is needed to pose "what-if" types of queries.