No matter how much instruction you’ve had on managing software requirements, there’s no substitute for experience. Too often, lessons about requirements engineering processes lack the no-nonsense guidance that supports real-world solutions. Complementing the best practices presented in his book, Software Requirements, Second Edition, requirements engineering authority Karl Wiegers tackles even more of the real issues head-on in this book.
With straightforward, professional advice and practical solutions based on actual project experiences, this book answers many of the tough questions raised by industry professionals. From strategies for estimating and working with customers to the nuts and bolts of documenting requirements, this essential companion gives developers, analysts, and managers the cosmic truths that apply to virtually every software development project.
Discover how to:
Make the business case for investing in better requirements practices
Generate estimates using three specific techniques
Conduct inquiries to elicit meaningful business and user requirements
Clearly document project scope
Implement use cases, scenarios, and user stories effectively
Improve inspections and peer reviews
Write requirements that avoid ambiguity
On Essential Requirements Concepts
Chapter 1 Requirements Engineering Overview
Different Types of Requirements
Requirements Engineering Activities
Chapter 2 Cosmic Truths About Software Requirements
On the Management View of Requirements
Chapter 3 The Business Value of Better Requirements
Tell Me Where It Hurts
What Can Better Requirements Do for You?
An Economic Argument
Chapter 4 How Long Do Requirements Take?
Your Own Experience
Chapter 5 Estimating Based on Requirements
Some Estimation Fundamentals
Goals Aren’t Estimates
Estimating from Requirements
Measuring Software Size
Use Case Points
The Reality of Estimation
On Customer Interactions
Chapter 6 The Myth of the On-Site Customer
User Classes and Product Champions
Now Hear This
Chapter 7 An Inquiry, Not an Inquisition
But First, Some Questions to Avoid
Questions for Eliciting Business Requirements
User Requirements and Use Cases
Questions for Eliciting User Requirements
Why Ask Why?
Chapter 8 Two Eyes Aren’t Enough
Improving Your Requirements Reviews
On Use Cases
Chapter 9 Use Cases and Scenarios and Stories, Oh My!
Chapter 10 Actors and Users
Chapter 11 When Use Cases Aren’t Enough
The Power of Use Cases
Project Type Limitations
Use Cases Don’t Replace Functional Requirements
Use Cases Reveal Functional Requirements
On Writing Requirements
Chapter 12 Bridging Documents
Chapter 13 How Much Detail Do You Need?
Who Makes the Call?
When More Detail Is Needed
When Less Detail Is Appropriate
Sample Levels of Requirements Detail
Chapter 14 To Duplicate or Not to Duplicate
Chapter 15 Elements of Requirements Style
I Shall Call This a Requirement
System Perspective or User Perspective?
Parent and Child Requirements
What Was That Again?
Chapter 16 The Fuzzy Line Between Requirements and Design
Solution Ideas and Design Constraints
On the Requirements Process
Chapter 17 Defining Project Scope
Vision and Scope
Use Case Diagram
Managing Scope Creep
Chapter 18 The Line in the Sand
The Requirements Baseline
When to Baseline
Chapter 19 The Six Blind Men and the Requirements
Limitations of Natural Language
Some Alternative Requirements Views
Why Create Multiple Views?
Selecting Appropriate Views
Reconciling Multiple Views
On Managing Requirements
Chapter 20 Handling Requirements for Multiple Releases
Single Requirements Specification
Multiple Requirements Specifications
Requirements Management Tools
Chapter 21 Business Requirements and Business Rules
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.