requirements traceability for quality management
TRANSCRIPT
Requirements traceability for quality management
CompuwareCorporationW
HIT
E PA
PER
With the demands and expectations placed on software
development organizations, IT managers need to find
ways to reduce overall life-cycle costs, while delivering reliable,
quality products. This is particularly true today. More and more
projects have fewer staff resources, higher quality expectations
and shorter development timelines. Requirements traceability
offers a viable solution.
Originally, requirements traceability was used simply to verify that
required capabilities and system characteristics were implemented
and tested. IT organizations that did not trace requirements often
thought it was a mere exercise in thoroughness and completeness—
one that addressed quality in terms of delivered features and
functionality, and not by standards of timing and costs. However,
through the advent of requirements management tools, requirements
traceability has matured to support and enhance project
management, impact analysis and change management, defect
management, process improvement and team communications.
Today, applying requirements traceability offers a high level of
project control and assured quality that is difficult to achieve by
any other means.
Requirements traceability refers to the “ability to follow the life of a
requirement, in both forwards and backwards direction, i.e., from its
origins, through its development and specification, to its subsequent
deployment and use, and through periods of ongoing refinement and
iteration in any of these phases.”1
Tracing requirements entails documenting contextual links between
the various requirements and between the work products developed
to implement and verify the requirements. The requirements may
include business, user, functional and test requirements. The work
products include requirements documents, design specifications,
software code, test plans, test cases and other artifacts of the
development process. Figure 1 illustrates the requirements, work
products and links involved in just the requirements development
phase of a software development project.
Completing the picture by tracing customer requirements through
development and testing verifies that the customer requirements
are implemented and tested. A requirements traceability matrix
can simplify the process. It serves as a graphical representation of
traceable relationships between requirements and work products.
With a traceability matrix, IT teams can easily track customer
requirements through the software development cycle, diminishing
the risk of missing stated or derived requirements, especially when
developing large, complex systems.
1 Gotel, O., and A. Finkelstein, “An Analysis of the Requirements Traceability Problem,” Proceedings of the First International Conference on Requirements Engineering, Colorado Springs, Colo., April 1994, pp. 94-101.
2
Verifying system functionality is only one aspect to requirements
traceability. Tracing requirements also answers these questions:
>> Has the system been adequately tested? Tracing requirements
from development to testing checks that each functional
requirement used in development matches those established
for test cases. This lets IT teams double-check that all required
system features are tested.
>> How can we minimize scope creep? Scope creep is when any
feature or functionality in a final product does not link directly
with a customer requirement. When it happens, it costs software
organizations time. Without knowing the customer requirement,
developers are left to analyze or define functionality on their
own or in an uncontrolled manner. This often leads to defects
and can be a source of poor system performance or usability
in the final product. Requirements traceability detects where
functionality or features are missing requirements earlier in
the process.
>> How will a change to a requirement impact other requirements
and work products? A traceability matrix identifies all the
requirements and components of the process—such as design
specifications, code and test cases—that need modification to
fulfill the change request. This helps ensure that all affected
work products are modified to support the change request.
Karl E. Wiegers, Software Requirements, Microsoft Press
Vision and Scope Document
User Requirements
QualityAttributes
Use-Case Document
SystemRequirements
FunctionalRequirements
OtherNonfunctionalRequirements
Software Requirements Specification
Constraints
RequirementsBusiness
Figure 1: The relationship of several components of software requirements.
3
Using a requirements management tool can offer additional
information about customer requirements. IT teams across the
development cycle can track, integrate and share key project
information, or requirements attributes—such as priority, status,
originator, cost, owner, release, assigned to, source, sponsor and
notes. This information, in conjunction with the traceability
information, answers additional questions:
>> In what order should we test the requirements, especially
when time is short? The priority attribute in a requirements
management tool lets users define the most critical functionality
and assign it the highest priority in the testing cycle.
>> In what order should we implement the functionality in the
system? Requirement priorities let the development manager
assign resources to code and implement customer requirements
of highest priority first.
>> Has everyone been notified of a change to a requirement? Using
the traceability information and the “assigned to” attributes,
team members can easily notify one another of a change in a
requirement.
>> Where did this requirement come from? Is it essential? The
traceability information in a requirements management tool
promotes team communications. All team members can easily
access contextual information to support design, code and test
decisions. For example, a requirements management tool lets
developers trace back to the originating requirement, as well as
the originator, sponsor, notes and other key information, to help
them code requirements correctly.
>> What can be reused? A requirements traceability matrix helps
identify design, code and test plans, test procedures, and test
cases that can be reused within the current project, or in parallel
or subsequent projects.
A requirements management tool also gives managers immediate
access to information identifying the impact of requested changes
(see Figure 2).
Figure 2: Impact analysis report.
4
A few requirements management tools also integrate with tools
used for test management, defect tracking and change management.
The ability to integrate these tools adds powerful project-level
reporting, analysis and management capabilities, especially when
used in conjunction with requirements traceability information.
Integrating tools provides detail on:
>> testing status by requirement
>> defects associated with the implementation of a requirement
>> the number of change requests applied to a requirement.
With this information, managers gain added capabilities to track
staff and project progress, and identify quality risks. They can
establish project post mortems and identify those lessons learned.
A manager, for instance, can identify those areas with a higher
number of defects and analyze the root causes to identify training
needs or provide insight for upcoming projects.
Software organizations gain versatility when using a requirements
management tool that supports requirements traceability—a process
that different team members in the development cycle can put to a
variety of good uses.
Figure 3: Traceability Matrix.
Compuware Corporation Corporate HeadquartersOne Campus Martius Detroit, MI 48226
For regional and international office contacts, please visit our web site at www.compuware.com
All Compuware products and services listed within are trademarks or registered trademarks of Compuware Corporation. Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All other company or product names are trademarks of their respective owners. © 2004 Compuware Corporation 12/04
CompuwareCorporation
Many organizations recognize the importance of requirements
traceability in implementing a quality software development
program. Yet, a requirements management tool today allows
organizations to do more.
Both QACenter Enterprise Edition and DevPartner Studio
Enterprise from Compuware include an integrated, document-
based requirements management functionality that captures and
communicates requirements throughout the life of a project. These
tools support requirements traceability, impact analysis and reporting
by providing an automated means to create, track and link various
types of IT requirements. Project, development and test managers
can use the requirements management functionality to document
and manage the requirements, functional capabilities and testing
process, as well as manage and control the inevitable changes that
occur throughout the life of a project.
Depending on how they choose to use the traceability information,
organizations benefit differently. At a minimum, project,
development and test managers can check that all customer
requirements are implemented and tested, ensuring quality, reliable
system capabilities and characteristics. Applying requirements
traceability to the fullest gives IT organizations even more
substantial advantages: increased quality, reduced cost and time
to market, and improved risk and project management—for both
present and future projects.
To learn more about QACenter, visitwww.compuware.com/qacenter
Compuware Corporation (NASDAQ: CPWR) maximizes the value IT brings to the business by helping CIOs more effectively manage
the business of IT. Compuware solutions accelerate the development, improve the quality and enhance the performance of critical
business systems while enabling CIOs to align and govern the entire IT portfolio, increasing efficiency, cost control and employee
productivity throughout the IT organization. Founded in 1973, Compuware serves the world’s leading IT organizations, including more
than 90 percent of the Fortune 100 companies. Learn more about Compuware at www.compuware.com.
Compuware products and professional services—delivering IT value