目 录
Chapter 1 Introduction to Agile / 介绍敏捷 1
History of Agile / 敏捷的历史 3
Snowbird / 雪鸟会议 10
After Snowbird / 雪鸟会议之后 13
Agile Overview / 敏捷全貌 14
The Iron Cross / 铁十字 15
Charts on the Wall / 墙上的图 15
The First Thing You Know / 你知道的第 一件事 18
The Meeting / 会议 18
The Analysis Phase / 分析阶段 19
The Design Phase / 设计阶段 20
The Implementation Phase / 实施阶段 21
The Death March Phase / 死亡行军阶段 22
Hyperbole / 夸张吗 23
A Better Way / 更好的方式 23
Iteration Zero / 迭代0 24
Agile Produces Data / 敏捷产出数据 25
Hope versus Management / 幻想与管理 27
Managing the Iron Cross / 管理铁十字 27
Business Value Order / 业务价值排序 31
Here Endeth the Overview / 全貌至此结束 31
Circle of Life / 生命之环 31
Conclusion / 结论 35
Chapter 2 The Reasons for Agile / 敏捷的理由 37
Professionalism / 专业性 38
Software Is Everywhere / 到处是软件 39
We Rule the World / 程序员统治世界 41
The Disaster / 灾难 42
Reasonable Expectations / 合理的期望 43
We Will Not Ship Shyt! / 我们不会交付一堆垃圾! 43
Continuous Technical Readiness / 从技术上随时做好交付准备 45
Stable Productivity / 稳定的生产率 46
Inexpensive Adaptability / 划算的适应力 49
Continuous Improvement / 持续改进 50
Fearless Competence / 无畏之力 50
QA Should Find Nothing / QA应该什么也找不到 52
Test Automation / 测试自动化 52
We Cover for Each Other / 我们互相掩护 54
Honest Estimates / 诚实的估算 54
You Need to Say“No” / 你需要说“不” 55
Continuous Aggressive Learning / 持续主动地学习 55
Mentoring / 指导 56
The Bill of Rights / 权利条款 56
Customer Bill of Rights / 客户权利条款 56
Developer Bill of Rights / 开发人员权利条款 57
Customers / 客户权利详讨 57
Developers / 开发人员权利详讨 59
Conclusion / 结论 61
Chapter 3 Business Practices / 业务实践 63
Planning / 计划游戏 64
Trivariate Analysis / 三元分析 65
Stories and Points / 故事和点数 66
ATM Stories / ATM的故事 67
Stories / 故事 74
Story Estimation / 故事估算 76
Managing the Iteration / 对迭代进行管理 78
The Demo / 演示 80
Velocity / 速率 81
Small Releases / 小步发布 82
A Brief History of Source Code Control / 源代码控制简史 83
Tapes / 磁带 85
Disks and SCCS / 磁盘和源代码控制系统 85
Subversion 86
Git and Tests / Git与测试 87
Acceptance Tests / 验收测试 88
Tools and Methodologies / 工具和方法论 89
Behavior-Driven Development / 行为驱动开发 90
The Practice / 实践 90
Whole Team / 完整团队 93
Co-Location / 同一地点 94
Conclusion / 结论 96
Chapter 4 Team Practices / 团队实践 97
Metaphor / 隐喻 98
Domain-Driven Design / 领域驱动设计 99
Sustainable Pace / 可持续节奏 100
Overtime / 加班 102
Marathon / 马拉松 103
Dedication / 奉献精神 103
Sleep / 睡眠 104
Collective Ownership / 代码集体所有 104
The X Files / X档案 106
Continuous Integration / 持续集成 107
Then Came Continuous Build / 然后有了持续构建 108
The Continuous Build Discipline / 持续构建的纪律 109
Standup Meetings / 站会 110
Pigs and Chickens / 猪和鸡? 111
Shout-out / 公开表示认可 111
Conclusion / 结论 111
Chapter 5 Technical Practices / 技术实践 113
Test-Driven Development / 测试驱动开发 114
Double-Entry Bookkeeping / 复式记账 114
The Three Rules of TDD / TDD三规则 116
Debugging / 调试 117
Documentation / 文档 117
Fun / 乐趣 118
Completeness / 完备性 119
Design / 设计 121
Courage / 勇气 121
Refactoring / 重构 123
Red / Green / Refactor / 红-绿-重构 124
Bigger Refactorings / 大型重构 125
Simple Design / 简单设计 125
Design Weight / 设计的重量 127
Pair Programming / 结对编程 127
What Is Pairing / 什么是结对 128
Why Pair / 为什么结对 129
Pairing as Code Review / 结对当作代码评审 129
What about the Cost / 代价几何 130
Just Two / 只能两人吗 130
Management / 管理 130
Conclusion / 结论 131
Chapter 6 Becoming Agile / 成就敏捷 133
Agile Values / 敏捷的价值观 134
Courage / 勇气 134
Communication / 沟通 134
Feedback / 反馈 135
Simplicity / 简单 135
The Menagerie / 怪物博物馆 136
Transformation / 转型 137
The Subterfuge / 耍花招 138
The Lion Cubs / 幼狮 138
Weeping / 哭泣 139
Moral / 寓意 139
Faking It / 假装 139
Success in Smaller Organizations / 在更小的组织中成功 140
Individual Success and Migration / 个人成功和迁移 141
Creating Agile Organizations / 创建敏捷组织 141
Coaching / 教练辅导 142
Scrum Masters 143
Certification / 认证 143
Real Certification / 真正的认证 144
Agile in the Large / 大型组织中的敏捷 144
Agile Tools / 敏捷工具 148
Software Tools / 软件工具 148
What Makes for an Effective Tool / 什么才是有效的工具 149
Physical Agile Tools / 物理的敏捷工具 151
The Pressure to Automate / 自动化的压力 152
ALMs for the Not-Poor / 有钱人用的ALM类工具 153
Coaching—An Alternative View / 教练——另一个视角 155
The Many Paths to Agile / 条条大路通敏捷 155
From Process Expert to Agile Expert / 从过程专家到敏捷专家 156
The Need for Agile Coaching / 对敏捷教练的需求 157
Putting the Coach into Agile Coach / 将教练技术带给敏捷教练 158
Going Beyond the ICP-ACC / 超越ICP-ACC 158
Coaching Tools / 教练工具 159
Professional Coaching Skills Are Not Enough /
只有专业教练技巧是不够的 159
Coaching in a Multiteam Environment /
在多团队环境中进行敏捷教练的工作 160
Agile in the Large / 大型组织中的敏捷 161
Using Agile and Coaching to Become Agile /
使用敏捷和教练技术来变得敏捷 161
Growing Your Agile Adoption / 敏捷导入的成长 162
Going Big by Focusing on the Small / 细处着手成大事 164
The Future of Agile Coaching / 敏捷教练的未来 165
Conclusion (Bob Again) / 结论(鲍勃大叔回来了) 165
Chapter 7 Craftsmanship / 匠艺 167
The Agile Hangover / 敏捷的宿醉 169
Expectation Mismatch / 不孚所望 170
Moving Apart / 渐行渐远 172
Software Craftsmanship / 软件匠艺 173
Ideology versus Methodology / 思想体系与方法论 174
Does Software Craftsmanship Have Practices / 软件匠艺包含实践吗 175
Focus on the Value, Not the Practice / 聚焦于价值而非实践 176
Discussing Practices / 对实践的讨论 177
Craftsmanship Impact on Individuals / 匠艺对个人的影响 178
Craftsmanship Impact on Our Industry / 匠艺对行业的影响 179
Craftsmanship Impact on Companies / 匠艺对公司的影响 180
Craftsmanship and Agile / 匠艺与敏捷 181
Conclusion / 结论 182
Chapter 8 Conclusion / 结论 183
Afterword / 跋 185