The benefits of implementing agile requirements management must outweigh the
costs. The key benefits come from the way in which the structure of the requirements and
traceability information facilitates reasoning about the design when changes need to be made. All
projects generate some level of requirements and traceability information, so the costs are really
those incrementally arising from structuring and managing the information for maximum benefit to the
Agile methods stress better collaboration as a way to give engineers and
developers the confidence that they are building what the customer needs, customers the confidence
that they are seeing regular incremental progress, and project managers the confidence that the
project is less likely to be derailed by unforeseen problems. As requirements are the basis of
understanding and communicating customer needs, the requirements management approach must itself be
collaborative. That means making up-to-date requirements available to all stakeholders, and setting
up processes to
ensure that stakeholder inputs are captured.
Traditional waterfall development is often not strictly linear. Rather, it may
jump between requirements, design, architecture, and test definition. In fact, it can look a lot
like agile. The key difference is that the output artifacts are presented as if they were developed
in order. So for both agile and waterfall projects, a mechanism is needed for managing the
relationships between artifacts regardless of their sequence of creation; for both development
approaches, requirements management and traceability play a key role.
Agile methods can improve productivity by focusing on delivering working
increments of functionality. For complex products and systems, and regulated IT, increments must
generally include deliverables beyond the working system itself, such as evidence of compliance with
standards, user documentation and support documentation. Much of the information for these
deliverables is derived from project artifacts and must be reliably maintained as changes occur.
Requirements management and traceability tools are key capabilities for managing
this information and, in conjunction with reporting tools, enable the supplementary deliverables to
be automatically generated—eliminating a significant overhead. It is important to document (and
connect with traceability) the reasoning that underlies design decisions. This information is
critical in evaluating the feasibility of changes. It also benefits later development and
maintenance activities by ensuring that engineers can understand why the system was built the way it
is. In an agile project, where change may be actively encouraged, this documentation stage becomes
Discovering errors early in agile development depends on adopting test-driven
approaches. This means that test cases must be defined early, as each feature is developed. Here, it
is vital to enable traceability between requirements, design
elements and test cases, in order to ensure that the right tests are executed, test coverage is
known, and the impact of test failures on delivered functionality is understood.
Improved responsiveness to change is a key driver for moving to agile processes.
Agile shifts the focus from up-front planning to the delivery of working parts of the system and
gaining rapid feedback on those deliverables. This shift of focus enables change to be more easily
accommodated, as developers are not focused on a single, monolithic development activity. Also,
because the customer feedback loop is shorter, less effort is expended on implementing change before
the value of that work is known. However, accommodating change is still difficult, as there are many
dependencies to consider.