前言 1
第1部分 入门 11
第1章 为什么需要敏捷 11
理解成功 12
成功不只是如期完成 12
组织成功的重要性 13
走进敏捷 14
第2章 如何做到敏捷 17
敏捷方法 17
不要自己炮制方法 17
精通之道 19
寻找一位导师 20
第3章 理解XP 23
XP生命周期 26
XP团队 38
XP概念 51
第4章 采用XP 55
XP适合我们吗 55
现在开始! 64
评估你的敏捷度 77
第2部分 实践XP 85
第5章 思考 85
结对编程 87
精力充沛地工作 96
信息化工作场所 100
根源分析 105
回顾 108
第6章 协作 117
信任 119
坐到一起 131
真实客户参与 140
统一协作语言 144
站立会议 149
编码规范 153
迭代演示 159
汇报 165
第7章 发布 175
全部完成 178
没有bug 182
版本控制 192
十分钟构建 201
持续集成 208
代码集体所有制 217
文档 221
第8章 计划 227
愿景 229
发布计划 234
计划博弈 250
风险管理 255
迭代计划 265
松弛 279
故事 287
估算 295
第9章 开发 309
增量式需求 311
客户测试 316
测试驱动开发 324
重构 346
简单设计 358
增量设计和架构 366
试验方案 376
性能优化 380
探索性测试 386
第3部分 掌握敏捷 401
第10章 价值和原则 401
共性 401
关于价值、原则和实践 402
延伸阅读 403
第11章 改善过程 405
理解你的项目 405
调整和适配 406
打破规则 407
第12章 以人为本 411
建立有效的关系 411
让正确的人做正确的事 413
过程以人为本 414
第13章 消除浪费 417
基于短小的、可恢复的步骤工作 417
快速失败 419
最大化未完成的工作 421
寻求产能 422
第14章 交付价值 425
利用你的敏捷性 425
只有可发布的代码才有价值 427
交付商业结果 428
频繁交付 429
第15章 寻求技术卓越 431
软件从不存在 431
设计是为了理解 432
设计中的取舍 433
可以名状的优点 433
卓越的设计 434
普遍的设计原则 435
实践中的原则 438
追求精通 439
参考文献 441