| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
About the Author | |
| |
| |
| |
Overview: The Big Picture | |
| |
| |
| |
A Brief History of Software Requirements Methods | |
| |
| |
Software Requirements in Context: Decades of Predictive, Waterfall-Like Processes | |
| |
| |
Iterative and Incremental Processes | |
| |
| |
Adaptive (Agile) Processes | |
| |
| |
Requirements Management in Agile Is Fundamentally Different | |
| |
| |
Enterprise-Scale Adaptive Processes | |
| |
| |
Introduction to Lean Software | |
| |
| |
Summary | |
| |
| |
| |
The Big Picture of Agile Requirements | |
| |
| |
The Big Picture Explained | |
| |
| |
Big Picture: Team Level | |
| |
| |
Big Picture: Program Level | |
| |
| |
Big-Picture Elements: Portfolio Level | |
| |
| |
Summary | |
| |
| |
| |
Agile Requirements for the Team | |
| |
| |
Introduction to the Team Level | |
| |
| |
Agile Team Roles and Responsibilities | |
| |
| |
User Stories and the Team Backlog | |
| |
| |
Acceptance Tests | |
| |
| |
Unit Tests | |
| |
| |
Summary | |
| |
| |
| |
Agile Requirements for the Program | |
| |
| |
Introduction to the Program Level | |
| |
| |
Organizing Agile Teams at Scale | |
| |
| |
Vision | |
| |
| |
Features | |
| |
| |
Nonfunctional Requirements | |
| |
| |
The Agile Release Train | |
| |
| |
Roadmap | |
| |
| |
Summary | |
| |
| |
| |
Agile Requirements for the Portfolio | |
| |
| |
Introduction to the Portfolio Level | |
| |
| |
Investment Themes | |
| |
| |
Portfolio Management Team | |
| |
| |
Epics and the Portfolio Backlog | |
| |
| |
Epics, Features, and Stories | |
| |
| |
Architectural Runway and Architectural Epics | |
| |
| |
Summary | |
| |
| |
Summary of the Full, Enterprise Requirements Information Model | |
| |
| |
Interlude: Case Study: Tendril Platform | |
| |
| |
Background for the Case Study | |
| |
| |
System Context Diagram | |
| |
| |
| |
Agile Requirements for the Team | |
| |
| |
| |
User Stories | |
| |
| |
Introduction | |
| |
| |
User Story Form | |
| |
| |
INVEST in Good User Stories | |
| |
| |
Splitting User Stories | |
| |
| |
Spikes | |
| |
| |
Technical Spikes and Functional Spikes | |
| |
| |
Story Modeling with Index Cards | |
| |
| |
Summary | |
| |
| |
| |
Stakeholders, User Personas, and User Experiences | |
| |
| |
Stakeholders | |
| |
| |
Identifying Stakeholders | |
| |
| |
User Personas | |
| |
| |
Agile and User Experience Development | |
| |
| |
Summary | |
| |
| |
| |
Agile Estimating and Velocity | |
| |
| |
Introduction | |
| |
| |
Why Estimate? The Business Value of Estimating | |
| |
| |
Estimating Scope with Story Points | |
| |
| |
Understanding Story Points: An Exercise | |
| |
| |
An Alternate Technique: Tabletop Relative Estimation | |
| |
| |
From Scope Estimates to Team Velocity | |
| |
| |
Caveats on the Relative Estimating Model | |
| |
| |
From Velocity to Schedule and Cost | |
| |
| |
Estimating with Ideal Developer Days | |
| |
| |
A Hybrid Model | |
| |
| |
Summary | |
| |
| |
| |
Iterating, Backlog, Throughput, and Kanban | |
| |
| |
Iterating: The Heartbeat of Agility | |
| |
| |
Backlog, Lean, and Throughput | |
| |
| |
Software Kanban Systems | |
| |
| |
Summary | |
| |
| |
| |
Acceptance Testing | |
| |
| |
Why Write About Testing in an Agile Requirements Book? | |
| |
| |
Agile Testing Overview | |
| |
| |
What Is Acceptance Testing? | |
| |
| |
Characteristics of Good Story Acceptance Tests | |
| |
| |
Acceptance Test-Driven Development | |
| |
| |
Acceptance Test Template | |
| |
| |
Automated Acceptance Testing | |
| |
| |
Unit and Component Testing | |
| |
| |
Summary | |
| |
| |
| |
Role of the Product Owner | |
| |
| |
Is This a New Role? | |
| |
| |
Perspectives on Dual Roles of Product Owner and Product Manager | |
| |
| |
Responsibilities of the Product Owner in the Enterprise | |
| |
| |
Five Essential Attributes of a Good Product Owner | |
| |
| |
Collaboration with Product Managers | |
| |
| |
Product Owner Bottlenecks: Part-Time Product Owners, Product Owner Proxies, Product Owner Teams | |
| |
| |
Seeding the Product Owner Role in the Enterprise | |
| |
| |
Summary | |
| |
| |
| |
Requirements Discovery Toolkit | |
| |
| |
The Requirements Workshop | |
| |
| |
Brainstorming | |
| |
| |
Interviews and Questionnaires | |
| |
| |
User Experience Mock-Ups | |
| |
| |
Forming a Product Council | |
| |
| |
Competitive Analysis | |
| |
| |
Customer Change Request Systems | |
| |
| |
Use-Case Modeling | |
| |
| |
Summary | |
| |
| |
| |
Agile Requirements for the Program | |
| |
| |
| |
Vision, Features, and Roadmap | |
| |
| |
Vision | |
| |
| |
Expressing the Vision | |
| |
| |
Features | |
| |
| |
Estimating Features | |
| |
| |
Testing Features | |
| |
| |
Prioritizing Features | |
| |
| |
The Roadmap | |
| |
| |
Summary | |
| |
| |
| |
Role of the Product Manager | |
| |
| |
Product Manager, Business Analyst? | |
| |
| |
Responsibilities of the Product Manager in a Product Company | |
| |
| |
Business Responsibilities of the Role in the IT/IS Shop | |
| |
| |
Responsibility Summary | |
| |
| |
Phases of Product Management Disillusionment in the Pre-Agile Enterprise | |
| |
| |
Evolving Product Management in the Agile Enterprise | |
| |
| |
Responsibilities of the Agile Product Manager | |
| |
| |
Summary | |
| |
| |
| |
The Agile Release Train | |
| |
| |
Introduction to the Agile Release Train | |
| |
| |
Driving Strategic Alignment | |
| |
| |
Institutionalizing Product Development Flow | |
| |
| |
Designing the Agile Release Train | |
| |
| |
Planning the Release | |
| |
| |
Tracking and Managing the Release | |
| |
| |
Release Retrospective | |
| |
| |
Measuring Release Predictability | |
| |
| |
Releasing | |
| |
| |
Summary | |
| |
| |
| |
Release Planning | |
| |
| |
Preparing for Release Planning | |
| |
| |
Release Planning Narrative, Day 1 | |
| |
| |
Release Planning Narrative, Day 2 | |
| |
| |
Stretch Goals | |
| |
| |
Summary | |
| |
| |
| |
Nonfunctional Requirements | |
| |
| |
Modeling Nonfunctional Requirements | |
| |
| |
Exploring Nonfunctional Requirements | |
| |
| |
Persisting Nonfunctional Requirements | |
| |
| |
Testing Nonfunctional Requirements | |
| |
| |
Template for an NFR Specification | |
| |
| |
Summary | |
| |
| |
| |
Requirements Analysis Toolkit | |
| |
| |
Activity Diagrams | |
| |
| |
Sample Reports | |
| |
| |
Pseudocode | |
| |
| |
Decision Tables and Decision Trees | |
| |
| |
Finite State Machines | |
| |
| |
Message Sequence Diagrams | |
| |
| |
Entity-Relationship Diagrams | |
| |
| |
Use-Case Modeling | |
| |
| |
Summary | |
| |
| |
| |
Use Cases | |
| |
| |
The Problems with User Stories and Backlog Items | |
| |
| |
Five Good Reason to Still Use Use Cases | |
| |
| |
Use Case Basics | |
| |
| |
A Use Case Example | |
| |
| |
Applying Use Cases | |
| |
| |
Use Cases in the Agile Requirements Information Model | |
| |
| |
Summary | |
| |
| |
| |
Agile Requirements for the Portfolio | |
| |
| |
| |
Agile Architecture | |
| |
| |
Introduction to the Portfolio Level of the Big Picture | |
| |
| |
Systems Architecture in Enterprise-Class Systems | |
| |
| |
Eight Principles of Agile Architecture | |
| |
| |
Implementing Architectural Epics | |
| |
| |
Splitting Architecture Epics | |
| |
| |
Summary | |
| |
| |
| |
Rearchitecting with Flow | |
| |
| |
Architectural Epic Kanban System | |
| |
| |
Overview of the Architectural Epic Kanban System | |
| |
| |
| |
The Funnel: Problem/Solution Needs Identification | |
| |
| |
| |
Backlog | |
| |
| |
| |
Analysis | |
| |
| |
| |
Implementation | |
| |
| |
Summary | |
| |
| |
| |
Moving to Agile Portfolio Management | |
| |
| |
Portfolio Management | |
| |
| |
When Agile Teams Meet the PMO: Two Ships Pass in the Night | |
| |
| |
Legacy Mind-Sets Inhibit Enterprise Agility | |
| |
| |
Legacy Mind-Sets in Portfolio Management | |
| |
| |
Eight Recommendations for Moving to Agile Portfolio Management | |
| |
| |
Summary: On to Agile Portfolio Planning | |
| |
| |
| |
Investment Themes, Epics, and Portfolio Planning | |
| |
| |
Investment Themes | |
| |
| |
Epics | |
| |
| |
Identifying and Prioritizing Business Epics: A Kanban System for Portfolio Planning | |
| |
| |
Summary | |
| |
| |
| |
Conclusion | |
| |
| |
Further Information | |
| |
| |
| |
Context-Free Interview | |
| |
| |
| |
Vision Document Template | |
| |
| |
| |
Release Planning Readiness Checklist | |
| |
| |
| |
Agile Requirements Enterprise Backlog Meta-model | |
| |
| |
Bibliography | |
| |
| |
Index | |