【IT168 专稿】
软件开发是典型的劳动密集型产业,要在有限的时间内保质保量的完成整个开发已属不易,还要确保合理的成本利润,其难度是可想而知的。因此,降低软件开发成本,是软件开发管理永恒的话题。也是在目前世界性经济危机之下,最受软件开发团队关注和最热的话题之一。但是说到要如何降低开发的成本,却是一个复杂的问题。
一个软件开发项目其成本要素可分为直接开发费用和间接费用。虽然不少软件开发团队都制定了成本控制目标,但项目成本依然没有达到预期的效果。究其原因是成本管理的"黑洞"主要存在于间接成本中,而大家往往又对外延间接成本缺乏足够的重视和认识,使得成本控制始终不尽人意。
软件开发存在的成本管理误区
(1)成本管理认识上的误区
成本管理是指通过控制和管理开发过程的费用来实现目标成本。长期以来,在软件开发中一提到成本管理就想到这是成本核算人员的事情,简单地将开发成本管理的责任归于成本核算主管或财务人员。其结果是开发人员只负责开发技术,测试人员只负责测试质量和测试进度,而管理人员只负责管理工作。这样表面上看起来分工明确、职责清晰,各司其职,但其实唯独没有了成本责任。例如,开发人员可能采用了可行但不经济的技术方案使成本增大,或为了赶工期而盲目增加人员和加班导致增加人工费用,或测试人员不了解功能和质量需求,导致增加了过多的测试费用。由此可见,成本核算人员只是成本管理的组织者,而不是成本管理的主体,不走出这个认识上的误区,就不可能搞好软件开发的成本管理。
(2)计划性较差,属于事后成本管理控制
有一些软件开发项目的成本管理仅限于定期的财务报表,是一种事后检查的手段,缺乏事前预测和动态过程控制。例如,没有在开发过程中将实际成本与计划成本进行比较,计算成本差异,并针对存在的问题采取有效措施。不能做到开发成本的日清月结,在开发过程中不清楚盈亏,无法实现实时动态的成本控制,甚至脱离了成本计划,更谈不上资金计划的准确性。
(3)没有形成责权利相结合的成本管理体制
任何开发活动都应建立责权利相结合的管理体制才能取得成效,成本管理也不例外。项目经理在成本管理及效益方面是要负主要责任,但其他人员也要有相应的责任及利益相配套的管理体制来约束和激励。而现在许多软件开发团队,并没有很好地将责、权、利三者结合起来,只是简单地将成本管理的责任归于成本核算主管,没有形成完善的成本管理体系。例如,因为没有制定成本考核制度结果自然是无法考核其优劣,出现了成本高和成本低一个样,干好干坏一个样的奖罚不分明的局面。不仅严重挫伤有关人员成本节约的积极性,而且给成本管理带来不可估量的损失。
什么是软件开发外延间接成本
(1)影响软件开发成本的二大要素
在开发过程中,众所周知应对影响项目成本的各种因素加强管理,并采取有效措施将实际成本严格控制在预算范围之内。因此,我们有必要先研究什么是影响软件开发成本的主要因素。
简单可以划分为两个主要因素:第一个是直接成本因素,它包括四大内容:①是开发和测试人员的直接人工成本,包括技术人员的选择、安排、培训和组织成本;②是开发和测试工具等软硬件设备成本;③是开发过程必需的办公成本,例如出差费用、办公场所、办公用品等;④是开发活动的管理费用,包括各层次的沟通、会议等管理成本。第二个是外延间接成本因素,主要包括两个方面:①是质量控制成本;②是工期损失成本。而实践证明,成本管理失控的"黑洞"往往主要存在于外延间接成本中。