定制软件项目的成本估算与成本控制探讨
2019-09-11李月娥
李月娥
摘要:在国家频出大力发展软件信息服务业的政策催生下,现如今,该产业发展迅猛,市场潜力巨大。随着互联网+、云计算、AI等新技术层出不穷的大数据时代的到来,客户的消费需求也在不断细化,有特色的定制化需求越来越高。现有的成熟软件功能已不能满足特殊行业的个性化需求。如何提升软件与行业的融合度,满足客户个性化需求,这是软件企业共同面临的技术难题。同时,软件企业还面临人力资源成本日益攀升、面对强势的客户无议价能力等压力。综上所述,虽然软件产业市场潜力巨大,但软件企业在客户项目预算既定和企业人力成本俱增的双重压力下,如何提供满足客户定制化软件需求的服务,传统的软件行业已受到了严重挑战。为了能在激烈的市场竞争中生存和发展,软件企业必须确保项目有一定的获利空间。因此,有针对性的降低成本是诸多软件公司可以采纳的对策。定制软件可以通过成本估算与成本控制来减少成本,提高软件开发的质量和效率,对提高项目利润起了积极的作用。本文主要研究了定制软件项目成本估算与成本控制的方法,希望能给有关专业人士带来一定的参考与借鉴。
关键词:定制软件项目;成本估算;成本控制
软件产业是信息产业中重要的组成部分,其发展关乎到经济的发展,在社会信息产业中占有重要地位,同时其在维护国家安全、调整产业结构、推动信息产业的发展等方面发挥了重要作用。软件产业作为新的经济形态,为社会发展提供新的经济增长点,伴随软件业务盈利规模的不断扩大,众多高新企业如雨后春笋般应运而生,都希望能在科技红利中分一杯羹。因此,软件行业的市场竞争异常激烈,能够低成本、高质量、科学化的开发软件关系到软件公司的生存,对软件项目做好成本预估和成本控制是非常有意义的。
一、软件项目成本估算的方法
预估软件开发项目的成本时,要把从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试各个环节需要的人力、资源、管理等成本估算在内,以基本公共卫生软件设计为例,在软件计划和需求分析阶段,软件公司技术人员要和基层基本公共卫生服务人员详细沟通,了解软件在居民健康档案输入、慢病管理、老年人健康管理等领域的功能,这个沟通阶段需要技术人员耗费人力成本和交通成本等,在软件编制成本预算中要对于相关成本进行体现。此外,由于定制软件开发项目在估算成本时比传统开发项目要严格,仍以基本公共卫生服务软件设计为例,在方案提出、范围管理、变更管理等环节都要求非常规范且细致,所以在预估软件开发的成本时必然需要更加科学且做到细致规范。在预估软件开发项目的成本时,为了估算相对准确,需全面考虑到定制软件从需求调研、开发、实施上线、试运行、终验到运维所有阶段和节点可能需要投入的所有资源。这些资源主要包括所有人员的薪酬,确保系统顺利运转的硬件设备以及外购开发工具等。另外,为充分准确且深入地了解和理解客户的真实需求,开发人员往往需要进驻到客户现场与客户反复沟通与确认。因此,通常还会发生差旅成本。如果项目周期较長,在项目所在地租房更经济时,企业往往选择租房,此时,还需预估项目租房成本。软件企业在预估定制开发的项目成本时,由于该软件是独特的,缺少以往的历史数据体系作为支撑,因而前期预估的成本数据与实际成本往往存在较大的差异。成本估算是管理成本至关重要的环节,它包含了对项目大小、项目工作量、项目需要的资源等各方面的预估。
通常来说,在预估项目大小、工作量时,通常可以采用较多的方法进行预估。
首先,专家意见法,该方法是常用的预估方法。该方法要求通过与基本公共卫生工作人员的描述,专家软件的复杂程度和需要的特殊设备给出自己的成本预估意见。由于工作人员了解不到专家给出方法的具体情况,所以此方法通常是依靠专家以往的经验做出的。
其次,类比分析法。该方法要求工作人员将当前开发的项目同以往的项目进行类比,总结出两者的异同点,然后结合现实特点进行修整。这些记录通常会记入档案,在日后的评估中用作参考。类比分析法主要包括以下几个步骤:
第一步 筛选参考项目。对于基本公共卫生服务软件成本预算,可以参考公立医院之间的医疗联合体软件设计项目。
第二步 获得与被选作为类比项目的信息。主要有工程进度、工作量、项目大小等;
第三步 获得类比项目的工作进度与工作量的平均值,并以此平均值作为新项目的工作进度与工作量。定制单位的基本公共卫生服务人口数量和功能数量能够决定软件工程的大小,根据医联体软件服务人口的数量以及软件功能数量预估基本公共卫生服务软件的平均工作进度。
第四步 分析新项目的工作量与工作进度的影响因素,并据此对初始估算值做出适当的调整。基本公共卫生服务软件以居民档案管理功能为基础,在对居民健康档案有效管理层面上分化出慢病管理功能、儿童管理功能、孕产妇管理功能等,因此,在软件设计中必须将居民健康档案管理功能的设计放在核心位置,设计进度在该阶段不可操之过急。
类比估算法的优势在于成本低、操作简单,适用于难以取得项目资料的项目之中。然而,该方式对于历史数据的可用性存在一定的依赖性,项目范例是影响估算结果是否准确的重要因素。
再者,分解工作量法。该方法首先通过最小的单元来描述软件,然后预估每个小单元所需的工作量。对于简单的小项目,将简单的预估值进行累加即可,但是难度较大的项目还需后续的多项工作。
除此之外还有构建模型法和合成技术法。构建模型法先调查可能会干扰工作量的原因,在基本公共卫生服务软件设计中,最大的干扰因素便是疾病内容有交叉,可能导致软件各模块之间必须交叉融合。然后建造数学模型,在建造模型时,包含了对项目规模、工作人员的经验、所需语言等因素的掌控。合成技术法则是通过对多种技术进行结合,整合出最优估算方法的技术,通常被称为“合成技术”,譬如贝叶斯分析法。此方法可以通过对多项技术的结合,纠正单一技术中可能存在的误差,能有效提高预估水平的准确性。但此方法也存在弊端,它要估算出每项技术的成本,这无疑增加了预估工作的成本和工作量。
二、软件项目成本估算的方法分析
综上所述,诸如模型估算法、专家意见法、类比分析法在内的多种方法都是较为常用的,但他们存在的诸多弊端影响到项目管理。一方面,此类方法往往是只针对整个项目的成本进行预估,并不能估算到项目开发每个环节的成本,不利于掌握和控制各个环节的成本。另一方面,多数情况下,往往只重视对软件开发与实施成本费用的预估而忽略对维护成本的预估,然而维护成本通常是巨大的,若此费用被忽视掉,对软件项目整体成本的估算一定是不准确的。
三、软件开发项目成本控制存在的主要问题
首先,现阶段,许多软件企业的软件开发项目成本控制体制中存在着权、责、利三者分离的问题,部分项目经理主要将成本管理责任推给成本管理部门,总体来说成本管理体系不够完善。
其次,项目人员的观念陈旧,缺乏成本控制意识,这一点在项目不进行单独核算的企业中表现的尤为明显。项目经理职能存在着重技术、轻管理的问题,将项目成本管理责任推给财务部门。
最后,所谓工期成本指的是在工程施工中为达到工期目标所采用的各项措施所产生的费用,作为项目管理目标的三大目标之一,工期目标是否可以顺利实现,会造成工期成本出现变化。虽然对于项目工期,软件企业有着明确要求,但是由于缺乏对于工期与成本关系的研究,加上对于工期成本的重视程度不够以及对工期缺乏正确的认识,常常会为了追赶工期进度而导致额外项目成本的增加。
四、软件项目成本控制的方法
控制软件项目的成本通常是从项目开始运作开始的,让每个环节都按既定的预估水平进行运作,从而实现对各个步骤的控制。
(一)关于对变更需求的控制
在软件项目确立之前,研究者要在充分了解客户需求的基础上出具报告,通过与客户的沟通协调,将方案尽可能完善的体现在合同中,此流程关系到项目能否按时按期交付。然而,在开发软件的整个过程中,客户可能会变更需求,这就需要有针对变更需求的控制。
之所以会出现对变更需求的控制,是因为在开发软件前,客户通常不能清晰的认识到自己的需求。同时,开发者在形成分析方案时通常加入很多主观因素。随着软件的开发和客户对软件的了解度加深,他们更能意识到自己的需求,从而向开发者提出相应的修改意见,这对于彼此双方无疑都是不利的。
对于定制型软件,若客户和技术人员在软件开发前没有达成一致的方案,加之产品的技术要求比较高、工程量比较大,若出现客户不满意需要更改方案而合同中无法对此进行体现时,对企业造成的经济损失往往高于预估值。
要控制好对需求的变更,前提是开发者和客户做好需求度沟通,详实的记录好客户的需求,同时将以往的经验及可能出现的问题罗列给客户,对于那些对自己的需求了解较清楚的顾客,只需告知他们哪些需求技术无法实现,以及实现需求后是怎样运作的;对于那些不能清晰了解自身需求的顾客,要同他们进行深入且详细的沟通,从而引导他们清晰的了解自己的需求。当需求认知达成共识后,要对分析方案进行签字确认,并罗列到项目合同中。
项目合同还应说明在客户需要改动需求时,如何进行协调处理。若是不至于影响开发方向的改动,可以根据实际情况满足顾客的要求。此外,在软件项目的研发过程中,为确保项目的顺利进行,保质保量的完成开发任务,需要定期向顾客汇报进展及状况,从而最大限度地减小需求变更对项目开发产生的负面影响。
(二)对人力资源成本的控制
对人力资源成本的控制是在软件开发成本控制中一项重要的工作,控制人力资源成本并非控制工作人员的工作量,而是通过提高工作组的工作效率来降低成本。软件开发项目组中,每个人的知识技能水平及工作经验往往是不同的,加之每个人有各自不同的脾性,如何科学合理的调配一个高效率的团队,势必关系到软件开发的效率和成本的高低。
因而,在软件开发项目组中,每人都要有高昂的工作精神和良好的团队意识,既要有“补位”意识,还要尽可能大的发挥自身的潜能,为团队带来创收。此外,项目组的人员稳定也是非常重要的。对于项目管理者来说,如何针对每个人的特点调配好人员的分工,了解员工的需求和困难,为研发人员创造一个良好的工作氛围,是增强团队的团结力和凝聚性的关键。软件研发过程中,一旦出现管理问题或技术问题,项目管理者要能够及时高效的解决。
五、结语
综上所述,随着对软件项目所需成本的预估和控制成本的深入研究,软件产业的发展态势也较为乐观,整项研究不仅能提高软件開发的质量和效率,还能有效的减少成本,有利于研发人员科学合理的对项目进行开发和研究,这无疑能促进软件产业朝着健康良好的态势发展。
参考文献:
[1]吴叶青.功能点在软件造价评估中的应用[J].舰船电子工程,2018,3808: 21-26.
[2]许军.成本工程在军工科研事业单位运用的探讨[J].现代国企研究,2018,20: 117+116.
[3]张红金.成本管理在IS项目管理中的应用[J].电子技术与软件工程,2018,06: 57-59.