About Us
Consulting & Mentoring Services
Products
Education Services
Partners
Resource Central
ProcessExchange, Inc.
  Home > Consulting Services > Requirements Management > Training - Excellent Requirements
 
In Search of Excellent Requirements

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.