您好,欢迎访问三七文档
项目估计方法质量控制中心内容提纲一、项目估计的概述二、估计策略三、常用估计方法四、如何估计进度五、重复估计一、项目估计的概述项目估计的概念估计的目的对项目估计的预期估计的准则有效的估计有什么特点项目估计的概念软件项目估计是指以准确的调查资料和项目信息(如人员和设备信息)为依据,从估计对象的历史、现状和及其规律性出发,运用科学的方法,对估计对象的规模、所需工作量和成本进行的测定。估计的目的做项目计划的基础项目策划需要解决哪些问题:这个项目有多大?多长时间能把项目做完?安排多少时间编码、多少时间测试?向公司申请多少工作量的预算?对项目估计的预期首先力求估计结果是准确的,而后再进一步要求精确的在软件项目估计活动过程中,一些从业人员往往会说,“软件项目估计有什么用,我们估计的时候可能有456个功能点,可到交付的时候却有600多个,根本就牛头不对马嘴”。但是,我们认为,软件项目估计首先要求结果是准确的,也就是正确的,而后再进一步要求精确的。错误的估计将影响项目管理人员决策,影响项目的开发。正是因为这样,力求估计值在一个大致正确的范围做估计时的行为准则估计时间越早,错误越大任何一个估计都比没有估计好估计文档化做得越好,获得估计经验的机会越大用于估计的资料数据越多,估计的结果越好有关估计的对象的信息越准确,估计就越准确估计的对象最好是比较小且工作单元是独立的虽然有各种估计方法和公式,没有1:1的转换公式实事求是的估计人员越多,估计的结果越客观估计的目的是用来做决策,而不是估计完了就完了。一个有效的项目估计应满足以下特点软件项目估计结果要能再现有效估计是这样:后面进行的估计在相同条件下,即拥有项目资料的相等的情况,不同的估计人员应用相同的估计方法,两者的结果是一样的。这就是项目估计结果的可再现性。当然,随着项目不断深入,估计人员应该会获得更多,更详细的项目资料,那么估计的结果应该也更加准确和精确。应用了多种估计方法采用多种估计方法可以从不同的角度比较估计结果,减少估计的错误和保证安全估计过程是可管理和控制的估计过程是文档化二、估计策略确定估计对象、估计方法不同的估计策略,不同的切入点需要估计的数据软件产品有多大-软件产品的规模-(代码行或者功能点)多长时间-工期-天数总工作量-人月各种活动的工作量-拆分项目组的活动-各种活动之间的比例项目估计-是一个整体产品规模(千行)生产率工期(天)总工作量(人月)测试工作量编码工作量管理工作量设计工作量需求分析工作量成本各工作量的比例开发各模块的工作量各模块的规模插入两个系数的介绍生产率=代码行除以工作量不同的“分子”、“分母”,得出不同概念的生产率比如全生命周期的生产率、编码阶段的生产率不同开发语言之间的代码行数如何转换注释行和空行各种活动的工作量比例需求分析10%编码及单元测试30%设计15%系统测试20%项目管理12%培训3%支持工作(QA/CM)10%系数来自于组织,每个项目也可以结合自己项目的情况单独估计估计策略一由产品规模入手求和各种活动的工作量(人月)总工作量(人月)工期成本各模块的规模(千行)产品拆分产品规模(千行)全生命周期的生产率各活动工作量比例设备等非人力成本任务拆分举例估计策略二由产品规模入手求和总工作量(人月)工期(天)成本产品拆分产品规模(千行)编码阶段的生产率各活动工作量比例设备等非人力成本各模块的规模(千行)编码活动的工作量(人月)各种活动的工作量(人月)估计策略三由工作量入手求和各模块的编码工作量(人月)总编码工作量(人月)各活动工作量比例各种活动的工作量(人月)总工作量(人月)工期(天)成本任务拆分设备等非人力成本生产率各模块的规模(千行)产品规模(千行)估计策略四分别估计工作量和规模然后验证生产率求和各模块的编码工作量(人月)总编码工作量(人月)各活动工作量比例各种活动的工作量(人月)任务拆分总工作量(人月)求和各模块的规模(千行)产品拆分产品规模(千行)生产率业界或公司历史生产率对比估计策略综述为合适的估计对象选择合适的估计方法三、常用的估计方法类比法Delphi法专家判断法代码重用法类比法-步骤从历史项目中找到类似模块统计历史模块的规模标识待估计模块和历史模块之间的差异,一般用比例系数表示依据2、3步的结果进行计算,得出估计值类比法-适用情况历史数据完备、且准确程度较高待估计项目与已历史项目在应用、环境和复杂度方面相类似,具有可比性估计人员有相关领域开发的经验类比法-特点可估计规模、工作量等很多数据准确性依赖于历史数据的准确性要求有一个丰富、准确、可靠的组织度量库类比法-例子Delphi法-步骤确定估计的停止条件(收敛于某一范围(比如平均值上下20%以内),达到某一估计次数(比如估计次数达到4次))讨论有关软件规模或工作量的问题参加估计的每个人填写估计表格主持人收集表格,并计算判断是否达到停止条件,如否,则继续下一轮估计主持人召集所有参加估计的人员讨论,主要是讨论估计上差异继续估计,直到符合结束条件Delphi法-适用情况在历史数据不完全的情况下开发新项目相关人员对开发所涉及领域不够熟悉程等对大/中/小项目都可使用。Delphi法-特点对历史数据的依赖性不大应用范围广泛:规模、工作量、工期、生产率等跟数字有关的估计专家判断法-步骤列出需要估计的规模/工作量专家根据经验对每项进行估计专家可根据每个任务实现难度和风险的大小,适当调整估计值专家判断法-适用情况没有准确的历史数据估计者有类似项目的经验一般只用于小项目或软件的升级版本情况,由熟知此项目的专家来进行估计。代码重用法-适用情况本方法仅适用于对可重用模块的规模估计,如软件的升级版本等情况。代码重用法-步骤介绍本方法涉及三个参数,分别是新设计的百分比(%Redesign)、重新编码的百分比(%Recode)和重新测试的百分比(%Retest),使用这三个参数可以计算使用重用模块的代码规模计算公式为:([%Redesign+%Recode+%Retest]/3)×ExistingCode=EquivSLOCs代码重用法-举例如果想重用一个有10000行代码的模块,其中40%需要重新设计,50%需要重新编码,60%需要重新测试,那么等价的新开发的代码量是:([40%+50%+60%]/3)×10000=5000SLOC如何估计进度自上向下自下向上调整自上向下选择合适的生命周期模型根据估计的“各阶段工作量”、“项目总工作量”,估计各阶段的进度根据公司对项目时间的要求,在不同阶段适当增减人力资源,以保证时间目标能保证对项目的宏观控制自下向上把项目拆分成若干工作包(WBS):横向到边,纵向粗细适中估计每个工作包的工作量及进度累加,估计出每个阶段的工作量及进度累加,估计出项目整体的进度调整“自上而下”和“自下而上”会得出两个不同的结果上下调整:增减资源、重新安排关键路径、或者重新估计工作量得出一个充分权衡了各个因素的进度估计重复估计—大胆假设之后的小心求证对项目的估计贯穿项目的始终随着项目的进行,对项目了解程度的加深,可以再次估计依据新的估计结果,调整后期的计划
本文标题:项目估计方法培训
链接地址:https://www.777doc.com/doc-805549 .html