项目管理修炼之道
从自发到自觉(译者序)
To Chinese Reader
致中国读者
1 启动项目
1.1 定义项目和项目经理
1.2 管理项目的关键驱动因素、约束和浮动因素
1.3 与客户或出资人讨论项目约束
1.4 决定项目的关键驱动因素
使用矩阵表明项目的优先级
1.5 应对喜欢过多干预项目的出资人
1.5.1 预测未来
1.5.2 使用与上下文无关的问题识别项目真正的驱动因素
1.6 编写项目章程,共享现有决策
1.6.1 远景
1.6.2 需求
1.6.3 目标
1.6.4 成功标准
1.6.5 ROI
1.7 理解质量对于项目的意义
2 规划项目
2.1 踏上征程
2.2 使项目足以启动的规划
2.3 开发项目规划模板
2.3.1 产品意图
2.3.2 历史记录
2.3.3 发布条件
2.3.4 目标
2.3.5 项目组织
2.3.6 日程总览
2.3.7 人员配备
2.3.8 建议日程
2.3.9 制订项目风险列表
2.4 制订发布条件
2.4.1 确定当前项目最重要的因素
2.4.2 草拟发布条件
2.4.3 让发布条件符合SMART原则
2.4.4 在发布条件上达成多方共识
2.5 使用发布条件
3 使用生命周期组织项目
3.1 理解项目生命周期
3.2 生命周期概览
3.3 在项目中寻求反馈
3.4 大规模项目需要组合使用多种生命周期
3.5 管理架构风险
3.6 从瀑布中摆脱出来
3.7 我最钟爱的生命周期
4 安排项目日程
4.1 注重实效的项目日程安排
4.2 可供选择的项目日程安排技术
4.2.1 自顶向下式日程安排
4.2.2 自底向上式日程安排
4.2.3 由内及外式日程安排
4.2.4 哈德逊湾式启动
4.2.5 短期迭代
4.3 用低技术含量的工具安排项目日程
4.3.1 使用即时贴安排项目日程的基本技术
4.3.2 使用即时贴和箭头安排项目日程
4.3.3 为每一个职能组使用即时贴安排项目日程
4.3.4 按功能使用即时贴安排项目日程
4.3.5 使用即时贴安排项目日程的好处
4.3.6 基于可交付物的规划
5 估算工作
5.1 实用的项目估算方式
5.1.1 通过对比历史数据进行估算
5.1.2 通过DeIphi和宽带DeIphi方式进行估算
5.1.3 何时不应相信团队的估算
5.1.4 小心顺序式生命周期的估算陷阱
5.1.5 使用自信心范围进行估算
5.1.6 使用日期范围进行估算
5.1.7 使用三个日期:最佳状况、最有可能、“墨菲”日期
5.1.8 在估算时分开考虑任务的大小与持续时间
5.1.9 规划扑克
5.1.10 在估算前用试探性开发收集数据
5.1.11 让估算更容易的提示
5.2 用里程碑切分项目
5.3 你们能够不做哪些事情
5.4 身背多个项目时的估算
5.5 主动安排人们进行多任务
5.6 使用波浪式规划
5.7 决定迭代的持续时间
5.8 尽可能使用“小石子”进行估算
5.8.1 当任务不清楚时创建并使用“小石子”
5.8.2 如何得到“小石子”
5.8.3 为什么使用“小石子”
6 识别和避免日程安排游戏
6.1 给我一块石头
6.2 “希望”是我们最重要的策略
6.3 拒绝女王
6.4 把灰扫到地毯下面
6.5 幸福日期
6.6 屁股着火
6.7 分散注意力
6.8 日程等于承诺
6.9 到了之后,我们会知道身处何方
6.10 日程安排工具总是对的,又称为梦幻时间日程
6.11 我们必须拥有这个功能,否则就完蛋了
6.12 我们不能说“不”
6.13 日程小鸡
6.14 90%完成状态
6.15 我们马上会变得更快
6.16 令人恍惚的日程
7 创建出色的项目团队
7.1 招募需要的人
7.2 形成团队凝聚力
7.2.1 好工具让团队有好的发挥
7.2.2 软件配置管理系统应满足的最低要求
7.2.3 缺陷跟踪系统应满足的最低要求
7.2.4 团队发展的5个阶段
7.3 让组织配合你的工作
7.3.1 以项目经理的方式管理职能团队
7.3.2 管理矩阵式项目团队
7.3.3 管理跨职能项目团队
7.4 对必需的团队规模了如指掌
7.5 知道何时应该加人
7.6 成为出色的项目经理
7.6.1 提升人际交往技能
7.6.2 提升功能性技能
7.6.3 提升领域专业知识技能
7.6.4 提升工具和技术的专业技能
7.7 知道何时该全身而退
7.7.1 什么样的组织不适合你
7.7.2 什么样的团队不适合你
7.7.3 什么样的产品不适合你
8 掌控项目
8.1 掌控项目的节奏
8.2 举行中途回顾
8.3 为需求排序
8.4 用时间盒限定需求相关的工作
8.5 将迭代限制在4周或是更少的时间内
8.6 使用波浪式的规划和日程安排
8.7 创建跨职能团队
8.8 根据项目的风险选择生命周期模型
8.9 保持合理的工作时间
8.10 使用“小石子”
8.11 管理干扰
8.11.1 应对其他项目干扰
8.11.2 应对其他人的干扰
8.12 管理缺陷,从项目初就开始
9 保持项目节奏
9.1 在项目中使用持续集成
9.2 为构建创建自动化冒烟测试
9.3 按功能实现,而不是按架构
9.3.1 首先实现具有最高价值的功能
9.3.2 按功能调试
9.3.3 按功能测试
9.4 多几只眼睛盯着产品
9.5 准备重构
9.6 通过用例、用户故事、角色和场景来定义需求
9.7 分离需求与GUI设计
9.8 尽可能使用低保真度的原型
10 管理会议
10.1 取消这些会议
10.1.1 避免不需要你解决问题的会议
10.1.2 绝对不要举行多人参加的顺序式进度报告会议
10.1.3 避免这些会议
10.2 举行下列会议
10.3 项目启动会议
10.4 发布版本规划会议
10.5 进度报告会议
10.5.1 每日站立会议
10.5.2 一对一会议
10.5.3 通过可见的方式了解进度
10.5.4 通过电子邮件,从团队成员那里获取每周进度报告
10.5.5 每周向团队报告进度
10.6 向管理层报告进度
10.7 项目团队会议
10.8 迭代审查会议
10.9 会议疑难问题解答
10.10 管理与远程团队的电话会议
10.10.1 通用引导指南
10.10.2 准备工作
10.10.3 进行事先规划
10.10.5 电话会议后的工作
11 创建并使用项目仪表板
11.1 测量有风险
11.2 根据项目完成度来衡量进度
11.2.1 使用速度图表跟踪日程安排进度
11.2.2 使用迭代内容图跟踪总体进度
11.2.3 计算软件项目的挣值并无实际意义
11.2.4 用EQF跟踪最初的估算
11.2.5 更多的度量能提供更多信息
11.2.6 如果只能度量项目日程,那就这么做
11.2.7 与项目团队人员分配情况相关的图表
11.2.8 判断项目的变化率
11.2.9 查看开发人员是在取得进展还是在白费时间
11.2.10 测量查找和修复问题的成本
11.2.11 了解开发人员和测试人员是否在解决缺陷方面取得进展
11.2.12 展示测试过程
11.2.13 展示定性数据
11.2.14 用图表展示团队同意采用的实践
11.2.15 度量敏捷项目
11.3 为出资人创建项目仪表板
11.3.1 展示风险列表
11.3.2 展示在满足发布条件方面取得的进展
11.4 使用项目气象报告
11.4.1 要小心定义气象报告的图示
11.4.2 建立可信的气象报告
11.4.3 每周发布气象报告
12 管理多地点项目
12.1 一个问题的成本是多少
12.2 识别项目的文化差异
12.3 在团队间培养信任
12.3.1 确保每个地点都有完整的项目可交付物
12.3.2 确保各个团队可以互相协作
12.3.3 让人们建立个人接触
12.4 在团队间使用互补实践
12.4.1 使用互补生命周期
12.4.2 详细说明每个团队的里程碑和交接物
12.5 寻找潜在的多地点项目和不同文化导致的问题
12.6 在外包时要避免下列错误
13 在项目中集成测试
13.1 从一开始,就让人们将“减少技术债务”牢记心间
13.2 使用小规模测试降低风险
13.3 TDD是在项目中集成测试最简便的方式
13.4 使用多种测试技巧
13.5 确定每个团队成员在测试工作中的角色
13.6 正确的开发人员与测试人员之比应该是多少
13.6.1 产品风险对比率的影响
13.6.2 项目和流程风险对比率的影响
13.6.3 人员及其能力对比率的影响
13.7 让测试与开发同步进行
13.8 为项目制定测试策略
13.9 系统测试策略模板
13.10 QA与测试有差别
14 管理工程
14.1 如果项目是工程
14.2 将多个相关项目组织到一个发布版本中
14.3 随时间推移组织多个相关项目
14.3.1 将产品的多个版本组织到发布列车中
14.3.2 让发布列车为你服务
14.3.3 在不使用发布列车的情况下,将多个版本组织到一个产品中
14.4 管理项目经理
14.5 创建工程仪表板
14.5.1 度量互相依赖的项目
14.5.2 度量一系列项目
15 结束项目
15.1 管理发布早期版本的请求
15.2 管理beta版本
15.3 项目经理何时知道无法按时发布项目
15.3.1 “避免小的偏差”
15.3.2 承诺一个新日期
15.3.3 估算系统测试时间
15.3.4 在时间不够的情况下管理系统测试
15.4 指导项目走向完成
15.4.1 管理“结束游戏”
15.4.2 避免“缺陷提升和降级的游戏”
15.4.3 规划回顾
15.4.4 规划庆祝
15.5 取消项目
16 管理项目组合
16.1 构建所有项目的组合
16.2 评估项目
16.2.1 定性评估项目
16.2.2 定量评估项目
16.3 决定现在为哪个项目提供资金
16.4 对组合中的项目进行排序
16.5 尽快启动项目
16.6 使用产品待办事项列表管理新功能需求
16.6.1 构建产品待办事项列表
16.6.2 管理待办事项列表
16.7 组合管理答疑
16.7.1 管理从事多个项目多个任务的情况
16.7.2 说服管理层“切换上下文”是个坏主意
16.7.3 如何对多任务说“不”
附录A 关于项目生命周期的更多详细信息
A.1 顺序式生命周期:瀑布式或阶段—关卡式
A.1.1 顺序式生命周期明确解决的风险
A.1.2 顺序式生命周期掩盖的风险
A.1.3 何时重新规划顺序式生命周期
A.2 迭代式生命周期:螺旋式、渐进式原型、统一过程
A.2.1 迭代式生命周期解决的风险
A.2.2 迭代式生命周期暴露的风险
A.2.3 迭代式生命周期与敏捷生命周期的不同
A.2.4 何时使用迭代式生命周期重新规划
A.3 增量式生命周期:按阶段交付、设计决定日程
A.3.1 增量式生命周期解决的风险
A.3.2 增量式生命周期暴露的风险
A.3.3 何时使用增量式生命周期重新规划
A.4 敏捷生命周期
A.4.1 敏捷生命周期解决的风险
A.4.2 敏捷生命周期暴露的风险
A.4.3 何时考虑使用敏捷生命周期
A.4.4 何时使用敏捷生命周期重新规划
A.4.5 敏捷生命周期是基于反馈的
附录B 术语汇总
附录C 参考书目
读者对本书的赞誉
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b497de4b069f82a1a722e.png)
思维导图在线编辑链接: