第1章 概述 1
1.1什么是项目管理 2
1.1.1项目 2
1.1.2项目管理 5
1.1.3项目管理的起源 6
1.2项目管理的本质 7
1.2.1太多的软件项目失败 8
1.2.2失败和管理有着千丝万缕的关系 9
1.2.3项目管理的对象 9
1.2.4项目管理的成功要素 10
1.3项目管理基本方法 12
1.4项目的生命周期 13
1.5项目管理知识体系 14
1.5.1 PMBOK 14
1.5.2 PRINCE2 17
1.5.3 WWPMM 18
1.6软件项目管理 19
1.6.1软件项目管理的特点 19
1.6.2软件项目管理的目标和范围 21
1.6.3软件项目的分类 22
小结 23
习题 23
第2章 项目准备和启动 24
2.1项目建议书 25
2.2项目可行性分析 27
2.2.1可行性分析的前提 28
2.2.2可行性分析因素 28
2.2.3成本效益分析方法 29
2.2.4技术及风险分析方法 30
2.2.5可行性分析结论 30
2.3项目投标 33
2.4软件项目合同条款评审 34
2.4.1合同计费的种类 34
2.4.2合同条款评审 35
2.5软件开发模型 35
2.5.1瀑布模型 36
2.5.2快速原型实现模型 37
2.5.3从增量模型到敏捷方法 38
2.5.4极限编程 40
2.5.5行为驱动开发 42
2.5.6功能驱动开发 43
2.5.7敏捷开发模型Scrum 44
2.6软件项目组织结构和人员角色 47
2.6.1项目的组织结构 48
2.6.2软件项目的组织架构 49
2.6.3软件项目经理 52
2.6.4 QA与QC 53
2.7软件项目干系人 54
2.8软件项目启动动员会 55
小结 56
习题 56
实验1:软件开发梦想秀 58
实验2:编写用户故事及其验收测试标准 58
第3章 项目计划 60
3.1什么是项目计划 61
3.2项目计划的内容 62
3.2.1项目计划内容 62
3.2.2输出文档 64
3.3项目计划的方法 65
3.3.1滚动计划方法 65
3.3.2软件研发中滚动计划 67
3.3.3 WBS方法 68
3.3.4网络计划技术 71
3.4如何有效地完成项目计划 71
3.4.1软件项目特点 71
3.4.2项目计划的错误倾向 73
3.4.3项目计划的原则 74
3.4.4计划的输入 77
3.4.5计划的流程 78
3.5计划各项内容的制定 80
3.5.1确定项目范围 81
3.5.2策略制定 82
3.5.3资源计划 84
3.5.4进度计划 87
3.5.5成本计划 88
3.5.6风险计划 90
3.5.7质量计划 90
3.6项目计划工具 91
小结 94
习题 94
实验3:项目计划会议 95
第4章 项目估算 96
4.1项目估算的挑战 96
4.2项目估算的基本内容 97
4.3基本估算方法 98
4.4软件规模估算 99
4.4.1德尔菲法 99
4.4.2代码行估算方法 100
4.4.3功能点分析方法 101
4.4.4标准构件法 103
4.4.5综合讨论 103
4.5工作量估算 104
4.5.1 COCOMO方法 104
4.5.2多变量模型 106
4.5.3基于用例的工作量估计 107
4.5.4 IBM RMC估算方法 109
4.5.5扑克牌估算方法 112
4.5.6不同场景的估算法 113
4.6资源估算 115
4.7工期估算和安排 118
4.7.1工期估算方法 119
4.7.2特殊场景 119
4.8成本估算 120
4.8.1成本估算方法 120
4.8.2学习曲线 121
小结 122
习题 123
实验4:扑克牌估算工作量 124
第5章 项目进度和成本管理 125
5.1标识项目活动 125
5.2确定项目活动的次序 128
5.2.1项目活动之间的关系 128
5.2.2项目活动排序 130
5.2.3实例 131
5.3关键路径分析 132
5.3.1关键路径和关键活动的确定 132
5.3.2活动缓冲期的计算 132
5.3.3压缩工期 133
5.3.4准关键活动的标识 133
5.4网络模型的遍历 134
5.4.1正向遍历 134
5.4.2反向遍历 135
5.5里程碑 137
5.5.1什么是里程碑 137
5.5.2如何建立里程碑 138
5.5.3管理里程碑 142
5.6进度计划编制 143
5.6.1制定进度表 143
5.6.2进度编制策略 145
5.6.3进度编制方法 148
5.6.4审查、变更进度表 150
5.7进度和成本控制 151
5.7.1影响软件项目进度的因素 152
5.7.2软件项目进度控制 154
5.7.3进度管理之看板 156
5.7.4影响软件项目成本的因素 158
5.7.5成本控制的挣值管理 159
5.7.6软件项目进度——成本平衡 161
小结 161
习题 162
第6章 项目质量管理 163
6.1质量管理概述 164
6.2项目质量的组织保证 165
6.3质量计划 166
6.3.1质量计划的内容 167
6.3.2质量计划制定的步骤 168
6.3.3如何制定有效的质量计划 170
6.3.4质量计划的实施和控制 171
6.4软件评审方法和过程 171
6.4.1软件评审的方法和技术 172
6.4.2角色和责任 174
6.4.3软件评审过程 175
6.4.4如何有效地组织评审 177
6.5缺陷预防和跟踪分析 178
6.5.1缺陷预防 178
6.5.2缺陷分析 180
6.5.3鱼骨图 182
6.6质量度量 183
6.6.1度量要素 184
6.6.2基于缺陷的产品质量度量 185
6.7过程质量管理 186
6.7.1过程质量度量 187
6.7.2缺陷移除和预防 189
小结 190
习题 191
第7章 项目风险管理 192
7.1项目风险带来的警示 193
7.2什么是风险管理 195
7.3风险管理模型 197
7.4风险识别 200
7.4.1软件风险因素 200
7.4.2风险的分类 201
7.4.3风险识别的输入 203
7.4.4风险识别的方法和工具 204
7.4.5如何更好地识别风险 204
7.5风险评估 205
7.5.1风险度量的内容 206
7.5.2风险分析技术 207
7.6风险监控和规避 208
7.6.1风险应对 208
7.6.2风险监控 210
7.7风险管理的高级技术 211
7.7.1 VERT技术 211
7.7.2蒙特卡罗法 213
7.7.3 SWOT分析法 214
7.7.4关键链技术 215
7.8风险管理最佳实践 218
小结 219
习题 219
实验5:项目风险管理 220
第8章 项目团队与干系人 221
8.1项目团队建设 222
8.1.1制度建立与执行 222
8.1.2目标和分工管理 223
8.1.3 工作氛围 224
8.1.4激励 226
8.1.5过程管理 229
8.2知识传递和培训 231
8.2.1知识传递 232
8.2.2培训 233
8.3沟通和协作 234
8.3.1有效沟通原则 235
8.3.2消除沟通障碍 237
8.3.3沟通双赢 238
8.4经验、知识共享 239
8.5项目绩效管理 240
8.5.1绩效管理存在的问题 241
8.5.2如何做好绩效管理 242
8.5.3软件团队绩效考核方法讨论 243
8.6项目干系人管理 244
8.6.1识别干系人 245
8.6.2分析了解干系人 246
8.6.3管理干系人的期望 248
小结 249
习题 249
实验6: Lean Coffee讨论法 250
第9章 项目监督与控制 251
9.1项目过程度量 251
9.1.1内容 252
9.1.2流程 253
9.1.3方法 254
9.1.4规则 255
9.2数据收集 256
9.2.1数据收集方式 256
9.2.2数据质量 257
9.3可视化管理 258
9.3.1全程可视化 258
9.3.2进度可视化监控方法 261
9.4数据分析 265
9.4.1设定不同阶段 266
9.4.2分析方法 266
9.5优先级控制 270
9.5.1优先级设定与处理 270
9.5.2缺陷优先级和严重性 271
9.6变更控制 272
9.6.1流程 273
9.6.2策略 274
9.7合同履行控制 276
小结 277
习题 277
第10章 项目收尾 278
10.1验收 278
10.1.1验收前提 279
10.1.2验收测试 280
10.1.3验收流程 281
10.1.4验收报告 282
10.2项目总结和改进 282
10.2.1总结目的和意义 282
10.2.2总结会议 283
10.2.3总结报告 286
小结 287
习题 287
附录A 项目管理常用缩写 288
附录B 项目管理术语中英文对照 291
附录C ISO项目计划模板 295
附录D 变更请求和控制文档模板 297
附录E 软件项目验收报告模板 298
附录F 国际项目管理专业资质标准 302
附录G 常用项目管理工具特性对比表 304
参考文献 307