Software Requirements by Karl Wiegers, Karl E. Wiegers |, Paperback | Barnes & Noble
Software Requirements / Edition 2

Software Requirements / Edition 2

by Karl Wiegers

ISBN-10: 0735618798

ISBN-13: 2900735618793

Pub. Date: 03/12/2003

Publisher: Microsoft Press

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


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.

Product Details

Microsoft Press
Publication date:
Developer Best Practices Series
Edition description:
2nd ed.

Table of Contents

Part ISoftware Requirements: What, Why, and Who
1The Essential Software Requirement3
Software Requirements Defined7
Some Interpretations of Requirement7
Levels of Requirements8
What Requirements Are Not12
Requirements Development and Management12
Requirements Development13
Requirements Management14
Every Project Has Requirements15
When Bad Requirements Happen to Nice People17
Insufficient User Involvement18
Creeping User Requirements18
Ambiguous Requirements18
Gold Plating19
Minimal Specification19
Overlooked User Classes20
Inaccurate Planning20
Benefits from a High-Quality Requirements Process20
Characteristics of Excellent Requirements22
Requirement Statement Characteristics22
Requirements Specification Characteristics24
2Requirements from the Customer's Perspective27
Who Is the Customer?29
The Customer-Development Partnership31
Requirements Bill of Rights for Software Customers33
Requirements Bill of Responsibilities for Software Customers36
What About Sign-Off?39
3Good Practices for Requirements Engineering43
Requirements Elicitation47
Requirements Analysis50
Requirements Specification52
Requirements Validation53
Requirements Management54
Project Management56
Getting Started with New Practices57
A Requirements Development Process59
4The Requirements Analyst63
The Requirements Analyst Role63
The Analyst's Tasks65
Essential Analyst Skills68
Essential Analyst Knowledge70
The Making of an Analyst71
The Former User71
The Former Developer72
The Subject Matter Expert73
Creating a Collaborative Environment73
Part IISoftware Requirements Development
5Establishing the Product Vision and Project Scope77
Defining the Vision Through Business Requirements78
Conflicting Business Requirements80
Business Requirements and Use Cases81
Vision and Scope Document81
1.Business Requirements83
2.Vision of the Solution85
3.Scope and Limitations86
4.Business Context88
The Context Diagram90
Keeping the Scope in Focus91
6Finding the Voice of the Customer95
Sources of Requirements96
User Classes97
Finding User Representatives101
The Product Champion103
External Product Champions104
Product Champion Expectations105
Multiple Product Champions106
Selling the Product Champion Idea107
Product Champion Traps to Avoid108
Who Makes the Decisions?109
7Hearing the Voice of the Customer113
Requirements Elicitation115
Elicitation Workshops117
Classifying Customer Input119
Some Cautions About Elicitation125
Finding Missing Requirements126
How Do You Know When You're Done?129
8Understanding User Requirements131
The Use-Case Approach133
Use Cases and Usage Scenarios134
Identifying Use Cases138
Documenting Use Cases139
Use Cases and Functional Requirements145
Benefits of Use Cases147
Use-Case Traps to Avoid148
Event-Response Tables149
9Playing by the Rules153
The Rules of the Business154
Action Enablers157
Documenting Business Rules160
Business Rules and Requirements161
10Documenting the Requirements165
The Software Requirements Specification166
Labeling Requirements168
Dealing with Incompleteness169
User Interfaces and the SRS170
A Software Requirements Specification Template171
2.Overall Description173
3.System Features175
4.External Interface Requirements176
5.Other Nonfunctional Requirements178
6.Other Requirements180
Appendix AGlossary180
Appendix BAnalysis Models180
Appendix CIssues List181
Guidelines for Writing Requirements181
Sample Requirements, Before and After185
The Data Dictionary190
11A Picture Is Worth 1024 Words193
Modeling the Requirements194
From Voice of the Customer to Analysis Models195
Data Flow Diagram197
Entity-Relationship Diagram200
State-Transition Diagram203
Dialog Map206
Class Diagrams210
Decision Tables and Decision Trees212
A Final Reminder214
12Beyond Functionality: Software Quality Attributes215
Quality Attributes216
Defining Quality Attributes218
Attributes Important to Users219
Attributes Important to Developers225
Performance Requirements227
Defining Nonfunctional Requirements By Using Planguage228
Attribute Trade-Offs229
Implementing Nonfunctional Requirements231
13Risk Reduction Through Prototyping233
Prototyping: What and Why234
Horizontal Prototypes235
Vertical Prototypes236
Throwaway Prototypes236
Evolutionary Prototypes238
Paper and Electronic Prototypes240
Prototype Evaluation242
The Risks of Prototyping243
Prototyping Success Factors245
14Setting Requirement Priorities247
Why Prioritize Requirements?248
Games People Play with Priorities249
A Prioritization Scale250
Prioritization Based on Value, Cost, and Risk252
15Validating the Requirements259
Reviewing Requirements262
The Inspection Process264
Requirements Review Challenges272
Testing the Requirements273
Defining Acceptance Criteria280
16Special Requirements Development Challenges283
Requirements for Maintenance Projects283
Begin Capturing Information284
Practice New Requirements Techniques287
Follow the Traceability Chain287
Update the Documentation288
Requirements for Package Solutions288
Develop Use Cases289
Consider Business Rules290
Define Quality Requirements290
Requirements for Outsourced Projects291
Requirements for Emergent Projects293
Casual User Requirements Specification294
On-Site Customer295
Early and Frequent Prioritization296
Simple Change Management296
17Beyond Requirements Development297
From Requirements to Project Plans298
Requirements and Estimation300
Requirements and Scheduling304
From Requirements to Designs and Code304
From Requirements to Tests307
From Requirements to Success309
Part IIISoftware Requirements Management
18Requirements Management Principles and Practices313
The Requirements Baseline315
Requirements Management Procedures315
Requirements Version Control317
Requirement Attributes319
Tracking Requirements Status321
Measuring Requirements Management Effort324
19Change Happens327
Managing Scope Creep329
The Change-Control Process331
Change-Control Policy332
Change-Control Process Description333
The Change Control Board338
CCB Composition339
CCB Charter339
Change-Control Tools341
Measuring Change Activity342
Change Isn't Free: Impact Analysis344
Impact Analysis Procedure345
Impact Analysis Report Template350
20Links in the Requirements Chain353
Tracing Requirements354
Motivations for Tracing Requirements357
The Requirements Traceability Matrix358
Tools for Requirements Tracing362
Requirements Traceability Procedure364
Is Requirements Traceability Feasible? Is It Necessary?365
21Tools for Requirements Management367
Benefits of Using a Requirements Management Tool370
Requirements Management Tool Capabilities372
Implementing Requirements Management Automation374
Selecting a Tool374
Changing the Culture375
Making Requirements Management Tools Work for You378
Part IVImplementing Requirements Engineering
22Improving Your Requirements Processes381
How Requirements Relate to Other Project Processes382
Requirements and Various Stakeholder Groups384
Fundamentals of Software Process Improvement386
The Process Improvement Cycle389
Assess Current Practices389
Plan Improvement Actions390
Create, Pilot, and Implement New Processes392
Evaluate Results393
Requirements Engineering Process Assets395
Requirements Development Process Assets396
Requirements Management Process Assets398
Requirements Process Improvement Road Map399
23Software Requirements and Risk Management401
Fundamentals of Software Risk Management403
Elements of Risk Management403
Documenting Project Risks404
Planning for Risk Management407
Requirements-Related Risks408
Requirements Elicitation408
Requirements Analysis410
Requirements Specification410
Requirements Validation411
Requirements Management411
Risk Management Is Your Friend412
ACurrent Requirements Practice Self-Assessment417
BRequirements and Process Improvement Models425
The Capability Maturity Model for Software425
Requirements Management Process Area430
Requirements Development Process Area430
CRequirements Troubleshooting Guide433
Root Cause Analysis434
Common Symptoms of Requirements Problems435
Common Barriers to Implementing Solutions436
DSample Requirements Documents457
Vision and Scope Document458
Use Cases463
Software Requirements Specification469
Business Rules482

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >