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

$54.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$46.39

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com
Effective requirements discovery and analysis is a critical best practice for serious application development. Until now, however, requirements and Agile methods have rarely coexisted peacefully. For many enterprises considering Agile approaches, the absence of effective and scalable Agile requirements processes has been a showstopper for Agile adoption. In Agile Software Requirements, Dean Leffingwell shows exactly how to create effective requirements in Agile environments.
  • 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 of

Predictive, 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 32

Big 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 47

Agile 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 63

Organizing 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 83

Investment 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 93

System Context Diagram 95

 

Part II: Agile Requirements for the Team 97

 

Chapter 6: User Stories 99

Introduction 99

User 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 119

Identifying Stakeholders 122

User Personas 126

Agile and User Experience Development 129

Summary 133

 

Chapter 8: Agile Estimating and Velocity 135

Introduction 135

Why 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 155

Backlog, Lean, and Throughput 169

Software Kanban Systems 179

Summary 180

 

Chapter 10: Acceptance Testing 183

Why Write About Testing in an Agile Requirements Book? 183

Agile 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? 201

Perspectives 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 228

Brainstorming 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 251

Expressing 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? 276

Responsibilities 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 300

Driving 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 319

Release Planning Narrative, Day 1 322

Release Planning Narrative, Day 2 328

Stretch Goals 336

Summary 338

 

Chapter 17: Nonfunctional Requirements 339

Modeling Nonfunctional Requirements 340

Exploring 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 357

Sample 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 368

Five 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 383

Systems 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 408

Overview 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 429

When 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 450

Epics 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

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.