Agile Estimating and Planning (Paperback)
暫譯: 敏捷估算與規劃(平裝本)

Mike Cohn

買這商品的人也買了...

相關主題

商品描述

Description

Do you spend too much time doing repetitive production tasks such as placing and replacing images, resizing them, dragging them from one document to another, and preparing images for printing instead of being creative? Do you use Adobe Acrobat and have a strong working knowledge of JavaScript? Then you're in luck. Since Adobe Creative Suite 2 was created with built-in support for scripting, virtually every repetitive or time-consuming task that creative professionals have to do in Acrobat can be streamlined or automated with the help of a script. This book describes how to use JavaScript to manipulate and extend Adobe Acrobat, and provides reference information for the JavaScript objects, properties, and functions defined by Adobe's applications. Now available in print for the first time, this book doesn't teach you how to write code in JavaScript, but if you're familiar with the scripting language, and want to start writing scripts for Acrobat, you'll appreciate having the most definitive, up-to-date referenceavailable. 

 

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 3

Why Do It? 5

What Makes a Good Plan? 8

What Makes Planning Agile? 9

Summary 10

Discussion Questions 10

Chapter 2: Why Planning Fails 11

Planning 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 21

An 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 35

Story Points Are Relative 36

Velocity 38

Summary 40

Discussion Questions 41

Chapter 5: Estimating in Ideal Days 43

Ideal 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 49

Estimates 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 61

Introducing 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 69

Considerations 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 79

Factors in Prioritization 80

Combining the Four Factors 86

Some Examples 86

Summary 88

Discussion Questions 89

Chapter 10: Financial Prioritization 91

Sources of Return 93

An Example: WebPayroll 96

Financial Measures 102

Comparing Returns 108

Summary 109

Discussion Questions 109

Chapter 11: Prioritizing Desirability 111

Kano Model of Customer Satisfaction 112

Relative Weighting: Another Approach 117

Summary 119

Discussion Questions 120

Chapter 12: Splitting User Stories 121

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

The Release Plan 134

Updating the Release Plan 138

An Example 139

Summary 142

Discussion Questions 143

Chapter 14: Iteration Planning 145

Tasks 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 167

Factors in Selecting an Iteration Length 167

Making a Decision 171

Two Case Studies 173

Summary 175

Discussion Questions 176

Chapter 16: Estimating Velocity 177

Use 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 187

Feature 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 203

Establishing 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 215

Tracking the Release 216

Release Burndown Charts 219

A Parking-Lot Chart 224

Summary 225

Discussion Questions 226

Chapter 20: Monitoring the Iteration Plan 227

The Task Board 227

Iteration Burndown Charts 230

Tracking Effort Expended 231

Individual Velocity 232

Summary 232

Discussion Questions 233

Chapter 21: Communicating about Plans 235

Communicating 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 249

Replanning 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 261

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

商品描述(中文翻譯)

描述
您是否花太多時間在重複的生產任務上,例如放置和替換圖像、調整圖像大小、將圖像從一個文檔拖到另一個文檔,以及準備圖像以便打印,而不是進行創造性工作?您是否使用 Adobe Acrobat 並對 JavaScript 有深入的了解?那麼您很幸運。由於 Adobe Creative Suite 2 內建了腳本支持,幾乎所有創意專業人士在 Acrobat 中必須執行的重複或耗時任務都可以通過腳本進行簡化或自動化。本書描述了如何使用 JavaScript 操作和擴展 Adobe Acrobat,並提供了 Adobe 應用程序定義的 JavaScript 對象、屬性和函數的參考信息。這本書首次以印刷形式發行,並不教您如何編寫 JavaScript 代碼,但如果您熟悉這種腳本語言並希望開始為 Acrobat 編寫腳本,您會感謝擁有這本最權威、最新的參考資料。

