Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise, 1st edition
Published by Addison-Wesley Professional (December 27, 2010) © 2011
- Dean Leffingwiell
eTextbook
- Available for purchase from all major ebook resellers, including InformIT.com.
- To request a review copy, click on the "Request a Review Copy" button.
- A print text (hardcover or paperback)
- Free shipping
- Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
- Part I presents the “big picture” of Agile requirements in the enterprise, and describes an overall process model for Agile requirements at the project team, program, and portfolio levels
- Part II describes a simple and lightweight, yet comprehensive model that Agile project teams can use to manage requirements
- Part III shows how to develop Agile requirements for complex systems that require the cooperation of multiple teams
- Part IV guides enterprises in developing Agile requirements for ever-larger “systems of systems,” application suites, and product portfolios
Foreword xxiii
Preface xxvii
Acknowledgments xxxiii
About the Author xxxv
Part I: Overview: The Big Picture 1
Chapter 1: A Brief History of Software Requirements Methods 3
Software Requirements in Context: Decades ofPredictive, Waterfall-Like Processes 5
Iterative and Incremental Processes 9
Adaptive (Agile) Processes 12
Requirements Management in Agile Is Fundamentally Different 16
Enterprise-Scale Adaptive Processes 19
Introduction to Lean Software 20
Summary 28
Chapter 2: The Big Picture of Agile Requirements 31
The Big Picture Explained 32Big Picture: Team Level 34
Big Picture: Program Level 38
Big-Picture Elements: Portfolio Level 43
Summary 45
Chapter 3: Agile Requirements for the Team 47
Introduction to the Team Level 47Agile Team Roles and Responsibilities 50
User Stories and the Team Backlog 55
Acceptance Tests 58
Unit Tests 60
Summary 61
Chapter 4: Agile Requirements for the Program 63
Introduction to the Program Level 63Organizing Agile Teams at Scale 64
Vision 74
Features 75
Nonfunctional Requirements 77
The Agile Release Train 80
Roadmap 81
Summary 82
Chapter 5: Agile Requirements for the Portfolio 83
Introduction to the Portfolio Level 83Investment Themes 84
Portfolio Management Team 85
Epics and the Portfolio Backlog 85
Epics, Features, and Stories 87
Architectural Runway and Architectural Epics 88
Summary 91
Summary of the Full, Enterprise Requirements Information Model 91
Interlude: Case Study: Tendril Platform 93
Background for the Case Study 93System Context Diagram 95
Part II: Agile Requirements for the Team 97
Chapter 6: User Stories 99
Introduction 99User Story Form 102
INVEST in Good User Stories 105
Splitting User Stories 111
Spikes 114
Technical Spikes and Functional Spikes 114
Story Modeling with Index Cards 116
Summary 117
Chapter 7: Stakeholders, User Personas, and User Experiences 119
Stakeholders 119Identifying Stakeholders 122
User Personas 126
Agile and User Experience Development 129
Summary 133
Chapter 8: Agile Estimating and Velocity 135
Introduction 135Why Estimate? The Business Value of Estimating 137
Estimating Scope with Story Points 138
Understanding Story Points: An Exercise 138
An Alternate Technique: Tabletop Relative Estimation 145
From Scope Estimates to Team Velocity 146
Caveats on the Relative Estimating Model 147
From Velocity to Schedule and Cost 148
Estimating with Ideal Developer Days 149
A Hybrid Model 151
Summary 152
Chapter 9: Iterating, Backlog, Throughput, and Kanban 155
Iterating: The Heartbeat of Agility 155Backlog, Lean, and Throughput 169
Software Kanban Systems 179
Summary 180
Chapter 10: Acceptance Testing 183
Why Write About Testing in an Agile Requirements Book? 183Agile Testing Overview 184
What Is Acceptance Testing? 187
Characteristics of Good Story Acceptance Tests 188
Acceptance Test-Driven Development 190
Acceptance Test Template 192
Automated Acceptance Testing 193
Unit and Component Testing 196
Summary 199
Chapter 11: Role of the Product Owner 201
Is This a New Role? 201Perspectives on Dual Roles of Product Owner and Product Manager 202
Responsibilities of the Product Owner in the Enterprise 207
Five Essential Attributes of a Good Product Owner 218
Collaboration with Product Managers 220
Product Owner Bottlenecks: Part-Time Product Owners, Product Owner Proxies, Product Owner Teams 221
Seeding the Product Owner Role in the Enterprise 222
Summary 224
Chapter 12: Requirements Discovery Toolkit 227
The Requirements Workshop 228Brainstorming 232
Interviews and Questionnaires 237
User Experience Mock-Ups 241
Forming a Product Council 243
Competitive Analysis 244
Customer Change Request Systems 245
Use-Case Modeling 247
Summary 247
Part III: Agile Requirements for the Program 249
Chapter 13: Vision, Features, and Roadmap 251
Vision 251Expressing the Vision 252
Features 255
Estimating Features 257
Testing Features 260
Prioritizing Features 261
The Roadmap 271
Summary 273
Chapter 14: Role of the Product Manager 275
Product Manager, Business Analyst? 276Responsibilities of the Product Manager in a Product Company 276
Business Responsibilities of the Role in the IT/IS Shop 278
Responsibility Summary 279
Phases of Product Management Disillusionment in the Pre-Agile Enterprise 280
Evolving Product Management in the Agile Enterprise 283
Responsibilities of the Agile Product Manager 287
Summary 297
Chapter 15: The Agile Release Train 299
Introduction to the Agile Release Train 300Driving Strategic Alignment 304
Institutionalizing Product Development Flow 305
Designing the Agile Release Train 308
Planning the Release 308
Tracking and Managing the Release 309
Release Retrospective 310
Measuring Release Predictability 310
Releasing 313
Summary 317
Chapter 16: Release Planning 319
Preparing for Release Planning 319Release Planning Narrative, Day 1 322
Release Planning Narrative, Day 2 328
Stretch Goals 336
Summary 338
Chapter 17: Nonfunctional Requirements 339
Modeling Nonfunctional Requirements 340Exploring Nonfunctional Requirements 342
Persisting Nonfunctional Requirements 347
Testing Nonfunctional Requirements 348
Template for an NFR Specification 352
Summary 354
Chapter 18: Requirements Analysis Toolkit 355
Activity Diagrams 357Sample Reports 358
Pseudocode 358
Decision Tables and Decision Trees 359
Finite State Machines 361
Message Sequence Diagrams 364
Entity-Relationship Diagrams 365
Use-Case Modeling 366
Summary 366
Chapter 19: Use Cases 367
The Problems with User Stories and Backlog Items 368Five Good Reason to Still Use Use Cases 368
Use Case Basics 369
A Use Case Example 375
Applying Use Cases 377
Use Cases in the Agile Requirements Information Model 378
Summary 379
Part IV: Agile Requirements for the Portfolio 381
Chapter 20: Agile Architecture 383
Introduction to the Portfolio Level of the Big Picture 383Systems Architecture in Enterprise-Class Systems 384
Eight Principles of Agile Architecture 390
Implementing Architectural Epics 399
Splitting Architecture Epics 403
Summary 405
Chapter 21: Rearchitecting with Flow 407
Architectural Epic Kanban System 408Overview of the Architectural Epic Kanban System 409
1. The Funnel: Problem/Solution Needs Identification 412
2. Backlog 415
3. Analysis 418
4. Implementation 423
Summary 427
Chapter 22: Moving to Agile Portfolio Management 429
Portfolio Management 429When Agile Teams Meet the PMO: Two Ships Pass in the Night 431
Legacy Mind-Sets Inhibit Enterprise Agility 432
Legacy Mind-Sets in Portfolio Management 433
Eight Recommendations for Moving to Agile Portfolio Management 436
Summary: On to Agile Portfolio Planning 447
Chapter 23: Investment Themes, Epics, and Portfolio Planning 449
Investment Themes 450Epics 452
Identifying and Prioritizing Business Epics: A Kanban System for Portfolio Planning 456
Summary 467
Chapter 24: Conclusion 469
Further Information 470
Appendix A: Context-Free Interview 471
Appendix B: Vision Document Template 475
Appendix C: Release Planning Readiness Checklist 485
Appendix D: Agile Requirements Enterprise Backlog Meta-model 489
Bibliography 491
Index 495
Dean Leffingwell, a thirty-year software industry veteran, has spent his career helping software teams achieve their goals. A renowned methodologist, author, coach, entrepreneur, and executive, he founded Requisite, Inc., makers of RequisitePro, and served as its CEO. As vice president at Rational Software (now part of IBM), he led the commercialization of the Rational Unified Process. As an independent consultant and as an advisor to Rally Software, he has helped entrepreneurial teams and large, distributed, multinational corporations implement Agile methods at scale. He is the author of Scaling Software Agility: Best Practices for Large Enterprises (Addison-Wesley, 2007) and is the lead author of Managing Software Requirements, Second Edition (Addison-Wesley, 2003), which has been translated into five languages.
Need help? Get in touch