Table of Contents for
Software Requirements, 2nd Edition
by Karl E. Wiegers
(Microsoft Press, 2003; ISBN 0-7356-1879-8)
Part 1. Software Requirements: What, Why, and Who
Chapter 1. The Essential Software Requirement
Software Requirements Defined
Some Interpretations of "Requirements"
Three Levels of Requirements
What Requirements Are Not
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
Requirements Bill of Rights for Software Customers
Requirements Bill of Responsibilities for Software Customers
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 Analyst's Tasks
Essential Analyst Skills
Essential Analyst Knowledge
The Making of an Analyst
The Former User
The Former Developer
The Subject Matter Expert
Part 2. Software Requirements Development
Chapter 5. Establishing the Product Vision and Project Scope
Defining the Vision through Business Requirements
Conflicting Business Requirements
Business Requirements and Use Cases
Vision and Scope Document
The Context Diagram
Keeping the Scope in Focus
Chapter 6. Finding the Voice of the Customer
Sources of Requirements
User Classes
Finding User Representatives
The Product Champion
External Product Champions
Product Champion Expectations
Multiple Product Champions
Selling the Product Champion Idea
Product Champion Traps to Avoid
Who Makes the Decisions?
Chapter 7. Hearing the Voice of the Customer
Elicitation Workshops
Classifying Customer Input
Some Cautions About Elicitation
Finding Missing Requirements
How Do You Know When You’re Done?
Chapter 8. Understanding User Requirements
The Use Case Approach
Use Cases and Usage Scenarios
Identifying Use Cases
Documenting Use Cases
After the Workshop
Validating Use Cases
Use Cases and Functional Requirements
Benefits of Use Cases
Use Case Traps to Avoid
Event-Response Tables
Chapter 9. Playing By the Rules
The Rules of the Business
Documenting Business Rules
Business Rules and Requirements
Chapter 10. Documenting the Requirements
The Software Requirements Specification
Labeling Requirements
Dealing with Incompleteness
User Interfaces and the SRS
A Software Requirements Specification Template
The Data Dictionary
Guidelines for Writing Requirements
Sample Requirements, Before and After
Chapter 11. A Picture is Worth 1024 Words
Modeling the Requirements
From Voice of the Customer to Analysis Models
Data Flow Diagram
Entity-Relationship Diagram
State-Transition Diagram
Dialog Map
Class Diagram
Decision Tables and Decision Trees
A Final Reminder
Chapter 12. Beyond Functionality: Software Quality Attributes
Quality Attributes
Defining Quality Attributes
Attributes Important to Users
Attributes Important to Developers
Performance Requirements
Defining Nonfunctional Requirements Using Planguage
Attribute Tradeoffs
Implementing Nonfunctional Requirements
Chapter 13. Risk Reduction Through Prototyping
Prototyping: What and Why
Horizontal Prototypes
Vertical Prototypes
Throwaway Prototypes
Evolutionary Prototypes
Paper and Electronic Prototypes
Evaluating Prototypes
The Risks of Prototyping
Prototyping Success Factors
Chapter 14. Setting Requirements Priorities
Why Prioritize Requirements?
Games People Play With Priorities
A Prioritization Scale
Prioritizing Based on Value, Cost, and Risk
Chapter 15. Validating the Requirements
Reviewing Requirements
The Inspection Process
Requirements Review Challenges
Testing the Requirements
Defining Acceptance Criteria
Chapter 16. Special Requirements Development Challenges
Requirements for Maintenance Projects
Begin Capturing Information
Practice New Requirements Techniques
Follow the Traceability Chain
Update the Documentation
Requirements for Package Solutions
Develop Use Cases
Consider Business Rules
Define Quality Requirements
Requirements for Outsourced Projects
Requirements for Emergent Projects
Chapter 17. Beyond Requirements Development
From Requirements to Project Plans
Requirements and Estimation
Requirements and Scheduling
From Requirements to Designs and Code
From Requirements to Tests
From Requirements to Success
Part 3. Software Requirements Management
Chapter 18. Requirements Management Principles and Practices
The Requirements Baseline
Requirements Management Procedures
Requirements Version Control
Requirement Attributes
Tracking Requirements Status
Measuring Requirements Management Effort
Chapter 19. Change Happens
Managing Scope Creep
The Change Control Process
Change Control Policy
Change Control Process Description
The Change Control Board
CCB Composition
CCB Charter
Measuring Change Activity
Change Isn’t Free: Impact Analysis
Impact Analysis Procedure
Impact Analysis Report Template
Chapter 20. Links in the Requirements Chain
Tracing Requirements
Motivations for Tracing Requirements
The Requirements Traceability Matrix
Tools for Requirements Traceability
Requirements Traceability Procedure
Is Requirements Traceability Feasible? Is It Necessary?
Chapter 21. Tools for Requirements Management
Benefits of Using a Requirements Management Tool
Requirements Management Tool Capabilities
Implementing Requirements Management Automation
Selecting a Tool
Changing the Culture
Making Requirements Management Tools Work for You
Part 4. Implementing Requirements Engineering
Chapter 22. Improving Your Requirements Processes
How Requirements Relate To Other Project Processes
Requirements and Various Stakeholder Groupss
Fundamentals of Software Process Improvement
The Process Improvement Cycle
Assess Current Practices
Plan Improvement Actions
Create, Pilot, and Implement New Processes
Evaluate Results
Requirements Engineering Process Assets
Requirements Development Process Assets
Requirements Management Process Assets
Gaining Commitment to Change
The Requirements Process Improvement Roadmap
Chapter 23. Software Requirements Risk Management
Fundamentals of Software Risk Management
Elements of Risk Management
Documenting Project Risks
Planning for Risk Management
Requirements-Related Risks
Requirements Elicitation
Requirements Analysis
Requirements Specification
Requirements Validation
Requirements Management
Risk Management is Your Friend
Appendix A. Current Requirements Practice Self-Assessment
Appendix B. Requirements and Process Improvement Models
The Capability Maturity Model for Software
CMMI-SE/SW
Capability Maturity Models and Process Improvement
Appendix C. Requirements Troubleshooting Guide
Root Cause Analysis
Common Impacts from Problems
Common Barriers to Implementing Solutions
Appendix D. Sample Requirements Documents
Vision and Scope
Use Cases
Software Requirements Specification, Analysis Models, and Data Dictionary
Business Rules
Glossary