目錄
關於作者 xvii
羅伯特·C·馬丁的前言 xix
吉姆·海史密斯的前言 xxi
加布里埃爾·貝內菲爾德的前言 xxv
致謝 xxvii
導言 xxix
第一部分:問題與目標 1
第 1 章:規劃的目的 3
為什麼要這樣做? 5
什麼是好的計劃? 8
什麼使規劃變得敏捷? 9
總結 10
討論問題 10
第 2 章:為什麼規劃失敗 11
規劃是基於活動而非特徵 12
多任務處理導致進一步延遲 15
特徵未按優先級開發 17
我們忽視不確定性 17
估算變成承諾 18
總結 18
討論問題 19
第 3 章:敏捷方法 21
項目的敏捷方法 23
規劃的敏捷方法 27
總結 31
討論問題 32
第二部分:估算大小 33
第 4 章:使用故事點估算大小 35
故事點是相對的 36
速度 38
總結 40
討論問題 41
第 5 章:以理想天數進行估算 43
理想時間與軟體開發 44
理想天數作為大小的衡量 46
一個估算,而不是多個 46
總結 47
討論問題 47
第 6 章:估算技術 49
估算是共享的 51
估算尺度 52
推導估算 54
計劃撲克 56
為什麼計劃撲克有效 59
總結 60
討論問題 60
第 7 章:重新估算 61
介紹 SwimStats 網站 61
何時不重新估算 62
何時重新估算 64
對部分完成的故事進行重新估算 66
重新估算的目的 67
總結 67
討論問題 67
第 8 章:在故事點和理想天數之間選擇 69
支持故事點的考量 69
支持理想天數的考量 72
建議 73
總結 74
討論問題 75
第三部分:為價值規劃 77
第 9 章:優先考慮主題 79
優先考慮的因素 80
結合四個因素 86
一些例子 86
總結 88
討論問題 89
第 10 章:財務優先考慮 91
回報來源 93
範例:WebPayroll 96
財務指標 102
比較回報 108
總結 109
討論問題 109
第 11 章:優先考慮可取性 111
Kano 客戶滿意度模型 112
相對權重:另一種方法 117
總結 119
討論問題 120
第 12 章:拆分用戶故事 121
何時拆分用戶故事 121
跨數據邊界拆分 122
在操作邊界上拆分 124
消除交叉關注 125
不滿足性能約束 126
拆分混合優先級的故事 127
不要將故事拆分為任務 127
避免相關變更的誘惑 128
合併故事 128
總結 129
討論問題 129
第四部分:排程 131
第 13 章:發佈計劃要素 133
發佈計劃 134
更新發佈計劃 138
範例 139
總結 142
討論問題 143
第 14 章:迭代規劃 145
在迭代規劃期間不分配任務 147
迭代與發佈規劃的區別 148
基於速度的迭代規劃 149
基於承諾的迭代規劃 158
我的建議 162
將任務估算與故事點相關聯 163
總結 165
討論問題 166
第 15 章:選擇迭代長度 167
選擇迭代長度的因素 167
做出決策 171
兩個案例研究 173
總結 175
討論問題 176
第 16 章:估算速度 177
使用歷史數據 178
執行一次迭代 179
做出預測 181
我應該使用哪種方法? 185
總結 186
討論問題 186
第 17 章:為不確定性緩衝計劃 187
特徵緩衝 188
排程緩衝 189
結合緩衝 198
排程緩衝不是填充 199
一些注意事項 199
總結 200
討論問題 201
第 18 章:規劃多團隊項目 203
建立估算的共同基礎 204
更早地為用戶故事添加細節 205
前瞻性規劃 206
將供應緩衝納入計劃 208
但這工作量太大了 210
總結 210
討論問題 211
第五部分:追蹤與溝通 213
第 19 章:監控發佈計劃 215
追蹤發佈 216
發佈燃盡圖 219
停車場圖 224
總結 225
討論問題 226
第 20 章:監控迭代計劃 227
任務板 227
迭代燃盡圖 230
追蹤所花費的努力 231
個人速度 232
總結 232
討論問題 233
第 21 章:溝通計劃 235
溝通計劃 237
溝通進度 238
迭代結束摘要 241
總結 244
討論問題 245
第六部分:為什麼敏捷規劃有效 247
第 22 章:為什麼敏捷規劃有效 249
重新規劃經常發生 249
大小和持續時間的估算是分開的 250
計劃是在不同層級上制定的 251
計劃是基於特徵,而不是任務 252
小故事保持工作流動 252
每次迭代都消除在製作中的工作 252
追蹤是在團隊層級 253
承認並計劃不確定性 253
敏捷估算和規劃的十二條指導方針 254
總結 256
討論問題 257
第七部分:案例研究 259
第 23 章:案例研究:Bomb Shelter Studios 261
第 1 天—星期一早上 262
估算用戶故事 270
準備產品研究 281
迭代與發佈規劃,第 1 輪 284
兩週後 302
規劃第二次迭代 303
兩週後 305
修訂發佈計劃 305
向 Phil 提交修訂計劃 308
十八週後 312
參考文獻 313
索引 319