软件项目管理讲座6软件工作量估算.ppt
- 文档编号:2210009
- 上传时间:2022-10-27
- 格式:PPT
- 页数:75
- 大小:1.64MB
软件项目管理讲座6软件工作量估算.ppt
《软件项目管理讲座6软件工作量估算.ppt》由会员分享,可在线阅读,更多相关《软件项目管理讲座6软件工作量估算.ppt(75页珍藏版)》请在冰豆网上搜索。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室讲座讲座5软件项目工作量估算软件项目工作量估算上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件工作量估算软件工作量估算有些估算做得很仔细,而有些却只是凭直觉的有些估算做得很仔细,而有些却只是凭直觉的猜测。
大多数项目超过估算进度的猜测。
大多数项目超过估算进度的25%25%到到100100,但也有少数一些组织的进度估算精确到了但也有少数一些组织的进度估算精确到了1010以以内,能控制在内,能控制在55以内的还没有听说。
以内的还没有听说。
Jones,1994Jones,1994上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件工作量估算软件工作量估算“大多数大多数ISIS人士,无论是否为管理者,从来都无权人士,无论是否为管理者,从来都无权控制他们自己的进度计划。
进度计划通常由市场控制他们自己的进度计划。
进度计划通常由市场部或高层管理部门直接下达,就像飞石从天而降部或高层管理部门直接下达,就像飞石从天而降(也有人称之为鸟粪)(也有人称之为鸟粪)”“就此问题,我曾与就此问题,我曾与ISIS领域中许多人士进行过交流。
领域中许多人士进行过交流。
大家一致认为当前大家一致认为当前ISIS领域面临的最大难题,既不领域面临的最大难题,既不是掌握快速更新的技术,也不是探求新型的管理是掌握快速更新的技术,也不是探求新型的管理哲学,而是被迫接受根本无法达到的进度计划。
哲学,而是被迫接受根本无法达到的进度计划。
”(Robert.L.Glass)Robert.L.Glass)上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室一个月的时间造这样一栋房子?
没问题太好了,那我们开工吧!
你当初计划10万元造的房屋可能最终的实际造价为50万元。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室从造房子中学到的从造房子中学到的w除非你确切知道除非你确切知道“它它”是什么?
否则无法说明它是什么?
否则无法说明它的确切花费。
的确切花费。
w盖房子时,可以盖梦想中的房子(不考虑花费),盖房子时,可以盖梦想中的房子(不考虑花费),也可以按估算盖,但是功能必须具有一定的灵活也可以按估算盖,但是功能必须具有一定的灵活性性上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室不确定性问题不确定性问题w客户会要求客户会要求XX功能吗?
功能吗?
w客户要的是客户要的是XX功能的便宜版本还是昂贵版本呢?
同一功能的不同版本功能的便宜版本还是昂贵版本呢?
同一功能的不同版本的实施难度至少有的实施难度至少有1010左右的差别。
左右的差别。
w如果实施了如果实施了XX功能的便宜版本,客户会不会以后又想要昂贵的版本。
功能的便宜版本,客户会不会以后又想要昂贵的版本。
wXX功能如何设计?
同一功能的不同设计,在复杂度方面会有功能如何设计?
同一功能的不同设计,在复杂度方面会有1010左右左右的差别。
的差别。
wXX功能的质量级别是什么?
依据实施过程的不同,首次提交的功能的质量级别是什么?
依据实施过程的不同,首次提交的XX功能功能的缺陷数量会有的缺陷数量会有1010的差异。
的差异。
w调试和纠正调试和纠正XX功能实施过程中的错误要花多少时间?
研究发现调试和功能实施过程中的错误要花多少时间?
研究发现调试和纠正同样的错误,不同程序员所花时间会有纠正同样的错误,不同程序员所花时间会有1010左右的差异。
左右的差异。
w把把XX功能和其它功能结合起来要花多少时间?
功能和其它功能结合起来要花多少时间?
w上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件工作量估算的渐进性软件工作量估算的渐进性上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室估算的准确性和精确性估算的准确性和精确性w准确(准确(accuracyaccuracy)是)是结果与目标之间有多近结果与目标之间有多近,用,用33代表圆周率比用代表圆周率比用44更准确更准确w精确(精确(precisionprecision)是)是结果有多少有意义的位数结果有多少有意义的位数,3.143.14比比33代表圆周率更精确代表圆周率更精确w一个结果可以不准确而精确,不精确而准确,一个结果可以不准确而精确,不精确而准确,w软件估算中错误的精确是准确的敌人,软件估算中错误的精确是准确的敌人,40407070个个人月的工作量估算可能是最准确又最精确的估算,人月的工作量估算可能是最准确又最精确的估算,而精确到而精确到5555个人月看起来更精确,但不准确。
个人月看起来更精确,但不准确。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件工作量估算困难的原因软件工作量估算困难的原因w估算困难是由于软件的本质带来的,特别是其复杂性和估算困难是由于软件的本质带来的,特别是其复杂性和不可见性。
不可见性。
w软件开发是人力密集型工作的,因而不能以机械的观点软件开发是人力密集型工作的,因而不能以机械的观点来看待来看待w传统的工程项目经常会议相近的项目做参考,不同的只传统的工程项目经常会议相近的项目做参考,不同的只是客户和地点,而绝大部分软件项目是独一无二的。
是客户和地点,而绝大部分软件项目是独一无二的。
w新技术的不断出现和应用。
新技术的不断出现和应用。
w缺少项目经验数据,许多组织无法提供原有项目数据,缺少项目经验数据,许多组织无法提供原有项目数据,而即使提供了这些项目数据,也未必非常有用。
而即使提供了这些项目数据,也未必非常有用。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室例子例子w结论:
很难用这些数据去估算项目结论:
很难用这些数据去估算项目上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室工作量估算的其它困难工作量估算的其它困难w某些人试图建立一个过去项目的全软件业的数据某些人试图建立一个过去项目的全软件业的数据库,但是许多词汇意义的不明确使得这种努力没库,但是许多词汇意义的不明确使得这种努力没有效果,例如有效果,例如“测试测试”阶段究竟包括哪些活动就阶段究竟包括哪些活动就不明确。
不明确。
w估计的主观性:
估计的主观性:
人们容易低估小项目的工作量,人们容易低估小项目的工作量,而过分夸大大项目的工作量而过分夸大大项目的工作量w估计的政治因素:
估计的政治因素:
不同的人有不同的目标,如项不同的人有不同的目标,如项目经理会高估项目工作量,许多机构采用独立的目经理会高估项目工作量,许多机构采用独立的估算小组,但是将项目经理和项目成员吸收进估估算小组,但是将项目经理和项目成员吸收进估算小组,能够增强他们的责任感。
算小组,能够增强他们的责任感。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室何时需要度量何时需要度量w策略计划:
选择合适的项目策略计划:
选择合适的项目w可行性分析可行性分析w系统描述:
实现各个需求的工作量需要被衡量系统描述:
实现各个需求的工作量需要被衡量w评估供应商的建议评估供应商的建议w项目计划:
项目计划:
n项目进行过程中,估算越来越准确项目进行过程中,估算越来越准确n在项目开始阶段考虑的是用户需求,不考虑实现,但在项目开始阶段考虑的是用户需求,不考虑实现,但是为了估算,有时需要考虑一些实现方法是为了估算,有时需要考虑一些实现方法上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室过高估计和过低估计的问题过高估计和过低估计的问题w过高估计的问题过高估计的问题nParkinsonParkinson法则:
给的时间越多,工作花费的时间也越多法则:
给的时间越多,工作花费的时间也越多nBrookBrook法则:
当人数增加后,项目所需的工作量法则:
当人数增加后,项目所需的工作量将不成比例的增将不成比例的增加。
当团队规模变大后,由于管理,协调和通信的增加,将造成加。
当团队规模变大后,由于管理,协调和通信的增加,将造成工作量的增加。
因而工作量的增加。
因而“投入更多的人将使延期的工作更加延期投入更多的人将使延期的工作更加延期”w过低估计的问题过低估计的问题n质量降低质量降低nWeinbergWeinberg的可靠性零法则的可靠性零法则“如果系统不必可靠,那么它可以满足如果系统不必可靠,那么它可以满足任何目标任何目标”。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室工作量估算对职员的影响工作量估算对职员的影响w如果职员能够完成目标,那么他们将受到鼓舞如果职员能够完成目标,那么他们将受到鼓舞w如果他们发现目标根本不能完成,那么他们的激如果他们发现目标根本不能完成,那么他们的激情将受到极大损害情将受到极大损害w因而,估计不是一种简单的预测行为,而是一种因而,估计不是一种简单的预测行为,而是一种管理目标管理目标上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件估算的基础(软件估算的基础
(1)w历史数据的需要历史数据的需要n在参考历史数据时需要考虑不同的环境,如编程语言,在参考历史数据时需要考虑不同的环境,如编程语言,软件工具,标准和人员的经验。
软件工具,标准和人员的经验。
w工作度量工作度量n直接计算真正的成本或时间是不可能的。
编写程序的直接计算真正的成本或时间是不可能的。
编写程序的时间不同的人将有显著的区别。
时间不同的人将有显著的区别。
n通常将工作量表达为如源代码的数量(通常将工作量表达为如源代码的数量(sourcelinesourcelineofcodeofcode,SLOCSLOC),或者千行代码量(),或者千行代码量(KLOCKLOC)上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件估算的基础(软件估算的基础
(2)w复杂性复杂性n相同相同KLOCKLOC的两个程序花费的时间将会不同。
因而不能的两个程序花费的时间将会不同。
因而不能简单地应用简单地应用KLOCKLOC或或SLOCSLOC,而要根据复杂性进行修正,而要根据复杂性进行修正,但是复杂性的度量通常是主观而定的。
但是复杂性的度量通常是主观而定的。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室基于承诺的估计基于承诺的估计w一些组织直接从需求出发安排进度而不进行中间一些组织直接从需求出发安排进度而不进行中间的工作量估算。
他们要求每个开发者作出进度承的工作量估算。
他们要求每个开发者作出进度承诺而非进度估算。
诺而非进度估算。
w有利于开发者对进度的关注,开发者在接受承诺有利于开发者对进度的关注,开发者在接受承诺后士气高昂,自愿加班加点后士气高昂,自愿加班加点w问题在于开发者的估算比现实要乐观,大约低问题在于开发者的估算比现实要乐观,大约低2020至至3030个百分点(个百分点(VanGenuchten,1991)VanGenuchten,1991)w承诺应该现实可行,以使你的团队会不断成功而承诺应该现实可行,以使你的团队会不断成功而不是不断失败。
不是不断失败。
上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室软件工作量估计技术软件工作量估计技术w自下而上:
各个部分的工作量先估算出来,然后自下而上:
各个部分的工作量先估算出来,然后进行合成进行合成w自顶向下:
首先定义整个项目的工作量,然后分自顶向下:
首先定义整个项目的工作量,然后分解到各个部分解到各个部分w专家判断专家判断w对比法对比法w算术模型算术模型wParkinsonParkinson:
能够使用的参与该项目的人力:
能够使用的参与该项目的人力w赢利价格:
赢得合同的价格赢利价格:
赢得合同的价格上海交通大学计算机集成技术开放实验室上海交通大学计算机集成技术开放实验室自底向上方法自底向上方法w该方法首先将项目分成部件任务,然后估算每个该方法首先将项目分成部件任务,然后估算每个任务所需的工作量。
任务所需的工作量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 管理 讲座 工作量 估算