第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 通过Delphi和宽带Delphi方式进行估算
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.4 引导会议
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 关于项目生命周期的更多详细信息
附录B 术语汇总
附录C 参考书目
——艾伦·索尔兹伯里,伯克利雅虎研究中心前总监
★“作为一个软件工程及项目管理的老兵,我认为这是项目管理领域中最佳的实践书,尤其是作者在项目管理上积累了多年的丰富经验,肯定能帮助项目经理解决相当多的疑难杂症。……好东西要分享,在此我诚挚地向大家推荐这本好书,分享我在其中得到的共鸣与喜悦。”——胡百师,微软项目管理MVP
★“本书中提供的建设及管理项目的实例和技巧不只适合软件经理,也适合业务经理,强烈推荐!”——《中西部书评》
★“不管是对新手还是有多年经验的项目经理,我都强烈推荐本书,它会告诉你哪些项目管理实践或技术适合你的项目,而且可以立即上手。”——詹妮弗·坎农