第1章 敏捷软件开发的历史及价值观 1
软件开发方法的缘起 1
敏捷软件开发方法的兴起 2
敏捷宣言 3
开曼设计公司 6
结论 6
总结 7
Robert Martin(Bob大叔)访谈 7
参考资料及延伸阅读 10
复习题 11
第2章 敏捷型组织文化的注意事项 12
什么是组织文化,它为什么重要 13
团队成员的视角 13
差别在哪 13
成功 18
失败/风险 21
经理的视角 23
差别在哪 23
成功 25
失败/风险 27
执行官的视角 29
差别在哪 29
成功 32
失败/风险 34
结论 36
总结 36
Scott Ambler访谈 38
参考资料及扩展阅读 39
复习题 40
第3章 理解不同类型的敏捷 42
极限编程(XP) 43
频繁发布,短周期开发 43
结对编程 45
定期构建、集成测试及快速反馈 45
Scrum 46
特性驱动开发 48
动态系统开发方法 49
精益软件开发 51
看板方法 52
水晶方法族 53
认证 55
开曼设计公司所实施的工具和技术 56
结论 57
总结 57
Alistair Cockburn访谈 58
参考资料及延伸阅读 60
复习题 61
第4章 敏捷方法中的不同角色 62
深入学习Scrum中的角色 62
产品负责人 63
Scrum master 67
Scrum团队 72
鸡和猪的故事 76
角色实例 77
扩展团队的成员 81
其他方法中的角色 82
项目发起人 82
需求收集人员 83
项目经理 83
团队教练 84
架构师或技术主管 84
开发团队 85
文档和培训人员 85
敏捷教练 86
看板 86
角色的实例 86
初创公司 87
中型公司 87
大型跨国公司 88
结论 90
总结 90
Roman Pichler访谈 92
Lyssa Adkins访谈 94
参考资料及延伸阅读 95
复习题 97
第5章 收集和记录需求的新方法 99
旧的收集需求的形式 100
Scrum中的敏捷需求 100
用户故事的格式 101
史诗 103
验收标准 105
编写用户故事的最佳实践 106
对其他方法的补充和思考 110
极限编程 110
动态系统开发方法 110
对需求的增强 111
引入用户角色 111
人机交互(HCI)和易用性 112
商业价值 113
从用户故事到可交付的产品 114
发布管理 115
特性管理——市场/销售vs…开发 115
客户定制代码 116
沟通 117
分享愿景 117
内部路线图和外部路线图 119
精益产品开发和最简可行产品(MVP) 121
结论 123
总结 123
Ellen Gottesdiener和Mary Gorman访谈 125
参考资料和扩展阅读 128
复习题 130
第6章 梳理和计划 131
产品待办事项列表(Scrum和XP) 132
特性驱动开发(FDD) 133
为故事排优先级 134
基于价值的排序 134
价值流图 135
莫斯科规则(MoSCoW) 135
Kano模型 136
估算 137
工作量水平(LOE)或T恤尺码法 137
理想时间(天或小时) 137
小时数 137
故事点 138
团队参与 139
Scrum:产品待办事项列表梳理会议 141
额外的输入 142
Scrum:Sprint计划会议 146
输入 146
计划会议 146
输出 147
鸡与猪的典故 147
极限编程:XP计划游戏 148
遗留代码的维护 148
在Sprint中预留时间 149
为维护指派一个团队 149
兵分两路 149
项目三角约束 150
看板 151
结论 151
总结 151
Mike Cohn访谈 153
参考资料和扩展阅读 155
复习题 157
第7章 测试、质量和集成 159
质量 159
建立以质量为中心的企业文化 160
测试驱动的开发(单元测试) 161
重构代码 162
一个TDD和重构的例子 163
更复杂的测试用例 170
用于比较的测试用例 173
手动、自动或用户测试 177
结论 181
总结 181
Tim Ottinget访谈 182
参考资料及延伸阅读 185
复习题 186
第8章 跟踪和报告 187
看板 188
看板 189
在制品(WIP)限额 189
跟踪 192
极限编程(XP) 192
燃图 192
信息辐射器 196
特性驱动开发(FDD)的停车场工具 197
其他流程图 198
跟踪质量 198
会议或仪式 200
每日立会 200
Sprint评审或演示 202
回顾会议 203
衡量敏捷的成功 204
结论 205
总结 205
Kent McDonald访谈 207
参考资料和扩展阅读 208
复习题 210
第9章 延伸到IT之外的敏捷 212
软件开发之外的产品 213
客户协作 213
响应变化 216
可工作软件 218
个体与交互 220
敏捷与市场对话 220
特性管理 220
有限的受众 222
持续增强 222
其他部门中的敏捷 222
广泛使用的工具 223
敏捷营销 224
结论 227
总结 227
Travis Arnold访谈 229
参考资料和扩展阅读 230
复习题 232
附录John Deere公司案例研究 234
术语表 241