Pugh-Killeen Logo

In Search of Excellent Requirements

Home | Contact Us


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 tutorial 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 engineering 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 "project 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.

This seminar is based on Karl Wiegers's book, "Software Requirements, 2nd Edition" (Microsoft Press, 2003)


  • Be able to recognize and classify different types of requirement information
  • Learn about many "good practices" for requirements elicitation, analysis, specification, validation, and management
  • Learn how to apply the use case technique for eliciting user requirements
  • Select appropriate techniques for representing requirements on your projects
  • Be able to critically evaluate requirements statements for ambiguity and other problems
  • Practice solving requirement problems (in 2 and 3 day courses)
  • Be able to write clear, unambiguous, and actionable requirements (in 3 day course)

Copyright (c) 1996-2007 Pugh-Killeen Associates

Home Services Solutions Classes Resources About Us Contact Us Legal