Despite the wealth of development knowledge, experience, and tools generally available today, a substantial percentage of software projects continue to fail, often because requirements are not correctly determined and defined at the outset, or are not managed correctly as the project unfolds. Clients do not always know or express their needs precisely, and too often designers and developers do not ask the right questions at the right times. As a result, projects often spin out of control as "feature bloat" and shifting priorities cause budgets and schedules to exceed expectations. Managing Software Requirements focuses on this critical cause of failure and offers a practical, proven approach to building systems that meet customers' needs--on time and within budget.
The authors are skilled practitioners who have spent their careers in the trenches building high-quality applications, including safety-critical, real-time systems. Using an informal, approachable style, their own war stories, and a comprehensive case study they show how designers and developers can effectively identify requirements by employing the power of use cases and more traditional forms of requirements expression. The book illustrates proven techniques for determining, implementing, verifying, and validating requirements. It describes six vital Team Skills for managing requirements throughout the lifecycle of a project: Analyzing the Problem, Understanding User Needs, Defining the System, Managing Scope, Refining the System Definition, and Building the Right System. Managing Software Requirements specifically addresses the ongoing challenge of managing change and describes a process for assuring that project scope is successfully defined and agreed upon by all stakeholders.
Topics covered include:
- The five steps in problem analysis
- Business modeling and system engineering
- Techniques for eliciting requirements from clients, users, developers, and other stakeholders
- Applying and refining use cases
- Prototyping
- Organizing and managing requirements information
- Establishing project scope and managing customers
- Using both informal and technical methods for specifying requirements
- How to measure and improve the quality of your product's requirements
- Moving from requirements to implementation
- Verifying and validating the system
- Managing change
The book concludes with a step-by-step guide to incorporating these powerful techniques into future projects.
About the Author
Dean Leffingwell, software business development consultant and former Rational Software executive, is a recognized authority on software requirements. He was cofounder and chief executive officer of Requisite, Inc., where he developed RequisitePro, the highly successful requirements management software tool, and Requirements College, the basis of Rational's popular requirements management professional development course series.
Don Widrig is an independent technical writer and consultant. He developed and delivered Rational Software's RequisitePro Tool Training Course until his "retirement" to the mountains of Colorado in 1997. When he is not busy watching the elk in his yard, Don writes a regular column for his local newspaper and does pro bono work helping the townspeople deal with their computers. He was formerly the vice president of research and development at RELA, Inc., a producer of safety-critical, real-time systems.