requirements traceability for quality management

5
Requirements traceability for quality management CompuwareCorporation WHITE PAPER W ith 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.

Upload: rakesh-chandra-goyal

Post on 06-Aug-2015

784 views

Category:

Business


0 download

TRANSCRIPT

Page 1: Requirements Traceability For Quality Management

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.

Page 2: Requirements Traceability For Quality Management

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.

Page 3: Requirements Traceability For Quality Management

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.

Page 4: Requirements Traceability For Quality Management

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.

Page 5: Requirements Traceability For Quality Management

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