第一部分 敏捷分析:管理方法 2
第1章 敏捷分析概述 2
1.1 阿尔卑斯风格的系统开发 2
1.2 什么是敏捷分析 5
1.2.1 敏捷分析的含义 5
1.2.2 指导原则 7
1.2.3 传言与误解 7
1.3 数据仓库架构和技能 9
1.3.1 数据仓库概念架构 9
1.3.2 多样化、截然不同的技能 10
1.4 为什么我们需要敏捷分析 11
1.4.1 第一个事实:建立DW/BI系统是困难的 11
1.4.2 第二个事实:DW/BI开发项目经常失败 12
1.4.3 第三个事实:最好是快速失败和适应 13
1.4.4 敏捷真的很好吗 13
1.4.5 敏捷分析的困难 14
1.5 FlixBuster分析 15
1.6 小结 16
第2章 敏捷项目管理 18
2.1 什么是敏捷项目管理 19
2.2 连续性分阶段的DW/BI开发 22
2.3 设想—探索取代计划—执行 23
2.3.1 设想阶段 23
2.3.2 探索阶段 24
2.4 改变项目管理角色 26
2.5 搞清楚敏捷“口味”的意义 27
2.6 敏捷原则 28
2.6.1 恰到好处设计 29
2.6.2 同步日报 30
2.6.3 把每件事都放到时间盒子中 30
2.6.4 同处一室的团队 32
2.6.5 注重技术债 33
2.6.6 计划能力和监控速率 34
2.6.7 跟踪每日进展 35
2.6.8 监控故事完成,而不是任务时间 39
2.7 小结 40
第3章 社区、客户、协作 42
3.1 什么是敏捷社区和敏捷协作 43
3.2 敏捷项目社区 47
3.3 信任等级 49
3.4 协作机制 50
3.5 消费者协作 53
3.6 执行者协作 56
3.7 决策者协作 57
3.8 敏捷先决条件 58
3.9 小结 59
第4章 BI系统的用户故事 61
4.1 什么是用户故事 62
4.2 用户故事与需求 64
4.3 从角色到用例,再到用户故事 66
4.3.1 用户角色 67
4.3.2 用例建模 69
4.3.3 在事件流中找到用户故事 71
4.3.4 用例场景 72
4.4 分解叙事文 72
4.5 什么是最短小、最简单的用户故事 75
4.6 故事优先级和待办事项管理 79
4.6.1 基于价值来评定优先级 79
4.6.2 基于性能来评定优先级 80
4.6.3 评定优先级的过程 80
4.6.4 待办事项管理 81
4.7 评估故事的分值 82
4.8 停车场图表 85
4.9 小结 87
第5章 自我规划可以提升团队表现 88
5.1 什么是自我规划的团队 89
5.2 自我规划需要自律 93
5.3 自我规划需要责任共担 94
5.4 自我规划需要团队工作协议 95
5.5 自我规划需要遵守承诺 96
5.6 自我规划需要透明开发 98
5.7 自我规划需要遵守公司标准 99
5.8 小结 100
第二部分 敏捷分析:技术方法 102
第6章 不断发展卓越的设计 102
6.1 什么是进化设计 104
6.2 需要多少前期设计 107
6.3 敏捷建模 108
6.4 数据模型模式 110
6.5 管理技术债 112
6.6 重构 113
6.6.1 什么是重构 115
6.6.2 什么时候重构 117
6.6.3 如何重构 118
6.6.4 关于重构最后的话 119
6.7 部署仓库更改 120
6.7.1 蓝绿部署 121
6.7.2 数据库版本化 122
6.8 其他采用发展方法的原因 122
6.9 案例研究:自适应仓库架构 124
6.9.1 产品演变 125
6.9.2 架构概述 126
6.9.3 观察型消息模型 128
6.1 0小结 135
第7章 测试驱动的数据仓库开发 137
7.1 什么是敏捷分析测试 138
7.2 敏捷测试框架 140
7.3 BI自动化测试 143
7.3.1 BI测试过程 144
7.3.2 数据库测试工具 145
7.3.3 测试什么 148
7.4 沙箱开发 150
7.5 测试优先的BI开发 153
7.5.1 单元测试驱动开发 153
7.5.2 故事测试驱动的DW/BI开发 155
7.5.3 生成故事测试 155
7.6 BI测试指引 157
7.7 安装时刻 157
7.8 功能性的BI测试 158
7.9 小结 159
第8章 数据仓库的版本控制 160
8.1 什么是版本控制 161
8.2 存储库 164
8.2.1 什么数据要存储 164
8.2.2 什么数据不存储 165
8.3 用文件夹来工作 166
8.3.1 什么是版本 167
8.3.2 打标、分支、合并 168
8.3.3 解决冲突 169
8.4 组织管理存储库 171
8.4.1 注释文件 171
8.4.2 目录 172
8.5 打标和分支 174
8.5.1 什么时候打标和分支 174
8.5.2 为标签和分支命名 176
8.5.3 保持简单 178
8.6 选择有效的工具 179
8.7 小结 181
第9章 项目自动化 182
9.1 什么是项目自动化 183
9.2 快速入门 185
9.3 构建自动化 186
9.3.1 简易自动构建 187
9.3.2 更加先进的自动构建 189
9.3.3 什么时候开始 194
9.4 持续集成 195
9.4.1 构建频率 195
9.4.2 预设构建 196
9.4.3 触发构建 196
9.4.4 设置持续集成 197
9.5 按钮发布 200
9.5.1 什么是发布 200
9.5.2 准备发布 200
9.5.3 绑定发布 201
9.6 小结 204
第10章 最后的话 206
10.1 专注于真正的问题 206
10.2 做到敏捷和执行敏捷 207
10.3 粗糙问题 209
10.4 新兴技术 210
10.5 采用的策略 211
10.5.1 预见的混乱 211
10.5.2 领导责任 213
10.5.3 目标和商业校准 213
10.5.4 敏捷采用路标方式 213
10.5.5 培训和辅导 214
10.5.6 衡量成功 215
10.6 结束语 215
参考文献与推荐阅读 217