Table of Contents
 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