- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
七种场景下的软件工作量估算步骤2008-01-04 来自:java060515??[收藏到我的网摘]
场景一:合同前的工作量估算场景描述:(1)没有实施过CMMI2级(2)合同未签,需要给客户报价(3)有客户的概要需求,有类似的项目数据可供参考(4)需要估计整个项目的总工作量,以便于估算总成本,给客户报价估算步骤:(1)寻找类似的历史项目,进行项目的类比分析,根据历史项目的工作量凭经验估计本项目的总工作量;(2)进行WBS分解,力所能及地将整个项目的任务进行分解;(3)参考类似项目的数据,采用经验法估计WBS中每类活动的工作量;(4)汇总得到项目的总工作量;(5)与第(1)步的结果进行印证分析,根据分析结果,确定估计结果。场景二:基于详细需求的经验估计场景描述:(1)只有详细需求,没有历史数据估算步骤:(1)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。(2)采用经验法估计每个活动的工作量;(3)汇总得到:每个阶段的工作量、项目的总工作量。其他说明:在该场景下,只使用了经验法,无法对结果进行印证,难以判断结果的合理性。场景三:由编码估算整体场景描述:(1)有类似项目的历史数据(2)有编码活动的生产率数据(3)有详细需求(4)实施了CMMI2级,但是没有积累历史项目的工作量分布数据估算步骤:(1)产品分解,将系统分为子系统,子系统分解为模块;(2)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。(3)建立WBS分解中的活动与产品元素的映射关系,识别出WBS中哪些活动可以采用模型法估算;(4)估计产品元素的规模,可以采用代码行法或功能点法,并估计每个产品元素的复杂度、复用率等;(5)根据历史的编码阶段的生产率数据和产品元素的规模估计、复杂度、复用率等采用模型法计算每个产品元素的编码工作量;(6)根据历史的类似项目的数据及估算人的经验估计其他活动的工作量,可以采用经验法。(7)汇总得到:每个阶段的工作量、项目的总工作量。其他说明:在该场景下,混合使用了经验法与模型法,这2种方法互相补充,而不是互相印证。场景四:由总体印证基于WBS的估计场景描述:(1)有类似项目的历史数据 (2) 有类似项目的全生命周期的生产率数据(含管理工作量)(3)有详细需求(4)实施了CMMI2级,但是没有积累历史项目的工作量分布数据估算步骤:(1)产品分解,将系统分为子系统,子系统分解为模块;(2)估计产品元素的规模,可以采用代码行法或功能点法;(3)累计出整个产品的总规模,并估计产品总体的复杂度、复用率等;(4)根据类似项目的全生命周期的生产率数据和产品的总规模、复杂度、复用率等采用模型法计算总的开发工作量;(5)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。(6)根据历史的类似项目的数据及估算人的经验估计所有活动的工作量,可以采用经验法。(7)汇总得到:每个阶段的工作量、项目的总工作量。(8)与第(4)步得出的工作量进行比较印证,如果偏差不大,则以第(7)步的结果为准,如果偏差比较大,要仔细分析原因,可能的原因举例如下:类似项目的生产率数据不适合本项目;WBS分解的颗粒度不够详细;估算专家的经验不适合本项目;具体任务的估计不合理;针对原因,对估算的结果进行调整,使其趋向合理。其他说明:在该场景下,对于项目的总工作量有2个结果或者多个结果,这些结果可以互相印证,以发现估算过程中的不合理之处,是估计更加合理。场景五:三维印证基于WBS的估计 场景描述:(1)有类似项目的历史数据 (2) 有类似项目的全生命周期的生产率数据(含管理工作量)(3)有详细需求(4)实施了CMMI3级,有历史项目的工作量分布数据(阶段分布、工种分布)估算步骤:(1)产品分解,将系统分为子系统,子系统分解为模块;(2)估计产品元素的规模,可以采用代码行法或功能点法;(3)累计出整个产品的总规模,并估计产品总体的复杂度、复用率等;(4)根据类似项目的全生命周期的生产率数据和产品的总规模、复杂度、复用率等采用模型法计算总的开发工作量;(5)根据历史项目的工作量分布数据及第(4)步估算的项目总工作量,计算:? 每个阶段的工作量? 每个工种的工作量(6)WBS分解,将任务分解到一个人或者一个小团队可以执行的颗粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。(7)根据历史的类似项目的数据及估算人的经验
文档评论(0)