高端学术
您当前的位置:核心期刊咨询网文史艺术论文》软件开发劳动计量方法与软件成本估算

软件开发劳动计量方法与软件成本估算

来源:核心期刊咨询网时间:2021-10-22 10:5512

摘要:[摘要]通过对软件开发成本的分析,发现软件开发劳动量是软件成本函数的重要变量,准确计量软件开发劳动对于提高软件成本估算的准确性具有重要意义。根据劳动计量的基本原理,分析发现现有软件开发劳动计量方法存在不足。结合软件开发劳动过程的特点,本文提出了

  [摘要]通过对软件开发成本的分析,发现软件开发劳动量是软件成本函数的重要变量,准确计量软件开发劳动对于提高软件成本估算的准确性具有重要意义。根据劳动计量的基本原理,分析发现现有软件开发劳动计量方法存在不足。结合软件开发劳动过程的特点,本文提出了软件开发劳动计量的新方法——综合计量法。最后探讨了综合计量法对软件成本估算的意义。

  [关键词]软件开发;成本估算;劳动计量

软件开发论文

  软件项目成本的估算对于投资决策、项目成功具有重要的意义。它是软件项目可行性分析的基础,是制定软件项目成本计划和进度计划的前提;还是进行软件项目风险管理的依据。然而现实中软件开发项目存在严重的成本超支的问题。据standish Group 2004年50000 多个软件项目的统计结果显示平均预算超支 89%,对软件开发成本估算大大不足是其主要原因之一。[1]因此软件项目的成本估算成为软件项目管理研究的热点问题。

  现有的软件成本估算研究,取得了一系列成果。比如软件成本估算的鼻祖Boehm提出了CoCoMo算法、CoCoMoII算法。 Putman提出了大型软件项目工作量的估算算法,以及布鲁内耳大学的Shepper将类推算法用于软件成本估算。还有一些学者利用回归算法、专家判定法、工作矩阵分解法、遗传算法、人工神经网络法估算软件成本。他们不仅对估算算法进行研究,还对数据的来源、普适性、缺失数据处理、预测精度、提高精度方法等问题进行了深入研究。然而在国内外鲜有文献从劳动计量的角度研究软件成本估算问题。通过成本分析可以看出软件成本的主要构成是人力成本,软件开发劳动的计量,是核算人力成本的基础。因此研究软件开发的劳动计量对于提高软件开发成本估算的准确度具有重要的理论和实际意义。由于软件产品的独特性和脑力劳动的复杂性,软件开发劳动量的估算较为困难,现有的对软件开发劳动量估算主要靠经验,本文试图根据劳动价值理论对软件开发劳动计量方法进行初步探索。

  深入研究劳动计量问题的文献最早可追溯到马克思的劳动价值理论。之后,泰勒从提高劳动生产率角度探讨了如何具体地对劳动进行计量,并将之运用于实践。吉尔布雷斯夫妇就劳动动作简化问题作了细致的研究,甘特提出用甘特图作劳动计划、计件奖励工资制。实际工作中人们对于软件开发劳动的计量,有以开发所耗的人月数表示的,也有以功能点估算工作量的,还有用代码行表示劳动量的。如 COCOMO方法以代码行为基础,Albrechet以功能点为基础进行估算.基于劳动价值理论的劳动计量方法是软件开发劳动计量的理论基础,从劳动计量的理论角度分析,这些计量方法都存在不足之处:将复杂劳动简单化,用计量体力劳动的方法计量脑力劳动。本文以下组成首先分析软件开发成本的构成,然后对现有软件开发劳动计量方法进行评述,在提出新的软件开发劳动计量方法,最后利用COCOMO数据,验证该方法的有效性。

  二、软件开发成本的构成

  从马克思的劳动价值理论、生产要素分类、成本与产量的关系三个方面解析,可以看出劳动力成本是软件开发成本的重要组成部分,劳动量是软件开发成本函数的重要变量。

  按照经典劳动价值理论的的观点:软件开发成本是企业为了生产软件所作出的价值牺牲。w=c+v+m ……(2)

  其中w-商品价值,c-生产资料转移的价值,v-劳动者为自己劳动所创造的价值,m-剩余价值。c+v构成理论成本。

  为了说明在软件开发中哪种生产手段对成本的形成起主要作用,按生产要素类型对c+v划分:

  c+v=t+y+l+g……(3)

  其中t-土地成本,y-原材料及附加成本、l-劳动力成本、g-固定资产费用。即:

  可以看出:

  c = t+y+g,v=l……(4)

  土地成本包括购买土地所需资本及附加费用,一般土地被认为不会失去其原有价值,不存在折旧问题,因此土地成本可以忽略。原材料及附加成本包括光盘等存储介质的购买价格、纸张、墨粉等耗材费用、库存费用、电费、通讯费等。劳动力成本由劳动者的工资性收入、社会保险及其它支付给个人的费用构成。固定资产费用主要由办公房屋折旧或租赁费、办公家具、空调、打印机的折旧、电脑、软件工具的折旧和维护升级费用构成。软件复制所需光盘、纸张价格低廉,购买方便,可以实现零库存生产,于是,原材料及附加成本也可以忽略。即:

  ,v=l,则 (5)

  可见,软件企业生产软件成本主要由g、l构成。为了分析软件产品产量和成本的关系,再将成本g+l按照成本与产量的关系划分为固定成本f和半变动成本d、变动成本b。得到:

  (6)

  固定资产费用g中,办公房屋折旧或租赁费、办公家具、空调、打印机的折旧,在各期的支出水平比较稳定,视为f; 电脑、软件工具随着软件项目增加可能会增加,随着项目规模增加也可能增加,因此折旧和维护升级费用在各期的支出水平既同产量成一定的正相关关系,同时在各期支出水平也比较稳定,视为d;由于y 被忽略了l即b。由此也就得出了一个结论:从产量和成本的关系看,在软件生产中,变动成本b或劳动力成本l是影响成本的重要因素。而劳动力成本l是软件开发劳动量e的函数, 。可以将软件成本(设为s)估算的过程看作以软件开发劳动量为变量的函数关系求解过程:

  (7)

  根据固定资产折旧的方法可以计算出折旧成本g, 是人力成本,也就是软件生产劳动成本,欲求出s,首先要计量e,然后根据当今的薪酬水平得到 。

  于是,劳动量是软件开发成本函数的重要变量,在软件项目成本管理中,准确计量软件生产劳动量e是有效地估算软件成本的前提和关键。

  二、软件开发劳动计量方法评介

  随着项目管理在软件工程中的广泛应用,已经形成了以下三种软件开发劳动量计量尺度和方法。

  (一)工作量的人月数或人时数

  用参加开发工作的人月数或人时数(以下简称pm )来表示软件开发劳动量 (effort)是非常直观和简单易行的。根据COCOMO算法的假设,1人月指除去节日、假期和病假外余下的实际月平均工作时间,1人月=152人时=19人日=1/12人年。pm以时间作为度量劳动量的天然尺度,采用计时制原理,对流动劳动进行计量,属于工作测定法中的测时法。

  但是用测时法计量软件开发劳动量存在两点不足。首先,时间作为劳动计量的尺度是有前提的,即把所有的劳动都抽象成无差别的社会劳动。而在软件生产中,系统可行性分析、需求分析、概要分析、详细设计、实现、测试、维护等劳动无论在其劳动的责任、强度、所需技能还是在劳动环境方面都存在较大差别,只有抽象成无差别的劳动后用pm计量才能较准确地反映实际劳动量。即将复杂劳动抽象成简单劳动,或做相应的折算。但人们在计量时,都仅仅是简单地用pm表示工作量,也就是说,运用时间度量劳动的前提未满足。第二,以pm计量软件开发劳动,简化了劳动者之间劳动的差别,忽略了潜在劳动和劳动计量的要素综合尺度,未考虑知识的储备、技能、思维能力的差别。而现实中软件开发中处于不同岗位、不同生命阶段的人们的潜在劳动的差别也是相当明显的。

  (二)功能点法

  用软件的功能点数来表示软件开发劳动量,是基于用户的功能观点,20世纪70年代IBM的Albrecht提出功能点模型FPA,之后人们纷纷改进和继续开发功能点方法,提出了模型的变体,如MarkII FPA、完全功能点、SPR的特征点、对象点。IFPUG发展推进了Albrecht的FPA,并且定期发布计算指南。功能点方法的基本思想是根据用户需求和高层逻辑设计提供给用户的功能来计量,用输入、输出、用户查询、文件数、外部界面数5个信息量的加权和CT与14个复杂性调节因子Fi(I=1,…,14)计算功能点FP。

  1 [2] 本文为全文原貌 未安装PDF浏览器用户请先下载安装

  推荐阅读:软件项目管理与测试在软件开发中的应用

转载请注明来自:http://www.qikan2017.com/lunwen/wyi/21490.html

相关论文阅读

论文发表技巧

期刊论文问答区

文学历史优质期刊

最新期刊更新

精品推荐