Cart

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

BRAND: PEARSON

Publisher:Addison-Wesley Professional
Author: Dean Leffingwell
Edition: (December 27, 2010) © 2011
eBook ISBN:9780321685407
Print ISBN: 9780321635846
Type: 1 Year Subscription. Dành cho Cá nhân 

eBook edition. 1 Year Subscription. Dành cho Cá nhân  |  Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In  

Số lượng:
Tổng tiền:
Giá có thể thay đổi bất kỳ khi nào.
Thời hạn giao hàng: 03 ngày làm việc với sách eBook và 30 ngày với sách In. Gọi để được Tư vấn Giáo Trình.

Mô tả sản phẩm


Phát hiện và phân tích yêu cầu hiệu quả là phương pháp thực hành quan trọng nhất để phát triển ứng dụng nghiêm túc. Tuy nhiên, cho đến nay, các yêu cầu và phương pháp Agile hiếm khi cùng tồn tại một cách hòa bình. Đối với nhiều doanh nghiệp đang xem xét các phương pháp tiếp cận Agile, việc thiếu các quy trình yêu cầu Agile hiệu quả và có thể mở rộng đã là yếu tố cản trở việc áp dụng Agile. Trong Yêu cầu phần mềm linh hoạt, Dean Leffingwell chỉ ra chính xác cách tạo ra các yêu cầu hiệu quả trong môi trường Agile.
 

Phần I trình bày “bức tranh toàn cảnh” về các yêu cầu Agile trong doanh nghiệp và mô tả mô hình quy trình tổng thể cho các yêu cầu Agile ở cấp độ nhóm dự án, chương trình và danh mục đầu tư
 

Phần II mô tả một mô hình đơn giản, nhẹ nhàng nhưng toàn diện mà các nhóm dự án Agile có thể sử dụng để quản lý các yêu cầu
 

Phần III trình bày cách phát triển các yêu cầu Agile cho các hệ thống phức tạp đòi hỏi sự hợp tác của nhiều nhóm
 

Phần IV hướng dẫn doanh nghiệp phát triển các yêu cầu Agile cho “hệ thống của hệ thống”, bộ ứng dụng và danh mục sản phẩm ngày càng lớn hơn


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

TỔNG QUAN SÁCH

Phát hiện và phân tích yêu cầu hiệu quả là phương pháp thực hành quan trọng nhất để phát triển ứng dụng nghiêm túc. Tuy nhiên, cho đến nay, các yêu cầu và phương pháp Agile hiếm khi cùng tồn tại một cách hòa bình. Đối với nhiều doanh nghiệp đang xem xét các phương pháp tiếp cận Agile, việc thiếu các quy trình yêu cầu Agile hiệu quả và có thể mở rộng đã là yếu tố cản trở việc áp dụng Agile. Trong Yêu cầu phần mềm linh hoạt, Dean Leffingwell chỉ ra chính xác cách tạo ra các yêu cầu hiệu quả trong môi trường Agile.
 

Phần I trình bày “bức tranh toàn cảnh” về các yêu cầu Agile trong doanh nghiệp và mô tả mô hình quy trình tổng thể cho các yêu cầu Agile ở cấp độ nhóm dự án, chương trình và danh mục đầu tư
 

Phần II mô tả một mô hình đơn giản, nhẹ nhàng nhưng toàn diện mà các nhóm dự án Agile có thể sử dụng để quản lý các yêu cầu
 

Phần III trình bày cách phát triển các yêu cầu Agile cho các hệ thống phức tạp đòi hỏi sự hợp tác của nhiều nhóm
 

Phần IV hướng dẫn doanh nghiệp phát triển các yêu cầu Agile cho “hệ thống của hệ thống”, bộ ứng dụng và danh mục sản phẩm ngày càng lớn hơn

MỤC LỤC

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

-%
0₫ 0₫
0915920514
0915920514