第1章 软件项目管理概述 1
1.1 项目与项目管理的概念 1
1.1.1 项目的基本概念与项目属性 1
1.1.2 项目的组成要素 3
1.1.3 项目管理的概念 6
1.1.4 项目的整体管理 8
1.1.5 软件的生命期和项目的生命期 12
1.2 项目的组织结构与项目经理 16
1.2.1 项目的组织形式与管理模式 16
1.2.2 项目经理的职责 21
1.3 项目管理的PMBOK体系 24
第2章 软件项目需求管理 26
2.1 软件需求管理的概念 26
2.1.1 需求与需求管理的概念 27
2.1.2 软件工程的软件定义与需求分析 29
2.1.3 CMM2的需求管理 32
2.1.4 PMBOK的范围管理 32
2.1.5 需求管理中项目经理的责任 33
2.2 需求开发的管理 34
2.2.1 需求开发的过程 34
2.2.2 需求获取阶段的成果与关注点 34
2.2.3 需求分析阶段的成果与关注点 37
2.2.4 需求处理阶段的成果与关注点 38
2.2.5 需求验证阶段的成果与关注点 41
2.3 需求实现的管理 44
2.3.1 需求的形式化与需求基线的建立 45
2.3.2 需求状态的变化 47
2.3.3 需求状态变化的追踪 49
2.4 需求变更的管理 52
2.4.1 需求变更与项目经理的责任 52
2.4.2 需求变更控制活动 54
2.4.3 需求变更波及分析 55
2.4.4 需求稳定性评估 59
第3章 软件项目的时间管理 61
3.1 PMBOK的项目时间管理 61
3.1.1 PMBOK的时间管理概念 61
3.1.2 活动定义 62
3.1.3 活动排序 63
3.1.4 活动历时估计 64
3.1.5 制定进度计划 65
3.1.6 项目的关键线路法技术 67
3.1.7 项目进度的PERT分析 72
3.1.8 控制项目的进度变更 75
3.2 CMM2的项目计划管理 79
3.2.1 CMM2对计划管理的定义 79
3.2.2 CMM2的计划管理活动 79
3.3 软件项目的任务分解 80
3.3.1 选择合适的软件项目生命期模型 80
3.3.2 项目工作分解结构WBS 84
3.3.3 对工作包进行工作描述 92
3.3.4 编制工作责任矩阵 92
3.4 软件项目的工作量和进度估算 93
3.4.1 软件项目的工作量估算 93
3.4.2 软件项目的进度估算 98
3.5 项目进度计划的编制 99
3.5.1 计划编制技术和方法的选择 99
3.5.2 进度计划编制前的统筹协调 101
3.5.3 制作项目进度计划图 101
3.6 项目进度计划的变更管理 104
3.6.1 项目时间进度的检查 104
3.6.2 时间进度调整的方法 105
3.6.3 软件项目计划控制的难点 107
第4章 软件项目的成本管理 109
4.1 成本管理的基本概念 109
4.1.1 软件项目的成本因素 109
4.1.2 软件项目的总成本 111
4.2 PMBOK的成本管理过程 111
4.2.1 资源计划编制 112
4.2.2 成本估算 112
4.2.3 成本预算 115
4.2.4 成本控制 115
4.3 软件项目资源计划的确定 117
4.3.1 确定资源需求 117
4.3.2 分析和调整 120
4.3.3 制定项目的资源计划 121
4.4 软件项目成本估算与预算 122
4.4.1 成本估算的方法 122
4.4.2 成本估算的过程 125
4.4.3 进行成本估算 128
4.4.4 影响软件项目费用估算的因素 130
4.4.5 软件项目估算的特殊问题 131
4.4.6 提交费用预算 132
4.5 项目成本控制 134
4.5.1 项目成本控制的内容和依据 134
4.5.2 挣值管理的基本参数 135
4.5.3 挣值分析的评价指标 136
4.5.4 用挣值分析方法改进项目的实施 141
第5章 软件项目管理实习作业 144
5.1 实习要求 144
5.1.1 实习设计 144
5.1.2 实习组织 148
5.1.3 实习过程 149
5.1.4 实习成果提交 150
5.1.5 实习成绩评判 150
5.2 实习项目的背景 151
5.2.1 项目背景 151
5.2.2 组织的资源情况假设 154
5.3 项目管理实习题(启动与计划阶段) 155
5.3.1 项目启动阶段的要求 155
5.3.2 项目计划阶段的要求 156
5.3.3 要点与注意点 157
第6章 软件项目质量管理 159
6.1 项目质量管理 159
6.1.1 ISO9000质量管理体系 159
6.1.2 PMBOK的质量管理 161
6.1.3 CMM2的质量保证 168
6.2 软件质量的度量 171
6.2.1 软件质量的要素 171
6.2.2 软件质量的度量过程 174
6.2.3 软件质量度量的实施 176
6.3 软件的测试 177
6.3.1 测试的阶段划分 178
6.3.2 测试方法 181
6.3.3 测试类型 181
6.3.4 测试计划 182
6.3.5 测试组织 185
6.4 软件的审查 187
6.4.1 审查准备 187
6.4.2 审查过程 189
6.4.3 需求审查 190
6.4.4 设计审查 191
6.4.5 代码审查 192
6.4.6 测试审查 192
第7章 软件项目风险管理 194
7.1 项目风险管理概述 194
7.1.1 PMBOK的风险管理概念 194
7.1.2 项目风险管理计划方案 199
7.2 项目风险识别 201
7.2.1 PMBOK的风险识别过程 201
7.2.2 软件项目风险的识别特点 203
7.2.3 软件项目的主要风险 206
7.2.4 风险识别结果的整理 208
7.3 项目风险的定性评估 209
7.3.1 PMBOK的风险定性分析过程 210
7.3.2 风险的等级模式 211
7.3.3 项目的风险排序表 215
7.3.4 风险趋势评估 216
7.4 项目风险的定量分析 218
7.4.1 量化分析要素的选择 218
7.4.2 量化分析的工具和方法 219
7.4.3 风险量化分析的输出 222
7.5 项目风险应对计划 222
7.5.1 项目风险对策 223
7.5.2 项目风险的应对措施 225
7.5.3 项目风险管理计划与应对计划 226
7.6 项目风险的跟踪与控制 228
7.6.1 风险跟踪与控制的依据 228
7.6.2 风险跟踪与控制的工具和方法 230
7.6.3 风险跟踪与控制的结果 231
第8章 软件项目配置管理 232
8.1 软件配置及其管理的概念 232
8.1.1 CMM2的配置管理概念 232
8.1.2 配置管理功能概述 233
8.1.3 配置管理活动的作用 234
8.2 配置管理项 236
8.2.1 配置管理的对象 236
8.2.2 最基本的配置管理项——文档 238
8.2.3 UCM目录结构下的配置管理对象 240
8.3 版本管理 245
8.3.1 版本管理的必要性 245
8.3.2 早期的版本管理 246
8.3.3 现代版本管理活动 247
8.4 变更管理 251
8.4.1 基于基线的变更管理 251
8.4.2 变更请求管理过程 252
8.4.3 变更请求管理活动 253
8.4.4 变更请求状态的转移 255
8.5 配置状态监测、报告与评审 257
8.5.1 状态监测与报告 257
8.5.2 评审 259
8.6 基于配置管理的软件项目管理 259
8.6.1 主要配置管理活动流程 260
8.6.2 角色职责 262
8.6.3 项目经理的阶段工作要点 264
第9章 软件项目的人力资源管理 266
9.1 人力资源管理理论与实践的发展 266
9.1.1 古典的组织管理理论 266
9.1.2 行为科学理论阶段的人力资源管理 267
9.1.3 现代管理阶段的人力资源管理 268
9.2 软件项目人力资源管理的特点 269
9.2.1 软件项目中人的特点 269
9.2.2 软件项目各阶段的人力资源管理特性 270
9.3 项目的组织计划编制 271
9.3.1 PMBOK的组织计划编制过程 271
9.3.2 组织计划编制的输入 271
9.3.3 组织计划编制的工具和技术 272
9.3.4 组织计划编制的输出 273
9.4 软件项目的人员组织 274
9.4.1 PMBOK的人力资源组织概念 274
9.4.2 软件项目的人员组织实施 275
9.4.3 软件项目人员的绩效考评 277
9.4.4 软件项目人力资源风险的防范 282
9.5 人力资源管理的激励理论 285
9.5.1 内因激励理论 286
9.5.2 外因激励理论 289
9.6 项目的团队建设 291
9.6.1 PMBOK有关团队发展的描述 291
9.6.2 项目团队的作用 293
9.6.3 项目团队的特殊性 293
9.6.4 项目团队发展阶段与领导风格 294
9.6.5 项目团队的成员选择 296
9.6.6 项目团队的凝聚力 297
9.7 问题探讨:软件企业人力资源管理的三个层次 299
9.7.1 第一层次:对“蓝领”的管理 300
9.7.2 第二层次:对“白领”的管理 301
9.7.3 第三层次:对“心理契约”的追求 305
第10章 软件项目的沟通管理 308
10.1 沟通的一般概念 308
10.1.1 沟通的渠道与形式 308
10.1.2 沟通的障碍 312
10.1.3 沟通在项目管理中的作用 313
10.2 PMBOK的项目沟通管理过程 314
10.2.1 沟通管理的定义与过程 314
10.2.2 项目沟通计划编制 314
10.2.3 信息分发 317
10.2.4 绩效报告 318
10.2.5 管理收尾 320
10.3 项目沟通 322
10.3.1 梳理项目的沟通渠道 322
10.3.2 改善软件项目的沟通工具 324
10.3.3 扫除沟通障碍 325
10.3.4 培养协作精神 326
10.3.5 项目经理的重要作用 327
10.4 与用户相处 328
10.4.1 期望 328
10.4.2 面对用户 330
10.4.3 站在用户的角度 332
10.5 处理与高级管理层的关系 334
10.5.1 高级管理层扮演的角色 334
10.5.2 高级管理层对项目经理的期望 335
10.5.3 项目经理对高级管理层的期望 337
第11章 软件项目的采购管理 338
11.1 产品与服务的采购/外包管理过程 338
11.1.1 产品外购与软件外包 338
11.1.2 PMBOK的采购管理过程 339
11.1.3 CMM2的软件分包合同管理 340
11.2 项目的商务管理 343
11.2.1 商务部门在企业组织结构中的位置 343
11.2.2 企业商务部门的职责 343
11.2.3 项目的商务流程和项目经理的关注点 345
11.3 项目合同签订前的准备工作 348
11.3.1 采购计划编制 348
11.3.2 询价与供方选择 349
11.3.3 准备合同文本 351
11.4 合同评审 354
11.4.1 合同评审的参与方和评审责任 354
11.4.2 合同评审的程序与内容 355
11.5 采购合同执行与项目实施 358
11.5.1 PMBOK的合同管理过程 358
11.5.2 采购合同执行 358
11.6 合同收尾 361
11.6.1 PMBOK的合同收尾 361
11.6.2 交付 362
11.6.3 清算与付款 362
第12章 软件项目的综合管理 363
12.1 PMBOK的项目综合管理概念 363
12.1.1 项目综合管理的项目计划制定 364
12.1.2 项目综合管理的项目计划实施 367
12.1.3 项目综合管理的整体变更控制 368
12.2 CMM2的软件项目跟踪与监督 368
12.2.1 CMM2的软件项目跟踪与监督的目的 368
12.2.2 软件项目跟踪与监督的主要活动 369
12.3 项目的全程跟踪监督实施 370
12.3.1 项目进度的跟踪监督 370
12.3.2 项目成本的跟踪监督 374
12.4 项目的完成后评审 377
12.4.1 项目后评审的定义 377
12.4.2 项目后评审中评审方的责任 380
12.4.3 项目后评审的准备 380
12.4.4 项目后评审的内容和评审标准 381
12.4.5 项目后评审的程序 381
12.5 软件项目经理,我的职业目标 383
12.5.1 技术水平 383
12.5.2 业务能力 385
12.5.3 管理水平 385
12.5.4 转变角色 386
12.5.5 责任心 387
12.5.6 常识和直觉 388
12.5.7 学习的心态 388
12.5.8 尽一切力量维护项目团队 389
12.5.9 沟通与交流 389
参考文献 390