第1章 敏捷——高效软件开发之道 1
第2章 态度决定一切 10
1 做事 12
2 欲速则不达 15
3 对事不对人 18
4 排除万难,奋勇前进 23
第3章 学无止境 26
5 跟踪变化 28
6 对团队投资 31
7 懂得丢弃 34
8 打破砂锅问到底 37
9 把握开发节奏 40
第4章 交付用户想要的软件 43
10 让客户做决定 45
11 让设计指导而不是操纵开发 48
12 合理地使用技术 52
13 保持可以发布 55
14 提早集成,频繁集成 58
15 提早实现自动化部署 61
16 使用演示获得频繁反馈 64
17 使用短迭代,增量发布 69
18 固定的价格就意味着背叛承诺 73
第5章 敏捷反馈 76
19 守护天使 78
20 先用它再实现它 82
21 不同环境,就有不同问题 87
22 自动验收测试 90
23 度量真实的进度 93
24 倾听用户的声音 96
第6章 敏捷编码 98
25 代码要清晰地表达意图 100
26 用代码沟通 105
27 动态评估取舍 110
28 增量式编程 113
29 保持简单 115
30 编写内聚的代码 117
31 告知,不要询问 121
32 根据契约进行替换 124
第7章 敏捷调试 128
33 记录解决问题的日志 129
34 警告就是错误 132
35 对问题各个击破 136
36 报告所有的异常 139
37 提供有用的错误信息 141
第8章 敏捷协作 146
38 定期安排会面时间 148
39 架构师必须写代码 152
40 实行代码集体所有制 155
41 成为指导者 157
42 允许大家自己想办法 160
43 准备好后再共享代码 162
44 做代码复查 165
45 及时通报进展与问题 168
第9章 尾声:走向敏捷 170
9.1 只要一个新的习惯 170
9.2 拯救濒临失败的项目 171
9.3 引入敏捷:管理者指南 172
9.4 引入敏捷:程序员指南 174
9.5 结束了吗 175
附录 资源 176
索引 182