探讨度量软件研发成本度量规范建立及运用

当前位置: 大雅查重 - 范文 更新时间:2024-03-07 版权:用户投稿原创标记本站原创
在实际的软件应用中,越来越多地以项目形式组织软件产品的开发与交付。而软件项目是否能够成功,在很大程度上取决于项目估算做的准确不准确,并且软件项目成本估算影响到顾客满意度、软件资产衡量等多个方面。因此,软件开发成本度量对于人们认识软件的作用与评估软件价值,具有非常重要的作用。
成本度量的驱动力
在项目的规划、预算与立项阶段,软件委托方依据业务策略发展的需要,产生对软件系统的初步需求,在此阶段,软件项目处于酝酿期,是否能够立项,还需要对软件进行规模和成本估算,以便权衡其投入与效益,以及在整体预算中的重要程度。而潜在的软件提供方,也需要进行初步的需求分析和开发成本的估算,以评估项目的资源投入、初步的利润率。因此,项目甲乙双方都需要考虑软件规模和成本估算。
随着项目的立项和招投标的开展,委托方进一步需要评估招标底价、估算工期,开发方同时需要依据自身能力、项目策略估算投标的报价和产品的交付时间。在此阶段,双方通过对软件功能与价值评估进一步量化细化,达到双方都认可的平衡点,确定项目目标范围、工期以及。
进入开发的计划与实施阶段,双方关注的重点是业务需求的实现,变更的控制和管理,以及产品控制等方面,在项目前期建立的工作量、成本估算将进一步细化分解到开发任务上,以开发计划的形式作为工期、成本以及缺陷控制的目标与基准。
进入产品交付与决算阶段后,开发计划与开发过程的数据将支撑委托方的软件决算,以及开发方对软件项目的绩效考核、生产效率,以及整体项目的评估等方面。不仅在商业活动中的甲乙双方对此有强烈的愿望,作为第三方机构,如软件行业协会、标准制定机构等,也希望建立行业的度量基准数据库,制定软件行业的度量标准,推动和引导行业的发展。
度量规范的建立
在传统的建设工程实践中,建造一栋楼可以依据材料使用、建筑工程量测算其造价,软件既然是工程师的智力投入形成的信息集合,是否也可以依据工程师的工作量测算其造价?代码行LOC(Lines of Code)作为最早的软件规模度量单位,广泛被业界使用。然而任何一个合格的工程师都能够写出成堆的新代码以完成新功能,但是真正的高手能够在交付新功能的同时减少原有的代码,因而LOC的估算方法也极具争议。
另外,从客户的角度来看,他们并不关心代码的规模,而软件真正能提供什么样的功能以实现客户需求才是最重要的。因此,从应用的角度对软件规模进行度量更能获得认可,例如:可采用国际标准化组织ISO/IEC发布的规模度量标准ISO/IEC 20926(IFPUG方法)等度量标准。
虽然可以用成本估算框架在项目初期进行软件成本的估算,但必竟在此阶段委托方及使用方都还未完全理解目标系统的功能与性能需求以及系统环境等情况,因此估算偏差会比较大。尤其是功能规模估算和行业基准数据的准确性对于估算偏差具有非常大的影响。而此两项因素又取决于软件本身的复杂程度、应用类型、质量要求、技术、开发方法,以及开发团队的经验、效率和软件所依赖的内外部环境,甚至包括行业的软件应用程度、用户参与度、委托方的要求、企业文化等多重因素的影响(如图所示)。
在这些因素中,有些可以量化,有些难以量化,有些彼此交叉影响,有些需要建立较为复杂的模型或方程式进行测算,有些只能参照历史经验的数据作为比较的基准。因此建立统一的规范和值得信赖的比较数据基准,是非常重要的。
基于这个现状,中国软件协会过程改进分会制定了《软件研发成本度量规范》和行业软件开发项目数据平台,提供了软件开发各方在经济活动中对软件系统进行成本测量和软件定价的标准依据。会计毕业实践论文
度量标准的应用
软件成本度量规范与标准的应用,可推动企业实现可控、可视的量化管理。但其实施过程,是一个融合管理与技术的系统工程,涉及到软件研发部门的过程控制、项目管理、技术能力,尤其在实施的初期,需要组织专门的人力对度量方法进行培训,对项目数据进行分析收集整理,所有这些活动可能会在短期内增加软件项目的管理成本并影响项目的生产率,因此在实施中要特别注意关键环节的控制并消除负面的影响。

一、培养成本度量专业人才

软件成本度量需要对软件进行功能需求分析,运用功能点分析方法、类比法或类推法等对软件进行规模估算、工作量测算,结合基准数据确定影响因子的取值,推算出工期与成本。整个过程要求估算工程师不仅要具备软件工程的功底,还要有项目管理、成本控制、数据统计等方面的综合知识体系。除此之外,项目经理、质量工程师、软件架构工程师、软件工程师等软件研发过程的各个角色,都需要理解成本度量的方法,形成成本度量的思维,才能在整个软件研发过程中形成度量规范的认可氛围。

二、融合软件研发过程控制

虽然本文阐述的软件成本度量标准是基于软件功能规模进行估算,并不涉及软件开发方法和技术,但组织所使用的软件开发方法,如快速原型法、瀑布模型,甚至敏捷开发等会成为开发成本的影响因子,因而在建立历史的基准数据库和确定影响因子的取值过程中,对成本度量估算数据的偏差带来影响。
此外,成本度量的根本目的,除了评估软件的价值,更重要的还要在过程中管理和控制好软件的成本和质量,因此它并不是独立的评估和管理过程,而要与组织的软件成熟度控制,以及使用的软件开发模型和项目管理的方法充分配合,以建立适合软件开发组织的修正估算模型,提高软件度量的准确性。

三、建立适合于应用环境的基准数据库

从规模估算到工作量估算、工期估算以及最终的成本估算,每个环节,都离不开调整因子的作用,用调整因子简化估算过程是度量标准能否推广应用的关键,而实际项目的基准数据平台又是决定调整因子取值、控制偏差的关键问题。基准数据平台从实际项目的数据进行采集,并依据行业和应用等进行分类整理。