16 Critical Software Practices 
 
Manage and Trace Requirements
 
IntroImplementationMetricsResources
 
John Manzo

Grady Booch
Ed Yourdon
John Manzo Grady Booch Edward Yourdon

 

"The fundamental cause of the software crisis is that massive, software-intensive systems have become unmanageably complex. Furthermore, we cannot expect them to become any less complex, for as we improve our tools and gain experience in designing such systems, we actually open up more complex problem domains. As a solution to this crisis, we must therefore apply a disciplined artistry, using tools that help us manage this complexity."

--Grady Booch

Manage and Trace Requirements

Managing complexity is key to lowering cost and schedule for large-scale development. System requirements define user needs and expectations. Requirements traceability links system requirements to derived requirements for hardware and software modules, helping ensure that system requirements are implemented. Requirements traceability is essential for understanding the ripple effect of proposed changes to task output products, thus avoiding products becoming inconsistent when changes are made.
 
The system-level requirements represent the basic user needs. Software requirements bridge the gap between the system-level requirements and the software design. As a result, you need a complete understanding of the software requirements to ensure a successful software development effort. Because no matter how good the design, coding, and integration processes are, a poorly analyzed program leads to disaster.

top
16 Critical Software PracticesGlossary of Terms