Skip to main content Site map

Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise


Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise

Hardback by Leffingwell, Dean

Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise

£42.99

ISBN:
9780321635846
Publication Date:
3 Feb 2011
Language:
English
Publisher:
Pearson Education (US)
Imprint:
Addison-Wesley Educational Publishers Inc
Pages:
560 pages
Format:
Hardback
For delivery:
Estimated despatch 9 - 10 May 2024
Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise

Description

"We need better approaches to understanding and managing software requirements, and Dean provides them in this book. He draws ideas from three very useful intellectual pools: classical management practices, Agile methods, and lean product development. By combining the strengths of these three approaches, he has produced something that works better than any one in isolation." -From the Foreword by Don Reinertsen, President of Reinertsen & Associates; author of Managing the Design Factory; and leading expert on rapid product development 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 This book will help you leverage the benefits of Agile without sacrificing the value of effective requirements discovery and analysis. You'll find proven solutions you can apply right now-whether you're a software developer or tester, executive, project/program manager, architect, or team leader.

Contents

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

Back

University of Sunderland logo