项目估算与项目成本管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件项目管理
王颖
课程体系
需求前延 质量检验过程
什么 是 项目 ?
如何 如何 怎样 获得 管理 提交 软件项目管理 项目 项目 项目 ? ? ?
结项后 应做 什么 ?
项目需求的实际验证
2
成本管理的内容
成本大体包括4个方面:人力资源成本、软硬件 资源成本、商务活动成本、其他成本费用。 成本管理活动包括的内容: 软件系统规模估算 软件项目成本估算 软件项目成本预算制定 软件项目成本监控
3
软件项目管理的关键技术
…………需求管理 …………成本估算 …………进度管理 …………成本管理 …………配置管理 …………风险管理 …………质量管理 …………资源管理
4
成本估算
(Project Estimation)
5
软件项目成本估算
软件项目成本估算基本概念 软件项目成本估算技术
6
成本估算
18
案例分析(续)
④
⑤
迫于进度压力,开发人员匆忙写出一些低质量的和不 完整的代码,然后宣称已实现某些性能。这造成了 WinWord不得不将用于提高软件稳定性的时间由预计 的3个月增加到12个月。 由于该项目中,创新比速度更重要,因而试图缩短开 发周期,反而使周期变长
Baidu Nhomakorabea
19
案例总结
①
高层的决定不总是睿智的
要进行成本控制,首先要进行成本 估算。成本估算是在一个无法以高可靠 性预计的环境下进行的,在软件项目管 理过程中,为了使时间、费用和工作范 围内的资源得到最佳利用,人们开发出 了不少成本估算方法。
7
如果没有软件项目估算……
大概还需要 一年吧!
一个月 没问题 !!
一个月后
9
时机选择的标准
15
影响估算结果的因素(续)
失败因素: 多些时间做估算,并 不能得到更准确的结 果 单点估计的结果往往 不正确 成功因素: 估算的群体讨论,依靠 更多的意见而不是时间 提高估算准确度 理智的方法是先给出大 的区间,在软件开发过 程本身中逐步缩小区间
16
案例:过分乐观的估算
Microsoft Word for Windows 1.0开发。包含249,000 行代码,投入660人月,前后历时5年,实际花费时间为 预期时间的5倍
项目早期,估算精度低、意义大 项目后期,估算精度高、意义小 项目结束,估算精度100%,无意义 估算本身需要成本,过多估算导致项目成本上升 多次估算可以提高精度 项目分为多个阶段,阶段性估算可以指导后续工作 ……
10
软件项目估算的时机
软件产品生命周期
计划软件产品
客户 需求 产品 定义
开发软件产品 系统 设计 系统 实现
E3 系统设计 系统设计阶段给出了产品的完整软件体系结构和各个子系统及 模块的说明,该阶段的估算工作要考虑的是如何将设计好的系统 开发出来及有没有被忽视的问题。这阶段的估算一般不会做出终 止项目的决定,但却会影响以后各阶段的资源分配。
12
软件项目估算的时机
E4 系统实现 设计通过审查之后,系统的实现工作就开始了。此时需要大量 的程序员参与,因而人员数量会达到高峰,然后随着实现的完成 而降下去。该阶段结束时,初步的软件产品可用于系统测试,前 面各项活动中耗费的资源(时间及人力等)和软件工作量均可以 获得,从而可对原有估算进行调整,后期需要的工作则按此估算 进行计划。 E5 系统运行 当所有的工作都已完成并得到了验证之后,系统就可以投入运 行了。此时,所有的不确定因素都成为已知量,估算工作实际上 是对估算过程的评价,即用实际的消耗与各个阶段估算值进行比 较。这一阶段的估算看似无用,其实对于软件组织来说是必不可 少的,它使得软件组织能够认识到估算活动中需要提高的地方及 组织本身的特点,为下一个项目积累了宝贵的经验。
没有最快, 只有更快!
启示:估算应该征求所有项目相关人员的意见
20
案例总结(续)
②
过大的压力带来意想不到的结果
一个月作完!
20天作完! !
……
21
案例总结(续)
③
Brook法则:当人数增加后,项目所需的工作量 将不 成比例的增加。 管理 协调 通信 更 低 的 工 作 效 率
启示:不是越多人越好,而是合适的人最好
13
软件项目估算的时机
估算进行越早,意义越大
估算进行越晚,精度越高 估算精度
估算意义
项目进展
项目进展
14
影响估算结果的因素
失败因素: 无根据的估算完全不 可信 人们容易低估小项目 的工作量,而过分夸 大大项目的工作量 成功因素: 留出估算的时间,并 做好计划 估算本身也是一个 项目 开发人员参与估算, 并使用几种不同的估 算技术,并比较它们 据估计,规模小于10万行代码的工作被低估的比例 的结果 达60%,而百万行级的工作被高估的比例为80%!
22
软件项目估算的基础
历史数据 在参考历史数据时需要考虑不同的环境。如编程语 言,软件工具,复杂程度,标准和人员的经验。
历史数据
23
软件项目估算的基础(续)
17
案例分析(续)
导致WinWord1.0开发延迟的几个主要因素: ① 项目初期制定的开发目标是不可实现的。 ① 盖茨下达的指示是用最快的速度开发最好的文 字处理软件,争取在12月内完成。实现这两个 目标中的任何一个都是困难的,同时达到则是 不可能的。 ② 过紧的进度计划降低了计划的精确度。 ③ 开发过程中频繁换人。5年中共换了4个组长,其中有 2人因进度压力离职,1人是出于健康的原因而离职。
验证软件产品 系统 测试 系统 评审
使用软件产品 系统 运行 系统 维护
淘汰软件产品 系统 升级 更换 系统
申请 形式化 模块划分 细化
实现
估算体
E1
E2
E3
E4
E5
结果估算
原始估算 初级估算 二级精算估算
软件估算
11
软件项目估算的时机
E1 客户需求 客户需求阶段列出了客户需要的基本软件功能,时间点E1的估 算可以为软件组织提供初步信息,以决定即将开始的软件项目是 否对本组织有利。如果答案是肯定的,则进入下一阶段的工作, 否则就需要重新考虑项目的可行性了。 E2 产品定义 产品定义阶段完成对软件项目的规格说明,进一步细化了系统 功能,为系统设计提供了依据。此时的估算有助于软件组织在进 入产品开发之前再次权衡产品的可行性。
王颖
课程体系
需求前延 质量检验过程
什么 是 项目 ?
如何 如何 怎样 获得 管理 提交 软件项目管理 项目 项目 项目 ? ? ?
结项后 应做 什么 ?
项目需求的实际验证
2
成本管理的内容
成本大体包括4个方面:人力资源成本、软硬件 资源成本、商务活动成本、其他成本费用。 成本管理活动包括的内容: 软件系统规模估算 软件项目成本估算 软件项目成本预算制定 软件项目成本监控
3
软件项目管理的关键技术
…………需求管理 …………成本估算 …………进度管理 …………成本管理 …………配置管理 …………风险管理 …………质量管理 …………资源管理
4
成本估算
(Project Estimation)
5
软件项目成本估算
软件项目成本估算基本概念 软件项目成本估算技术
6
成本估算
18
案例分析(续)
④
⑤
迫于进度压力,开发人员匆忙写出一些低质量的和不 完整的代码,然后宣称已实现某些性能。这造成了 WinWord不得不将用于提高软件稳定性的时间由预计 的3个月增加到12个月。 由于该项目中,创新比速度更重要,因而试图缩短开 发周期,反而使周期变长
Baidu Nhomakorabea
19
案例总结
①
高层的决定不总是睿智的
要进行成本控制,首先要进行成本 估算。成本估算是在一个无法以高可靠 性预计的环境下进行的,在软件项目管 理过程中,为了使时间、费用和工作范 围内的资源得到最佳利用,人们开发出 了不少成本估算方法。
7
如果没有软件项目估算……
大概还需要 一年吧!
一个月 没问题 !!
一个月后
9
时机选择的标准
15
影响估算结果的因素(续)
失败因素: 多些时间做估算,并 不能得到更准确的结 果 单点估计的结果往往 不正确 成功因素: 估算的群体讨论,依靠 更多的意见而不是时间 提高估算准确度 理智的方法是先给出大 的区间,在软件开发过 程本身中逐步缩小区间
16
案例:过分乐观的估算
Microsoft Word for Windows 1.0开发。包含249,000 行代码,投入660人月,前后历时5年,实际花费时间为 预期时间的5倍
项目早期,估算精度低、意义大 项目后期,估算精度高、意义小 项目结束,估算精度100%,无意义 估算本身需要成本,过多估算导致项目成本上升 多次估算可以提高精度 项目分为多个阶段,阶段性估算可以指导后续工作 ……
10
软件项目估算的时机
软件产品生命周期
计划软件产品
客户 需求 产品 定义
开发软件产品 系统 设计 系统 实现
E3 系统设计 系统设计阶段给出了产品的完整软件体系结构和各个子系统及 模块的说明,该阶段的估算工作要考虑的是如何将设计好的系统 开发出来及有没有被忽视的问题。这阶段的估算一般不会做出终 止项目的决定,但却会影响以后各阶段的资源分配。
12
软件项目估算的时机
E4 系统实现 设计通过审查之后,系统的实现工作就开始了。此时需要大量 的程序员参与,因而人员数量会达到高峰,然后随着实现的完成 而降下去。该阶段结束时,初步的软件产品可用于系统测试,前 面各项活动中耗费的资源(时间及人力等)和软件工作量均可以 获得,从而可对原有估算进行调整,后期需要的工作则按此估算 进行计划。 E5 系统运行 当所有的工作都已完成并得到了验证之后,系统就可以投入运 行了。此时,所有的不确定因素都成为已知量,估算工作实际上 是对估算过程的评价,即用实际的消耗与各个阶段估算值进行比 较。这一阶段的估算看似无用,其实对于软件组织来说是必不可 少的,它使得软件组织能够认识到估算活动中需要提高的地方及 组织本身的特点,为下一个项目积累了宝贵的经验。
没有最快, 只有更快!
启示:估算应该征求所有项目相关人员的意见
20
案例总结(续)
②
过大的压力带来意想不到的结果
一个月作完!
20天作完! !
……
21
案例总结(续)
③
Brook法则:当人数增加后,项目所需的工作量 将不 成比例的增加。 管理 协调 通信 更 低 的 工 作 效 率
启示:不是越多人越好,而是合适的人最好
13
软件项目估算的时机
估算进行越早,意义越大
估算进行越晚,精度越高 估算精度
估算意义
项目进展
项目进展
14
影响估算结果的因素
失败因素: 无根据的估算完全不 可信 人们容易低估小项目 的工作量,而过分夸 大大项目的工作量 成功因素: 留出估算的时间,并 做好计划 估算本身也是一个 项目 开发人员参与估算, 并使用几种不同的估 算技术,并比较它们 据估计,规模小于10万行代码的工作被低估的比例 的结果 达60%,而百万行级的工作被高估的比例为80%!
22
软件项目估算的基础
历史数据 在参考历史数据时需要考虑不同的环境。如编程语 言,软件工具,复杂程度,标准和人员的经验。
历史数据
23
软件项目估算的基础(续)
17
案例分析(续)
导致WinWord1.0开发延迟的几个主要因素: ① 项目初期制定的开发目标是不可实现的。 ① 盖茨下达的指示是用最快的速度开发最好的文 字处理软件,争取在12月内完成。实现这两个 目标中的任何一个都是困难的,同时达到则是 不可能的。 ② 过紧的进度计划降低了计划的精确度。 ③ 开发过程中频繁换人。5年中共换了4个组长,其中有 2人因进度压力离职,1人是出于健康的原因而离职。
验证软件产品 系统 测试 系统 评审
使用软件产品 系统 运行 系统 维护
淘汰软件产品 系统 升级 更换 系统
申请 形式化 模块划分 细化
实现
估算体
E1
E2
E3
E4
E5
结果估算
原始估算 初级估算 二级精算估算
软件估算
11
软件项目估算的时机
E1 客户需求 客户需求阶段列出了客户需要的基本软件功能,时间点E1的估 算可以为软件组织提供初步信息,以决定即将开始的软件项目是 否对本组织有利。如果答案是肯定的,则进入下一阶段的工作, 否则就需要重新考虑项目的可行性了。 E2 产品定义 产品定义阶段完成对软件项目的规格说明,进一步细化了系统 功能,为系统设计提供了依据。此时的估算有助于软件组织在进 入产品开发之前再次权衡产品的可行性。