项目管理专题----项目估算中国软件评测中心北京賽迪国软认证有限公司中国软件评测中心/北京赛迪国软认证有限公司建造一个大软件的复杂程度超过了埃及金字塔110,000,000LOCSINWINDOWS95中国软件评测中心/北京赛迪国软认证有限公司为项目建立切实可行的预算和日程安排确定适当的人员层次为作出项目承诺准备基础自顶向下估算估算软件规模估算工作量估算外部成本估算关键设备资源建立管理预留建立日程表建立项目基线4.9详细阶段计划估算的目的中国软件评测中心/北京赛迪国软认证有限公司估算精度提高的曲线中国软件评测中心/北京赛迪国软认证有限公司拍脑袋法(针对所有的估算)类比法(针对所有的估算)Delphi法(针对所有的估算)代码行估算法(针对规模)FPA方法(针对规模)WBS方法(项目成本估算)PERT估计法(针对项目工期)不同的软件估计技术中国软件评测中心/北京赛迪国软认证有限公司估算的原则估算的原则中国软件评测中心/北京赛迪国软认证有限公司特点提供项目所需人力的总体估算运用产业或组织的生产力数据改进估算没有历史数据时,WidebandDelphi方法是最佳选择规模估算方法(如:LOC,FP)计算产品的规模确定必要的生产力因素调整规模估算自顶向下中国软件评测中心/北京赛迪国软认证有限公司利用自顶向下方法,在项目定义阶段得出最初估算阶段启动前作出详细的阶段计划,每一个阶段都是“新项目”对WBS较低层元素作出估算并汇总,得出阶段和项目的总估算后继阶段的估算精度不断提高滚波逼近法中国软件评测中心/北京赛迪国软认证有限公司初步计划修改剩余阶段计划需求阶段修改剩余阶段计划设计阶段编码和单元测试阶段修改剩余阶段计划验收测试及发布阶段项目定义需求设计编码与测试验收、测试及发布滚波逼近法的应用中国软件评测中心/北京赛迪国软认证有限公司每个项目都需要构思估算策略需要估算的数据的类型什么时候需要做什么样的估算估算技术估算的频度需考虑的因素项目的类型需求:已知?稳定?理解?软件工程模型可用的历史数据风险估算策略中国软件评测中心/北京赛迪国软认证有限公司通用估算方法通用估算方法中国软件评测中心/北京赛迪国软认证有限公司类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到估计数据。类比法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖的。类比法(通用)中国软件评测中心/北京赛迪国软认证有限公司对估算取得共识的方法需要一组专家提交匿名的估算报告,并对其进行记录、复审、讨论估算的过程是迭代式的,直到取得共识E1、计划E2、开始会议E3、个人准备E4、估算会议E5、综合结果E6、完成估算WIDEBANDDELPHI法中国软件评测中心/北京赛迪国软认证有限公司确定估算类型选择一个协调人选择参与者知识和经验制订会议日程组织需要的信息要估算的产品的详细说明任务清单或WBSE1、计划策划DELPHI估算中国软件评测中心/北京赛迪国软认证有限公司协调人(SQA)将以下的估算信息提供给估算专家要估算的产品WBS的详细说明估算会议要达到的目标(例子)假设与限制必要时,解释WidebandDelphi方法估算专家复审已有信息,如有必要,确定尚需信息以提供的WBS和任务清单为估算基础,确定统一的度量单位(如:小时)E2、开始会议会议开始中国软件评测中心/北京赛迪国软认证有限公司专家独立地对每个任务作出初始估算将估算结果记录到Delphi估算表里,并注明用到的假设条件估算假设示例:假设一个人完成全部任务假设所有的任务按顺序完成假设执行任务中没有干扰E3、个人准备个人准备中国软件评测中心/北京赛迪国软认证有限公司DELPHI估算例表中国软件评测中心/北京赛迪国软认证有限公司E4、估算会议会议的协调人收集各参与者的估算数据并建立估算图表不能透露具体的评估人估算会议-1中国软件评测中心/北京赛迪国软认证有限公司与会者讨论估算的客体、假设及其他相关的任何分歧和问题可能要添加到WBS的任务讨论时间限制在15-20分钟讨论后,专家们根据对产品更新的理解以及讨论中获得的新信息修改个人的估算协调人收集每次修正的估算并记录在同一张图表里,完成一轮估算继续此过程直到:已经作了四轮估算,或估算的分布范围已小到可以接受,或会议时间(通常是两个小时)已用完,或专家们都不想改变自己的估算估算会议-2中国软件评测中心/北京赛迪国软认证有限公司DELPHI估算例表中国软件评测中心/北京赛迪国软认证有限公司E4、估算会议估算会议-2中国软件评测中心/北京赛迪国软认证有限公司E5、综合结果会议协调人用估算结果表来总结估算的结果只要有新的任务被识别,就要更新WBS图结果汇编中国软件评测中心/北京赛迪国软认证有限公司召开会议审批估算结果可选的方法取平均值取中给出一个范围给出平均值,乐观值,悲观值满足以下条件时估算就完成了取得共识已把最终的WBS及其估算结果记录在综合估算表里假设已经记录在文档里E6、完成估算完成DELPHI估算中国软件评测中心/北京赛迪国软认证有限公司估算规模估算规模中国软件评测中心/北京赛迪国软认证有限公司代码行估算源代码行(LOC)源代码语句的数目了解需求并考虑历史产品的情况,结合所使用的工具,以及是否进行组件重用及购买。进行估算估算软件规模中国软件评测中心/北京赛迪国软认证有限公司代码行估算方法是一种经验估算方法,通常会采用类比方法和DELPHI方法,有时候也会采用PERTsizing方法帮助估算,估计结果与估计的人员、使用的开发工具紧密相关。代码行估算中国软件评测中心/北京赛迪国软认证有限公司用例点数根据一个应用程序的用例来估算它的规模和工作量。依据GustavKarner1993年的工作,UCP分析用例角色,场景和各种技术、环境因素,并抽象它们,得到一个计算公式。用例点估算中国软件评测中心/北京赛迪国软认证有限公司技术复杂度因素(TCF).环境复杂度因素(ECF).原始用例点数(UUCP).生产力因素(PF).UCP=TCP*ECF*UUCP*PF用例点估算中国软件评测中心/北京赛迪国软认证有限公司确定并计算技术因素.确定并计算环境因素.计算原始用例点数.确定生产力.计算用例点数(UCP).依据UCP方法进行估算的步骤如下:中国软件评测中心/北京赛迪国软认证有限公司估算工作量估算工作量中国软件评测中心/北京赛迪国软认证有限公司根据产品的WBS,估计每项任务需要的人天示例工作量估算示例中国软件评测中心/北京赛迪国软认证有限公司方法用WidebandDelphi方法依赖于专业知识用生产力数据进行计算(适用于过程体系已经推行很长时间,有足够的度量数据)需要软件规模的度量数据(如用例点)和可靠的生产力数据需要软件工具支持(如:COCOMOII)估算工作量中国软件评测中心/北京赛迪国软认证有限公司估算工期进度估算工期进度中国软件评测中心/北京赛迪国软认证有限公司估算工期进度制定初步的项目进度表,估计每项任务的需要时间和需要人数。用PERT估计法估计项目工期中国软件评测中心/北京赛迪国软认证有限公司PERT对各个项目活动的完成时间按三种不同情况估计:1.乐观时间(optimistictime)--任何事情都顺利的情况,完成某项工作的时间。2.最可能时间(mostlikelytime)--正常情况下,完成某项工作的时间。3.悲观时间(pessimistictime)--最不利的情况,完成某项工作的时间。假定三个估计服从β分布,由此可算出每个活动的期望:Ti=Ai+4Mi+Bi/6其中:ai表示第i项活动的乐观时间,mi--表示第i项活动的最可能时间,bi表示第i项活动的悲观时间。PERT估计法(项目工期估算)中国软件评测中心/北京赛迪国软认证有限公司通常项目组成员花70-80%时间在项目活动上一些任务因为其特性(比如文档复审)需要更多的时间80工时的活动60小时的任务20小时的任务项目活动其他活动估算历时中国软件评测中心/北京赛迪国软认证有限公司示例工期估计示例中国软件评测中心/北京赛迪国软认证有限公司估算项目成本估算项目成本中国软件评测中心/北京赛迪国软认证有限公司利用WBS方法,先把项目任务进行合理的细分,分到可以确认的程度,如某种材料,某种设备,某一活动单元等。然后估算每个WBS要素的费用。采用这一方法的前提条件或先决步骤是:1.对项目需求作出一个完整的限定。2.制定完成任务所必需的逻辑步骤。3.编制WBS表。WBS基础上的全面详细估算(项目成本估算)中国软件评测中心/北京赛迪国软认证有限公司为较高的层次上的元素建立初始的预算在详细的阶段计划中准备较低层次上的预算依照WBS分摊预算中国软件评测中心/北京赛迪国软认证有限公司典型的外部资源开发用的硬件软件工具作为交付产品的一部分而购买的软件以合同形式从外部获得的服务培训(课时费用及其他)尽可能地把这些成本和WBS最底层元素有机地联系起来4.4估算外部成本估算外部成本中国软件评测中心/北京赛迪国软认证有限公司估算外部成本进度表和WBS表完成之后,就可以进行成本估算了。成本估算步骤如下:对每个WBS要素的详细费用估算。还应有一个各项分工作、分任务的费用汇总表,以及项目和整个计划的累积报表。每个部门的计划工时曲线。如果部门工时曲线含有“峰”和“谷”,应考虑对进度表作若干改变,以得到工时的均衡性。逐月的工时费用总结。以便项目费用必须削减时,项目负责人能够利用此表和工时曲线作权衡性研究。逐年费用分配表。此表以WBS要素来划分,表明每年(或每季度)所需费用。此表实质上是每项活动的项目现金流量的总结。原料及支出预测,它表明供货商的供货时间、支付方式、承担义务以及支付原料的现金流量等。中国软件评测中心/北京赛迪国软认证有限公司示例成本估算示例中国软件评测中心/北京赛迪国软认证有限公司其他注意的地方其他注意的地方中国软件评测中心/北京赛迪国软认证有限公司一个全职的开发人员能否管理一个项目?什么时候需要一个全职的项目经理?规律:管理活动应占整个工作量的15%-20%对项目管理活动做出估算中国软件评测中心/北京赛迪国软认证有限公司典型的活动配置管理质量保证培训项目组成员QA和CM必须为他们的工作做估算规律:各占技术工作量的5%估算项目支持活动中国软件评测中心/北京赛迪国软认证有限公司变更和问题难以避免为变更设立管理预留(20%)结构松散的项目需要更多的预留制订可行的规则,使用管理预留必须遵守这些规则变更请求程序使用管理预留须授权为变更设立预算中国软件评测中心/北京赛迪国软认证有限公司原来的阶段估算:1000小时详细的阶段估算:1300小时变化:-300小时如果变化非常大,将会造成项目的变更请求,并产生一个新的成本/日程基线要重新进行承诺、评审和批准估算的变化中国软件评测中心/北京赛迪国软认证有限公司是完成项目计划及跟踪项目的需要也是过程数据库的需要,以便用于将来的人力估算包括:规模和成本估算估算所使用的方法项目的特征将估算记录写入文档中国软件评测中心/北京赛迪国软认证有限公司