Agile Estimating and Planning / Edition 1 available in Paperback, eBook

- ISBN-10:
- 0131479415
- ISBN-13:
- 9780131479418
- Pub. Date:
- 11/01/2005
- Publisher:
- Pearson Education
- ISBN-10:
- 0131479415
- ISBN-13:
- 9780131479418
- Pub. Date:
- 11/01/2005
- Publisher:
- Pearson Education

Buy New
$75.80Buy Used
$56.99
-
SHIP THIS ITEMIn stock. Ships in 6-10 days.PICK UP IN STORE
Your local store may have stock of this item.
Available within 2 business hours
$56.99-
SHIP THIS ITEM
Temporarily Out of Stock Online
Please check back later for updated availability.
Overview
Agile Estimating and Planning is the definitive, practical guide to estimating and planning agile projects. In this book, Agile Alliance cofounder Mike Cohn discusses the philosophy of agile estimating and planning and shows you exactly how to get the job done, with real-world examples and case studies.
Concepts are clearly illustrated and readers are guided, step by step, toward how to answer the following questions: What will we build? How big will it be? When must it be done? How much can I really complete by then? You will first learn what makes a good plan-and then what makes it agile.
Using the techniques in Agile Estimating and Planning, you can stay agile from start to finish, saving time, conserving resources, and accomplishing more. Highlights include:
- Why conventional prescriptive planning fails and why agile planning works
- How to estimate feature size using story points and ideal daysand when to use each
- How and when to re-estimate
- How to prioritize features using both financial and nonfinancial approaches
- How to split large features into smaller, more manageable ones
- How to plan iterations and predict your team's initial rate of progress
- How to schedule projects that have unusually high uncertainty or schedule-related risk
- How to estimate projects that will be worked on by multiple teams
Agile Estimating and Planning supports any agile, semiagile, or iterative process, including Scrum, XP, Feature-Driven Development, Crystal, Adaptive Software Development, DSDM, Unified Process, and many more. It will be an indispensable resource for every development manager, team leader, and team member.
Product Details
ISBN-13: | 9780131479418 |
---|---|
Publisher: | Pearson Education |
Publication date: | 11/01/2005 |
Series: | Robert C. Martin Series |
Edition description: | New Edition |
Pages: | 368 |
Product dimensions: | 7.00(w) x 9.15(h) x 0.75(d) |
About the Author
Read an Excerpt
This book could have been called Estimating and Planning Agile Projects. Instead, it's called Agile Estimating and Planning. The difference may appear subtle, but it's not. The title makes it clear that the estimating and planning processes must themselves be agile. Without agile estimating and planning, we cannot have agile projects.
The book is mostly about planning, which I view as answering the question of "What should we build and by when?" However, to answer questions about planning we must also address questions of estimating ("How big is this?") and scheduling ("When will this be done?" and "How much can I have by then?").
This book is organized in seven parts and twenty-three chapters. Each chapter ends with a summary of key points and with a set of discussion questions. Because estimating and planning are meant to be whole-team activities, one of the ways I hope this book will be read is by teams who meet perhaps weekly to discuss what they've read and the questions at the end of each chapter. Because agile software development is popular worldwide, I have tried to avoid writing an overly United States-centric book. To that end, I have used the universal currency symbol, writing amounts such as ¤500 instead of perhaps $500 or €500 and so on.
Part I describes why planning is important, the problems we often encounter, and the goals of an agile approach. Chapter 1 begins the book by describing the purpose of planning, what makes a good plan, and what makes planning agile. The most important reasons why traditional approaches to estimating and planning lead to unsatisfactory results are described in Chapter 2. Finally, Chapter 3 begins with a briefrecap of what agility means and then describes the high-level approach to agile estimating and planning taken by the rest of this book.
The second part introduces a main tenet of estimating, that estimates of size and duration should be kept separate. Chapters 4 and 5 introduce story points and ideal days, two units appropriate for estimating the size of the features to be developed. Chapter 6 describes techniques for estimating in story points and ideal days, and includes a description of planning poker. Chapter 7 describes when and how to re-estimate, and Chapter 8 offers advice on choosing between story points and ideal days.
Part III, "Planning for Value," offers advice on how a project team can make sure they are building the best possible product. Chapter 9 describes the mix of factors that need to be considered when prioritizing features. Chapter 10 presents an approach for modeling the financial return from a feature or feature set and how to compare financial returns so that the team works on the most valuable items first. Chapter 11 includes advice on how to assess and then prioritize the desirability of features to a product's users. Chapter 12 concludes this part with advice on how to split large features into smaller, more manageable ones.
In Part IV, we shift our attention and focus on questions around scheduling a project. Chapter 13 begins by looking at the steps involved in scheduling a relatively simple, single-team project. Next, Chapter 14 looks at how to plan an iteration. Chapters 15 and 16 look at how to select an appropriate iteration length for the project and how to estimate a team's initial rate of progress. Chapter 17 looks in detail at how to schedule a project with either a high amount of uncertainty or a greater implication to being wrong about the schedule. This part concludes with Chapter 18, which describes the additional steps necessary in estimating and planning a project being worked on by multiple teams.
Once a plan has been established, it must be communicated to the rest of the organization and the team's progress against it monitored. These are the topics of the three chapters of Part V. Chapter 19 looks specifically at monitoring the release plan, while Chapter 20 looks at monitoring the iteration plan. The final chapter in this part, Chapter 21, deals specifically with communicating about the plan and progress toward it.
Chapter 22 is the lone chapter in Part VI. This chapter argues the case for why agile estimating and planning work and stands as a counterpart to Chapter 2, which describes why traditional approaches fail so often.
Part VII, the final part, includes only one chapter. Chapter 23 is an extended case study that reasserts the main points of this book but does so in a fictional setting.
Table of Contents
About the Author xvii Foreword by Robert C. Martin xix Foreword by Jim Highsmith xxi Foreword by Gabrielle Benefield xxv Acknowledgments xxvii Introduction xxix Part I: The Problem and the Goal 1 Chapter 1: The Purpose of Planning 3Why Do It? 5
What Makes a Good Plan? 8
What Makes Planning Agile? 9
Summary 10
Discussion Questions 10
Chapter 2: Why Planning Fails 11Planning Is by Activity Rather Than Feature 12
Multitasking Causes Further Delays 15
Features Are Not Developed by Priority 17
We Ignore Uncertainty 17
Estimates Become Commitments 18
Summary 18
Discussion Questions 19
Chapter 3: An Agile Approach 21An Agile Approach to Projects 23
An Agile Approach to Planning 27
Summary 31
Discussion Questions 32
Part II: Estimating Size 33 Chapter 4: Estimating Size with Story Points 35Story Points Are Relative 36
Velocity 38
Summary 40
Discussion Questions 41
Chapter 5: Estimating in Ideal Days 43Ideal Time and Software Development 44
Ideal Days as a Measure of Size 46
One Estimate, Not Many 46
Summary 47
Discussion Questions 47
Chapter 6: Techniques for Estimating 49Estimates Are Shared 51
The Estimation Scale 52
Deriving an Estimate 54
Planning Poker 56
Why Planning Poker Works 59
Summary 60
Discussion Questions 60
Chapter 7: Re-Estimating 61Introducing the SwimStats Website 61
When Not to Re-Estimate 62
When to Re-Estimate 64
Re-Estimating Partially Completed Stories 66
The Purpose of Re-Estimating 67
Summary 67
Discussion Questions 67
Chapter 8: Choosing between Story Points and Ideal Days 69Considerations Favoring Story Points 69
Considerations Favoring Ideal Days 72
Recommendation 73
Summary 74
Discussion Questions 75
Part III: Planning for Value 77 Chapter 9: Prioritizing Themes 79Factors in Prioritization 80
Combining the Four Factors 86
Some Examples 86
Summary 88
Discussion Questions 89
Chapter 10: Financial Prioritization 91Sources of Return 93
An Example: WebPayroll 96
Financial Measures 102
Comparing Returns 108
Summary 109
Discussion Questions 109
Chapter 11: Prioritizing Desirability 111Kano Model of Customer Satisfaction 112
Relative Weighting: Another Approach 117
Summary 119
Discussion Questions 120
Chapter 12: Splitting User Stories 121When to Split a User Story 121
Splitting across Data Boundaries 122
Splitting on Operational Boundaries 124
Removing Cross-Cutting Concerns 125
Don't Meet Performance Constraints 126
Split Stories of Mixed Priority 127
Don't Split a Story into Tasks 127
Avoid the Temptation of Related Changes 128
Combining Stories 128
Summary 129
Discussion Questions 129
Part IV: Scheduling 131 Chapter 13: Release Planning Essentials 133The Release Plan 134
Updating the Release Plan 138
An Example 139
Summary 142
Discussion Questions 143
Chapter 14: Iteration Planning 145Tasks Are Not Allocated During Iteration Planning 147
How Iteration and Release Planning Differ 148
Velocity-Driven Iteration Planning 149
Commitment-Driven Iteration Planning 158
My Recommendation 162
Relating Task Estimates to Story Points 163
Summary 165
Discussion Questions 166
Chapter 15: Selecting an Iteration Length 167Factors in Selecting an Iteration Length 167
Making a Decision 171
Two Case Studies 173
Summary 175
Discussion Questions 176
Chapter 16: Estimating Velocity 177Use Historical Values 178
Run an Iteration 179
Make a Forecast 181
Which Approach Should I Use? 185
Summary 186
Discussion Questions 186
Chapter 17: Buffering Plans for Uncertainty 187Feature Buffers 188
Schedule Buffers 189
Combining Buffers 198
A Schedule Buffer Is Not Padding 199
Some Caveats 199
Summary 200
Discussion Questions 201
Chapter 18: Planning the Multiple-Team Project 203Establishing a Common Basis for Estimates 204
Adding Detail to User Stories Sooner 205
Lookahead Planning 206
Incorporating Feeding Buffers into the Plan 208
But This Is So Much Work 210
Summary 210
Discussion Questions 211
Part V: Tracking and Communicating 213 Chapter 19: Monitoring the Release Plan 215Tracking the Release 216
Release Burndown Charts 219
A Parking-Lot Chart 224
Summary 225
Discussion Questions 226
Chapter 20: Monitoring the Iteration Plan 227The Task Board 227
Iteration Burndown Charts 230
Tracking Effort Expended 231
Individual Velocity 232
Summary 232
Discussion Questions 233
Chapter 21: Communicating about Plans 235Communicating the Plan 237
Communicating Progress 238
An End-of-Iteration Summary 241
Summary 244
Discussion Questions 245
Part VI: Why Agile Planning Works 247 Chapter 22: Why Agile Planning Works 249Replanning Occurs Frequently 249
Estimates of Size and Duration Are Separated 250
Plans Are Made at Different Levels 251
Plans Are Based on Features, Not Tasks 252
Small Stories Keep Work Flowing 252
Work in Process Is Eliminated Every Iteration 252
Tracking Is at the Team Level 253
Uncertainty Is Acknowledged and Planned For 253
A Dozen Guidelines for Agile Estimating and Planning 254
Summary 256
Discussion Questions 257
Part VII: A Case Study 259 Chapter 23: A Case Study: Bomb Shelter Studios 261Day 1—Monday Morning 262
Estimating the User Stories 270
Preparing for Product Research 281
Iteration and Release Planning, Round 1 284
Two Weeks Later 302
Planning the Second Iteration 303
Two Weeks Later 305
Revising the Release Plan 305
Presenting the Revised Plan to Phil 308
Eighteen Weeks Later 312
Reference List 313 Index 319Preface
This book could have been called Estimating and Planning Agile Projects. Instead, it's called Agile Estimating and Planning. The difference may appear subtle, but it's not. The title makes it clear that the estimating and planning processes must themselves be agile. Without agile estimating and planning, we cannot have agile projects.
The book is mostly about planning, which I view as answering the question of 'What should we build and by when?' However, to answer questions about planning we must also address questions of estimating ('How big is this?') and scheduling ('When will this be done?' and 'How much can I have by then?').
This book is organized in seven parts and twenty-three chapters. Each chapter ends with a summary of key points and with a set of discussion questions. Because estimating and planning are meant to be whole-team activities, one of the ways I hope this book will be read is by teams who meet perhaps weekly to discuss what they've read and the questions at the end of each chapter. Because agile software development is popular worldwide, I have tried to avoid writing an overly United States-centric book. To that end, I have used the universal currency symbol, writing amounts such as ¤500 instead of perhaps $500 or €500 and so on.
Part I describes why planning is important, the problems we often encounter, and the goals of an agile approach. Chapter 1 begins the book by describing the purpose of planning, what makes a good plan, and what makes planning agile. The most important reasons why traditional approaches to estimating and planning lead to unsatisfactory results are described in Chapter 2. Finally, Chapter 3 begins with a brief recap of what agility means and then describes the high-level approach to agile estimating and planning taken by the rest of this book.
The second part introduces a main tenet of estimating, that estimates of size and duration should be kept separate. Chapters 4 and 5 introduce story points and ideal days, two units appropriate for estimating the size of the features to be developed. Chapter 6 describes techniques for estimating in story points and ideal days, and includes a description of planning poker. Chapter 7 describes when and how to re-estimate, and Chapter 8 offers advice on choosing between story points and ideal days.
Part III, 'Planning for Value,' offers advice on how a project team can make sure they are building the best possible product. Chapter 9 describes the mix of factors that need to be considered when prioritizing features. Chapter 10 presents an approach for modeling the financial return from a feature or feature set and how to compare financial returns so that the team works on the most valuable items first. Chapter 11 includes advice on how to assess and then prioritize the desirability of features to a product's users. Chapter 12 concludes this part with advice on how to split large features into smaller, more manageable ones.
In Part IV, we shift our attention and focus on questions around scheduling a project. Chapter 13 begins by looking at the steps involved in scheduling a relatively simple, single-team project. Next, Chapter 14 looks at how to plan an iteration. Chapters 15 and 16 look at how to select an appropriate iteration length for the project and how to estimate a team's initial rate of progress. Chapter 17 looks in detail at how to schedule a project with either a high amount of uncertainty or a greater implication to being wrong about the schedule. This part concludes with Chapter 18, which describes the additional steps necessary in estimating and planning a project being worked on by multiple teams.
Once a plan has been established, it must be communicated to the rest of the organization and the team's progress against it monitored. These are the topics of the three chapters of Part V. Chapter 19 looks specifically at monitoring the release plan, while Chapter 20 looks at monitoring the iteration plan. The final chapter in this part, Chapter 21, deals specifically with communicating about the plan and progress toward it.
Chapter 22 is the lone chapter in Part VI. This chapter argues the case for why agile estimating and planning work and stands as a counterpart to Chapter 2, which describes why traditional approaches fail so often.
Part VII, the final part, includes only one chapter. Chapter 23 is an extended case study that reasserts the main points of this book but does so in a fictional setting.