|
Requirements
form the foundation for all the software work that follows.
Arriving at a shared vision of the product to be developed is
one of the greatest challenges facing the software project team,
and customer involvement is among the most critical factors in
software quality. The objective of this training is to give
attendees a tool kit of practices, reinforced with exercises and
group discussions, that they can begin applying to improve the
quality of the requirements development and requirements
management processes in their organization.
This seminar
describes dozens of tested methods that can help any
organization improve the way it elicits, analyzes, documents,
verifies, and manages software requirements. Characteristics of
excellent requirements statements and requirements
specifications are presented and used to evaluate some sample
functional requirements. The seminar emphasizes several
practical techniques:
-
creating an effective customer-development partnership
-
customer involvement through a "product champion" model
-
the application of use cases for defining user
needs and system functions
-
a simple model for prioritizing requirements
-
writing software requirements specifications using
a standard template
-
constructing dialog maps to model user interfaces,
as well as other analysis models
-
the use of prototypes to clarify and refine user needs
-
the use of technical reviews and inspections to
find errors in requirements
-
use of a requirements traceability matrix to
connect requirements to design elements, code, and tests
Requirements
management is approached from the perspective of the Software
Engineering Institute's Software Capability Maturity Model (SW-CMM).
The SW-CMM's expectations for requirements management are
described, as are practical methods for managing changes to
requirements. These techniques can reduce project risk by
improving the quality and control of the software requirements,
thereby increasing the likelihood of a successfully completed
project.
|