品质铸就品牌知识创造价值项目工作量估算方法交流应用中心广州市品高软件开发有限公司品质铸就品牌知识创造价值议题基本原则与常见问题分析专家评估法和三点评估法的应用结构化分解方法与常用项目管理模型工作量估算N要素工作量估算的意义品质铸就品牌知识创造价值工作量估算的意义第一部分品质铸就品牌知识创造价值装修工程装修出来的房子,如何才能符合客户的预期,让客户满意?最合心意--符合双方共识的设计规划最实用--质量可靠,经久耐用最经济--最少的付出,最昂贵的享受,绝对不能超出预算作为装修公司,你期望的装修过程和结果会是怎么样的?高速度--工程各环节高效实施,各工序间高效衔接,工期短低损耗--工程严格按照设计实施,返工少,物料损耗少成本可控--实际投入符合预算可接受的范围,未出现较大的预算外成本支出合理收益--有利可图,能保证公司的收益和持续发展的需要如何做到双赢和可复制的持续发展模式?品质铸就品牌知识创造价值什么是工作量估算一个成功的软件项目首先要有一个清晰合理的项目计划;一个好的项目计划,必须以一个准确的、可信的、客观的项目估算数据作为基础;项目工作量估算是对项目全生命周期各阶段活动所需投入的人力资源成本进行度量量化、统计的行为活动,产出的成果应成为项目工期估算、计划制定、资源需求估算、风险管理的依据。项目工作量估算也是项目过程中的活动。这里所指的估算仅限于人力成本估算,不考虑采购等非人力的成本估算。品质铸就品牌知识创造价值为什么要对项目进行工作量估算对于庞大的、多变的软件项目来说有着太多的不确定性,必须有合理清晰的计划作为项目执行的控制基准,提高项目可控性。如果项目的计划缺乏数据进行支持,或者根本不进行估算,只凭项目管理人员的经验进行管理,那么项目最终就会变成软件项目常见的“三拍”现象:首先公司领导拍拍某个项目经理的脑袋,说你来负责这个项目;项目经理拍拍胸脯说没问题;最后项目失败的时候项目经理就只能拍拍屁股走人。估算工作量的主要目的是为投标前的决策(如是否投标、外包、内部分包等)和实施阶段的项目预算制定提供数据支持。品质铸就品牌知识创造价值工作量估算的几个要素第二部分品质铸就品牌知识创造价值思考题项目(工作量)估算需要考虑哪些要素?品质铸就品牌知识创造价值工作量估算N要素工作量估算基准标杆数据项目管理模型估算方法项目预算工期要求品质铸就品牌知识创造价值要素--基准标杆数据基准标杆数据是以历史项目的数据为基础分析汇总出来的,通过收集项目数据,通过项目阶段、功能模块、人员角色等不同数据纬度来解剖分析其各个指标,建立不同类型项目的标杆数据。标杆数据可以作为同类型项目的工作量估算参考基准,但同时标杆数据需要不断进行样本积累和学习,对参考值进行调整以满足变化的需要。不同项目团队、同一项目团队的不同时期,因为团队成员综合能力的差异,标杆数据所体现出来的单位产出的成本和产能都会不同,没有统一的标准,因此需要针对实施本项目的团队确定工作效能基准数据。品质铸就品牌知识创造价值要素--项目管理模型选择合适的项目管理模型(项目过程)有利于项目过程、风险、成本的管理控制;项目管理模型真实的再现了预设的项目执行过程,通过制定WBS分解任务项,定义了每个阶段、过程、任务所需要的工期、资源数量和人力成本;常用的项目管理模型有:瀑布式、迭代式。在项目启动初期,需求清晰明确、变动少的,适合采取瀑布式的项目过程,有利于节省项目工作量;在项目启动初期,需求范围不全、目标不清晰,存在需求迭代变更的情况,适合采取迭代式的项目过程,有利于节省不必要的工作量损耗;品质铸就品牌知识创造价值要素--项目估算方法软件开发所涉及的因素(如开发语言、开发工具、开发流程、系统架构、开发人员的经验、业务复杂程度、项目特征等等)不仅多而且异常复杂,即便是极其类似的软件项目也不能完全照搬。因此估算前需要根据实际情况(如项目特征、估算时项目所处的阶段、是否有类似项目数据可参考,等)确定合适的估算方法。常用的估算方法有:Delphi头脑风暴(DWB)法专家法功能点分析(FPA)法三点法品质铸就品牌知识创造价值要素--项目预算项目预算的额度决定了项目实现的需求范围、技术指标和实现的难易程度,间接影响了项目估算的结果;任何项目的需求和成本估算都应该以项目的预算范围为基础,严重偏离预算的项目估算结果,将很可能重新进行项目估算的需要,甚至导致项目机会的丧失;品质铸就品牌知识创造价值要素--项目工期要求项目工期要求的紧急程度,会直接影响项目团队的人员规模、人员稳定性、团队效能、学习成本和沟通管理成本,这些风险因素应该在项目估算中得到体现,以项目风险系数的方式增加工作量;项目风险系数根据经验判断在10%-100%之间进行取值,例如正常工期下估算为100人日的项目,在紧凑工期下的风险系数为30%,则评估工作量为130人日;品质铸就品牌知识创造价值结构化分解方法与常用项目管理模型第三部分品质铸就品牌知识创造价值工作任务分解利器--脑图(思维导图)品质铸就品牌知识创造价值工作计划分解工具--WBS品质铸就品牌知识创造价值常用的项目管理模型瀑布模型快速原型模型V模型增量模型、螺旋模型等不拘泥于形式,根据项目的实际情况选择合适的模型品质铸就品牌知识创造价值模型在项目估算中的作用标准化可复制的项目过程结构化的任务分解方式可量化的资源成本定义符合预期的理性化评估结果品质铸就品牌知识创造价值常见评估方法的应用第四部分品质铸就品牌知识创造价值项目需求模式开发型项目需求具备完整的系统建设需求,通常是重新开发的系统或者进行重大改进升级的项目,拥有完整的项目生命周期,时间周期较长,工作量较大。维护型项目需求通常是已投产运行项目的持续改进型需求,需求规模一般都较小,大多是在已有的功能上进行改进和功能优化,时间进度要求较紧。品质铸就品牌知识创造价值常见的估算方法专家法:Delphi法是一种专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间的差别。对于需要预测和深度分析的领域,依赖于专家的技术指导,可以获得较为客观的估算。通过专家们的互相讨论,还可以博取众长。类比法:类比法适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到估计数据。三点法:这种方法共估计三个值,软件产品预期规模的一般值、最大值和最小值。通过这三个值的计算可得到一个统计学上的期望值和一个标准偏差。其他还有:功能点估算法、运算法等方法。工作量及成本估算不仅只是在项目初期展开,而是在项目的各个阶段都进行工作量及成本的估算,随着项目的开展,工作量估算更加准确。品质铸就品牌知识创造价值估算方法的应用--类比法、功能点估算法基于WBS的分解评估方式此方式主要适用于开发型项目需求的工作量分解评估。基于对项目环境现状、主要目标、技术指标、功能业务需求的了解,通过WBS工具,遵循“业务需求软件需求框架概要设计详细设计开发编码系统测试发布部署维护”的项目流程对项目工作进行WBS细分,基于对项目的理解和项目经理、需求人员的经验,尽可能的细分WBS工作项和系统模块功能点,估算出各工作项的工作量成本经验值,并在估算值的基础上增加一定幅度的风险预防增加值和10%左右的管理成本增加值,形成工作量评估的基准。品质铸就品牌知识创造价值估算方法的应用--三点法、专家法群体评估PK模式通常应用于维护型项目需求的工作量评估,因为这类需求都是在已开发系统上进行改造优化,项目团队成员作为系统的开发者和维护者相对熟悉需求点的各项工作内容,可以按照自己的经验提出对功能设计、开发部分工作的估算工作量,并对评估值的差异部分进行讨论达成共识,最终形成符合项目组实际实施能力情况的工作量判定值。评估的工作量同样包括需求、设计、评审、开发编码、测试、试运行、部署、维护监控等几个主要工作环节。品质铸就品牌知识创造价值基本原则与常见问题第五部分品质铸就品牌知识创造价值原则--把握评估所需的精确度评估的精确度越高、颗粒度越细,所需要考虑的细节就越多,用于评估工作所需耗费的时间成本就越多。对于售前早期阶段的快速估算报价或者需求不够清晰明细情况下的项目估算,适宜采取粗略概算的方式进行评估,评估的过程不需要过多考虑项目各阶段的细节内容,估算结果通常会有±30%的误差;对于以下情况,可以采取更细颗粒度的精算评估方式,更多考虑各工作任务项的细节,将各种风险、管理和技术因素纳入评估,估算结果的误差可以更好的控制在±10%以内;商务谈判和招投标中需要进行项目成本精算的;项目需求清晰明确,或者有系统原型驱动,适合进行精算评估的;框架合同型项目,需求就每次的分阶段项目目标、工作量和客户进行逐一确认的;需要制定项目的详细工作计划,分解任务目标到具体资源的;品质铸就品牌知识创造价值原则--考虑项目资源因素对不同类型资源进行定义不同类型的人力资源成本和报价不同,进行差异化定义有利于更合理报价;项目估算中的资源定义有利于项目双方了解项目中各类角色成员的分工和投入计划;确保专职资源时间项目经理、技术经理通常是项目专职人员,应保证专职人员的工作量覆盖全项目周期,比如计划的项目实施周期为5个月,则项目估算后的项目经理工作量应为5人月;掌握项目团队的平均能力水平项目的实施最终依赖于项目团队全体成员的共同努力,团队成员尤其是开发人员的综合效能决定了产能水平,优秀开发人员的产出效率往往和普通人员相差数倍,因此在进行项目估算的时候,必须充分了解项目组乃至公司技术团队人员的平均能力水平,做出符合实际情况的评估;考虑有效工作效率评估往往是基于理想工作效能来做的,但实际情况是有效工作量通常不会高于80%,即一天工作8小时的有效产出往往只有6小时左右,连续加班的则更低品质铸就品牌知识创造价值原则--合理的成本比例按角色职能增加项目管理成本,成功的项目离不开项目管理的投入,通常来说,项目经理、助理、QC等角色共同用于项目管理的工作量约占项目总工作量的8%-12%;开发人员工作量与测试人员工作量的比值在3:1至5:1的区间范围;按项目阶段项目实施的四个主要阶段,需求:设计:开发:测试之间的工作量比值系数的参考经验值是1:1:2:1,如果是原型驱动模式,则需求阶段工作量占比应相应提高;一般软件开发项目用于开发阶段的工作量占总工作量35%-50%,如高出该比例,则容易出现成本超支或质量风险;以上四个主要阶段工作量一般约占项目实施总工作量的90%-95%,其他则是项目前期策划、发布、培训、支持、验收、综合管理的工作量;品质铸就品牌知识创造价值原则--考虑风险、常识的因素考虑返工的因素现实来看,还没有哪个项目能够做到没有任何返工并能一次性完成预设目标的,往往由于过程控制检查的疏忽、人员能力的不足等原因,导致不同程度的返工,因此在估算时需要考虑返工甚至多次返工的情况,体现在工作量估算上的形式有:阶段成果的评审和review,不少于2-3轮的单元测试、集成测试和问题修复等;考虑技术风险某些项目牵涉到新技术的应用或者某些技术攻关工作,对这些工作由于没有历史经验供参考,往往不如常规功能模块开发那样可控,因此对于这类工作任务项,在专家评估的经验工作量基础上,建议增加50%-100%的风险预防工作量;考虑工期因素同一个项目,在不同的工期要求下,所需要的资源数量和面临的风险压力是不同的,如果项目工期的要求迫使我们必须比正常情况下加快项目进度,通过增加资源数量和加班的方式达成目标,则必须考虑增加学习、管理的成本,并且考虑人员流动的风险;品质铸就品牌知识创造价值原则--尽量降低不可控风险以原型为基础的评估通过DEMO原型、需求方案来确定项目目标范围和风险点,有利于降低前期业务需求、技术指标不明确带来的风险;对于非招投标目的、受控的项目,应尽量争取较晚提供评估的结果,比如需求调研完成后、DEMO原型确认之后,可以最大限度的明确项目建设目标分离技术研发和功能开发的工作牵涉到新技术研发应用和组件化开发的需求,需要将研发的工作分离出来制定独立的工作计划和工作量,不要和研发成果在功能开发上的应用混在一起;技术可行性验证