Without formal, verifiable software requirements—and an effective system for managing them—the programs that developers think they’ve agreed to build often will not be the same products their customers are expecting. In SOFTWARE REQUIREMENTS, Second Edition, requirements engineering authority Karl Wiegers amplifies the best practices presented in his original award-winning text?now a mainstay for anyone participating in the software development process.
In this book, you’ll discover effective techniques for managing the requirements engineering process all the way through the development cycle—including dozens of techniques to facilitate that all-important communication between users, developers, and management. This updated edition features new case examples, anecdotes culled from the author’s extensive consulting career, and specific Next Steps for putting the book’s process-improvement principles into practice. You’ll also find several new chapters, sample documents, and an incisive troubleshooting guide.
Discover how to:
Set achievable expectations for functionality and quality
NEW: Incorporate business rules into application development
Employ use cases to discover user requirements
Arrest creeping requirements and manage change requests
NEW: Deal with requirements on maintenance, outsourced, and package solution projects
Curb the impulse to “gold-plate” your programs
NEW: Grow effective requirements analysts
Cut revisions—and costs—dramatically
Produce better software!
No matter what kind of software you build, or what your role in the development process, SOFTWARE REQUIREMENTS, Second Edition, delivers expert guidance and field-tested techniques for engineering software success.
Software Requirements: What, Why, and Who
Chapter 1 The Essential Software Requirement
Software Requirements Defined
Requirements Development and Management
Every Project Has Requirements
When Bad Requirements Happen to Nice People
Benefits from a High-Quality Requirements Process
Characteristics of Excellent Requirements
Chapter 2 Requirements from the Customer’s Perspective
Who Is the Customer?
The Customer-Development Partnership
What About Sign-Off?
Chapter 3 Good Practices for Requirements Engineering
Knowledge
Requirements Elicitation
Requirements Analysis
Requirements Specification
Requirements Validation
Requirements Management
Project Management
Getting Started with New Practices
A Requirements Development Process
Chapter 4 The Requirements Analyst
The Requirements Analyst Role
The Making of an Analyst
Creating a Collaborative Environment
Software Requirements Development
Chapter 5 Establishing the Product Vision and Project Scope
Karl E. Wiegers is a leading speaker, author, and consultant on requirements engineering, project management, and process improvement. As Principal Consultant with Process Impact, he conducts training seminars for corporate and government clients worldwide. Karl has twice won the Software Development Productivity Award, which honors excellence in productivity-enhancing products and books.