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
"Requirement" Defined
Different Types of Requirements
Requirements Engineering Activities
Looking Ahead
Chapter 2 Cosmic Truths About Software Requirements
Requirements Realities
Requirements Stakeholders
Requirements Specifications
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?
The Investment
The Return
An Economic Argument
Chapter 4 How Long Do Requirements Take?
Industry Benchmarks
Your Own Experience
Incremental Approaches
Planning Elicitation
Chapter 5 Estimating Based on Requirements
Some Estimation Fundamentals
Estimation Approaches
Goals Aren’t Estimates
Estimating from Requirements
Measuring Software Size
Story Points
Use Case Points
Testable Requirements
The Reality of Estimation
On Customer Interactions
Chapter 6 The Myth of the On-Site Customer
User Classes and Product Champions
Surrogate Users
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
Open-Ended Questions
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!
Use Cases
Scenarios
User Stories
Chapter 10 Actors and Users
Chapter 11 When Use Cases Aren’t Enough
The Power of Use Cases
Project Type Limitations
Event-Response Tables
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
Implied Requirements
Sample Levels of Requirements Detail
Chapter 14 To Duplicate or Not to Duplicate
Cross-Referencing
Hyperlinks
Traceability Links
Recommendation
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
Solution Clues
On the Requirements Process
Chapter 17 Defining Project Scope
Vision and Scope
Context Diagram
Use Case Diagram
Feature Levels
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.