SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
“If the purpose is to create one of the best books on requirements yet written, the authors have succeeded.”
—Capers Jones
Software can solve almost any problem. The trick is knowing what the problem is. With about half of all software errors originating in the requirements activity, it is clear that a better understanding of the problem is needed.
Getting the requirements right is crucial if we are to build systems that best meet our needs. We know, beyond doubt, that the right requirements produce an end result that is as innovative and beneficial as it can be, and that system development is both effective and efficient.
Mastering the Requirements Process: Getting Requirements Right, Third Edition, sets out an industry-proven process for gathering and verifying requirements, regardless of whether you work in a traditional or agile development environment. In this sweeping update of the bestselling guide, the authors show how to discover precisely what the customer wants and needs, in the most efficient manner possible.
Features include
New features include
Preface to the Third Edition xxi
Foreword to the First Edition xxiii
Acknowledgments xxv
Chapter 1: Some Fundamental Truths 1
in which we consider the essential contribution of requirements
Truth 1 1
Truth 2 2
Truth 3 3
Truth 4 4
Truth 5 5
Truth 6 6
Truth 7 7
Truth 8 7
Truth 9 8
Truth 10 8
Truth 11 9
What Are These Requirements Anyway? 9
The Volere Requirements Process 11
Chapter 2: The Requirements Process 13
in which we present a process for discovering requirements and discuss how you might use it
The Requirements Process in Context 14
A Case Study 15
Project Blastoff 15
Trawling for Requirements 17
Quick and Dirty Modeling 19
Scenarios 20
Writing the Requirements 20
Quality Gateway 22
Reusing Requirements 23
Reviewing the Requirements 23
Iterative and Incremental Processes 24
Requirements Retrospective 25
Evolution of Requirements 26
The Template 27
The Snow Card 29
Your Own Requirements Process 31
Formality Guide 32
The Rest of This Book 33
Chapter 3: Scoping the Business Problem 35
in which we establish a definition of the business area to be changed, thereby ensuring that the project team has a clear vision of what their project is meant to achieve
Project Blastoff 35
Formality Guide 38
Setting the Scope 38
IceBreaker 41
Scope, Stakeholders, and Goals 43
Stakeholders 44
Other Stakeholders 50
Finding the Stakeholders 54
Goals: What Do You Want to Achieve? 54
Constraints 59
Naming Conventions and Definitions 60
How Much Is This Going to Cost? 61
Risks 62
To Go or Not to Go 63
Blastoff Meetings 64
Summary 65
Chapter 4: Business Use Cases 67
in which we discuss a fail-safe way of partitioning the work and so smooth the way for your requirements investigation
Understanding the Work 67
Formality Guide 69
Use Cases and Their Scope 69
The Scope of the Work 70
Business Events 73
Why Business Events and Business Use Cases Are a Good Idea 75
Finding the Business Events 78
Business Use Cases 80
Business Use Cases and Product Use Cases 82
Summary 85
Chapter 5: Investigating the Work 87
in which we come to an understanding of what the business is doing, and start to think about what it might like to do
Trawling the Business 87
Formality Guide 89
Trawl for Knowledge 89
The Business Analyst 91
Trawling and Business Use Cases 92
The Brown Cow Model 93
The Current Way of Doing Things (How-Now) 94
Apprenticing 98
Business Use Case Workshops 99
Interviewing the Stakeholders 102
Looking for Reusable Requirements 106
Quick and Dirty Process Modeling 107
Prototypes and Sketches 109
Mind Maps 116
The Murder Book 119
Video and Photographs 120
Wikis, Blogs, Discussion Forums 122
Document Archeology 123
Family Therapy 125
Choosing the Best Trawling Technique 125
Finally . . . 127
Chapter 6: Scenarios 129
in which we look at scenarios, and how the business analyst uses them to communicate with the stakeholders
Formality Guide 129
Scenarios 130
The Essence of the Business 135
Diagramming the Scenario 138
Alternatives 139
Exceptions 140
What if? Scenarios 142
Misuse Cases and Negative Scenarios 142
Scenario Template 143
Summary 145
Chapter 7: Understanding the Real Problem 147
in which we “think above the line” to find the true essence of the business, and so deliver the right product–one that solves the right problem
Formality Guide 149
The Brown Cow Model: Thinking Above the Line 149
Solving the Right Problem 156
Moving into the Future 157
How to Be Innovative 160
Systemic Thinking 162
Value 165
Personas 166
Challenging Constraints 169
Innovation Workshops 171
Brainstorming 173
Back to the Future 174
Chapter 8: Starting the Solution 177
in which we bring the essence of the business into the technological world of the implementation
Iterative Development 179
Essential Business 179
Determine the Extent of the Product 180
Consider the Users 181
Designing the User Experience 183
Innovation 184
Sketching the Interface 188
The Real Origin of the Business Event 189
Adjacent Systems and External Technology 190
Cost, Benefit, and Risks 194
Document Your Design Decisions 195
Product Use Case Scenarios 196
Putting It All Together 199
Chapter 9: Strategies for Today’s Business Analyst 203
in which we consider strategies for the business analyst to guide requirements discovery in today’s changing environments
Balancing Knowledge, Activities, and People 204
Common Project Requirements Profiles 204
How Much Knowledge Is Needed Before Each Breakout? 205
External Strategy 206
Iterative Strategy 210
Sequential Strategy 212
Your Own Strategy 215
Sharpening Your Requirements Skills 215
Summary 222
Chapter 10: Functional Requirements 223
in which we look at those requirements that cause the product to do something
Formality Guide 224
Functional Requirements 225
Uncovering the Functional Requirements 225
Level of Detail or Granularity 228
Description and Rationale 229
Data, Your Secret Weapon 231
Exceptions and Alternatives 233
Conditional Requirements 234
Avoiding Ambiguity 234
Technological Requirements 237
Grouping Requirements 237
Alternatives to Functional Requirements 238
Requirements for COTS 241
Summary 242
Chapter 11: Non-functional Requirements 245
in which we look at the requirements that specify how well your product does what it does
An Introduction to Non-functional Requirements 246
Formality Guide 246
Functional Versus Non-functional Requirements 247
Use Cases and Non-functional Requirements 248
The Non-functional Requirements Types 249
Look and Feel Requirements: Type 10 250
Usability and Humanity Requirements: Type 11 253
Performance Requirements: Type 12 257
Operational and Environmental Requirements: Type 13 259
Maintainability and Support Requirements: Type 14 261
Security Requirements: Type 15 262
Cultural Requirements: Type 16 266
Legal Requirements: Type 17 268
Finding the Non-functional Requirements 271
Blogging the Requirements 271
Don’t Write a Solution 276
Summary 277
Chapter 12: Fit Criteria and Rationale 279
in which we show how measuring requirements makes them unambiguous, understandable, communicable, and testable
Formality Guide 280
Why Does Fit Need a Criterion? 280
The Rationale for the Rationale 282
Deriving Fit Criteria 284
Scale of Measurement 285
Fit Criteria for Non-functional Requirements 286
Fit Criteria for Functional Requirements 295
Forms of Fit Criteria 296
Use Cases and Fit Criteria 299
Fit Criterion for Project Purpose 299
Fit Criteria for Solution Constraints 300
Summary 301
Chapter 13: The Quality Gateway 303
in which we prevent unsuitable requirements from becoming part of the specification
Formality Guide 304
Requirements Quality 305
Using the Quality Gateway 306
Within Scope? 307
Testing Completeness 311
Testing the Fit Criterion 312
Consistent Terminology 313
Viable within Constraints? 314
Requirement or Solution? 316
Requirement Value 316
Gold Plating 317
Requirements Creep 317
Implementing the Quality Gateway 319
Summary 321
Chapter 14: Requirements and Iterative Development 323
in which we look at how to discover and implement requirements in an iterative development environment
The Need for Iterative Development 323
An Iterative Requirements Process 324
Business Value Analysis and Prioritization 327
How to Write a Good User Story 329
Iterative Requirements Roles 333
Summary 335
Chapter 15: Reusing Requirements 337
in which we look for requirements that have already been written and explore ways to make use of them
What Is Reusing Requirements? 338
Sources of Reusable Requirements 341
Requirements Patterns 342
A Business Event Pattern 344
Forming Patterns by Abstracting 346
Domain Analysis 351
Summary 351
Chapter 16: Communicating the Requirements 353
in which we turn the requirements into communicable form
Formality Guide 353
Turning Potential Requirements into Written Requirements 354
Knowledge Versus Specification 354
The Volere Requirements Specification Template 357
Discovering Atomic Requirements 359
Attributes of Atomic Requirements 361
Assembling the Specification 365
Automated Requirements Tools 366
Functional Requirements 367
Non-functional Requirements 368
Project Issues 369
Summary 369
Chapter 17: Requirements Completeness 371
in which we decide whether our specification is complete, and set the priorities of the requirements
Formality Guide 372
Reviewing the Specification 373
Inspections 373
Find Missing Requirements 374
Have All Business Use Cases Been Discovered? 376
Prioritizing the Requirements 382
Conflicting Requirements 386
Ambiguous Specifications 388
Risk Assessment 388
Measure the Required Cost 391
Summary 391
Appendix A: Volere Requirements Specification Template 393
a guide for writing a rigorous and complete requirements specification
Contents 393
Use of This Template 394
Volere 394
Requirements Types 395
Testing Requirements 396
Atomic Requirements Shell 396
1. The Purpose of the Project 397
2. The Stakeholders 400
3. Mandated Constraints 407
4. Naming Conventions and Terminology 415
5. Relevant Facts and Assumptions 416
6. The Scope of the Work 420
7. Business Data Model and Data Dictionary 425
8. The Scope of the Product 429
9. Functional and Data Requirements 433
Non-functional Requirements 435
10. Look and Feel Requirements 435
11. Usability and Humanity Requirements 437
12. Performance Requirements 441
13. Operational and Environmental Requirements 447
14. Maintainability and Support Requirements 449
15. Security Requirements 451
16. Cultural Requirements 454
17. Legal Requirements 455
Project Issues 457
18. Open Issues 457
19. Off-the-Shelf Solutions 458
20. New Problems 460
21. Tasks 462
22. Migration to the New Product 463
23. Risks 465
24. Costs 467
25. User Documentation and Training 468
26. Waiting Room 470
27. Ideas for Solutions 471
Appendix B: Stakeholder Management Templates 473
Stakeholder Map 473
Stakeholder Template 475
Appendix C: Function Point Counting: A Simplified Introduction 479
in which we look at a way to accurately measure the size or functionality of the work area, with a view toward using the measurement to estimate the requirements effort
Measuring the Work 479
A Quick Primer on Counting Function Points 481
Counting Function Points for Business Use Cases 484
Counting the Stored Data 489
Adjust for What You Don’t Know 492
Now That I Have Counted Function Points, What’s Next? 492
Appendix D: Volere Requirements Knowledge Model 495
Definitions of Requirements Knowledge Classes and Associations 495
Glossary 511
Bibliography 517
Index 523