第一部分 估算的关键概念
第1章 “估算”的含义
1.1 估算、目标和承诺
1.2 估算和计划的关系
1.3 有关估算、目标和承诺沟通
1.4 以概率的方式表示估算结果
1.5 对“良好”估算的常见定义
1.6 估算与项目控制
1.7 估算的真正目的
1.8 对“良好的估算”的初步定义
1.9 其他资源
第2章 你的估算水平如何
2.1 简单的估算测验
2.2 关于测验结果的讨论
2.2.1 “90%置信度”的置信度
2.2.2 估算的范围应该取多宽?
2.2.3 使用较窄范围的压力来自何方?18
2.2.4 该测验对真实软件估算的代表性19
第3章 准确估算的价值
3.1 高估更好还是低估更好
3.1.1 反对高估的观点
3.1.2 反对低估的观点
3.1.3 权衡各种观点
3.2 软件行业估算情况的详细记录
3.2.1 项目会延误多少?
3.2.2 一个公司的经历
3.2.3 软件估算的系统性偏差
3.3 准确估算带来的好处.
3.4 可预测性与项目其他属性的价值比较
3.5 常见估算方法的问题.
3.6 其他资源
第4章 估算误差的来源
4.1 估算不确定性的来源.
4.2 不确定性锥
4.3 混乱的开发过程
4.2.1 是否可以突破不确定性锥的限制?37
4.2.2 锥形不会自行缩小
4.2.3 在软件估算中考虑不确定性锥的影响39
4.2.4 不确定性锥和承诺的关系
4.2.5 不确定性锥和迭代开发
4.4 不稳定的需求对需求增长的估算
4.5 遗漏的活动
4.6 没有理由的乐观主义
4.7 主观性和偏差
4.8 即兴估算
4.9 无根据的精度
4.10 其他的误差来源
4.11 其他资源
第5章 影响估算的因素
5.1 项目规模
5.1.1 本书使用代码行表示规模的原因56
5.1.2 规模不经济
5.1.3 何时可以安全地忽略规模不经济60
5.1.4 软件估算中规模不经济的重要性61
5.2 待开发软件的不同类型
5.3 人员因素
5.4 编程语言
5.5 影响项目的其他因素
5.6 再论规模不经济
5.7 其他资源
第二部分 基本估算方法
第6章 估算方法概述
6.1 选择估算方法时考虑的问题
6.1.1 待估算的内容
6.1.2 项目规模
6.1.3 软件开发方式
6.1.4 开发阶段
6.1.5 可能的准确度
6.2 估算方法适用性表.
第7章 计数、计算和判断
7.1 首先计数
7.2 计数的对象
7.3 通过计算把计数值转换成估算值
7.4 只把判断作为最后的手段
7.5 其他资源
第8章 估算校准和历史数据
8.1 历史数据可以提高准确度并带来其他益处
8.1.1 考虑开发组织的影响
8.1.2 避免主观性和无根据的乐观93
8.1.3 减少估算中政策的影响
8.2 要收集的数据
8.2.1 与规模度量有关的问题
8.2.2 与工作量度量有关的问题
8.2.3 与日历时间度量有关的问题97
8.2.4 与缺陷度量有关的问题
8.2.5 其他的数据收集问题
8.3 如何校准
8.4 使用项目数据精化估算值
8.5 使用行业的平均数据进行校准
8.6 小结
8.7 其他资源
第9章 专家的个人判断
9.1 有组织的专家判断.
9.1.1 由谁进行估算?
9.1.2 粒度
9.1.3 使用范围
9.1.4 公式
9.1.5 检查表
9.2 比较估算值和实际值.
9.3 其他资源
第10章 分解和重组
10.1 计算准确的整体预期情况
10.1.1 大数法则
10.1.2 估算的小对象应小到什么程度?116
10.2 通过基于活动的工作分解结构进行分解
10.3 累加最好情况和最差情况估算的危害
10.3.1 警告:接下来是数学问题!119
10.3.2 问题的来源
10.4 建立有意义的总体最好情况和最差情况估算
10.4.1 对少量任务计算总体最好情况和最差情况(简单标准偏差公式)
10.4.2 对大量任务计算总体最好情况和最差情况(复杂标准偏差公式)
10.4.3 建立总体最好情况和最差情况估算值124
10.4.4 有关百分比置信度估算的注意事项126
10.5 其他资源
第11章 类比估算
11.1 类比估算的基本方法.
11.1.1 步骤1:获取以前相似项目详细的规模、工作量和成本结果数据
11.1.2 步骤2:比较新项目和以前相似项目的规模
11.1.3 步骤3:根据新项目相对旧项目的比例估算其规模
11.1.4 步骤4:根据新项目规模相对旧项目规模的情况计算工作量估算值
11.1.5 步骤5:检查两个项目中的假设是否一致
11.2 有关Triad估算中的不确定性的说明估算中的不确定性、计划和承诺
第12章 基于代理的估算
12.1 模糊逻辑
12.1.1 如何获得平均规模数值
12.1.2 如何对新功能进行分类
12.1.3 模糊逻辑不能解决的问题137
12.1.4 对模糊逻辑的扩展
12.2 标准组件
12.2.1 按照百分点使用标准组件140
12.2.2 标准组件的局限
12.3 故事点有关尺度的警告
12.4 “T恤衫”式规模估算
12.5 基于代理的估算方法的其他用途
12.6 其他资源
第13章 专家小组判断法
13.1 小组评审
13.2 宽带Delphi法
13.2.1 宽带Delphi法的有效性
13.2.2 “原来如此”
13.2.3 何时采用宽带Delphi法
13.3 其他资源
第14章 软件估算工具
14.1 使用软件估算工具可以完成而手工无法完成的事
14.2 校准工具时所需的数据
14.3 即使采用工具也不应做的事
14.4 可用工具概述
14.5 其他资源
第15章 使用多种估算方法
其他资源
第16章 获得良好估算的软件项目中的估算流程
16.1 未获得良好估算的项目中的单个估算流程
16.2 获得良好估算的项目中的单个估算流程
16.3 按照时间顺序描述的项目估算流程
16.3.1 大型项目的估算流程
16.3.2 小型项目的估算流程
16.4 估算的精化
16.5 如何向项目的其他干系人提供重估结果
16.5.1 何时进行重估
16.5.2 管理层不允许重估怎么办?178
16.6 一个获得良好估算的项目视图
第17章 标准化估算规程
17.1 标准化规程的常用要素
17.2 采用阶段-门槛过程进行估算
17.3 顺序式项目的标准化估算规程
17.4 迭代式项目的标准化估算规程
17.5 一个高级开发组织的标准化估算规程
17.6 改进标准化规程
17.7 其他资源
第三部分 特定的估算挑战
第18章 规模估算中的特殊问题
18.1 软件规模估算中的挑战代码行在规模估算中的作用
18.2 功能点估算把功能点转换成代码行
18.3 简化的功能点方法
18.3.1 Dutch方法
18.3.2 GUI元素
18.4 规模估算方法小结
18.5 其他资源
第19章 工作量估算中的特殊
第19章 问题
19.1 影响工作量的因素
19.2 根据规模计算工作量
19.2.1 使用和历史项目的非正规比较来计算工作量估算值
19.2.2 估算值中包括哪类工作量?210
19.3 使用估算学方法计算工作量估算值
19.4 行业平均工作量图
19.5 ISBSG方法
19.6 比较工作量估算值
19.7 其他资源
第20章 进度估算中的特殊问题
20.1 基本进度公式
20.2 使用与历史项目的非正式比较来计算进度
20.3 Jones的一阶估算实践
20.4 使用估算学方法计算进度估算值
20.5 进度压缩和最短的可能进度
20.6 进度和工作量之间的折衷进度压缩和团队规模
20.7 进度估算和人员限制.
20.8 比较不同方法的结果.
20.9 其他资源
第21章 计划参数的估算
21.1 对分解的项目活动进行估算
21.1.1 估算分配给不同技术活动的工作量233
21.1.2 估算需求的工作量
21.1.3 估算管理工作量
21.1.4 估算所有活动
21.1.5 根据项目类型进行调整
21.1.6 给活动分配工作量的例子237
21.1.7 开发人员与测试人员的比例237
21.2 估算不同活动的进度.
21.3 把估算工作量(理想工作量)转换成计划工作量
21.4 成本估算
21.4.1 加班
21.4.2 项目成本是直接成本、全额负担成本还是其他形式的成本?
21.4.3 其他直接成本
21.5 对缺陷的产生和排除情况进行估算
21.5.1 估算缺陷排除情况
21.5.2 估算缺陷排除效率的例子243

