干货:软件开发成本太高怎么办?

干货:软件开发成本太高怎么办?

碌的一年过去了,又到了老板为“辛辛苦苦又一年,一算没挣多少钱”而发愁的日子。

我们知道,利润 = 销售额 - 成本。利润少,可能是销售额太少,也可能是成本太高。

增加销售额,取决于销售人员、客户、市场、产品等众多不可控因素,可遇而不可求。相反,降低软件开发成本,可以完全由自己掌控。可惜很多老板不知道怎样降低软件开发成本,甚至很多人认为软件开发成本不可能降下来。下面我就讲讲怎样降低软件开发成本。

 要想降低软件开发成本,首先要知道软件开发成本是怎样产生的。

 软件开发成本 = 软件工程师人力成本 + 项目管理人力成本 + 返工成本 + 其它成本。其中,软件工程师人力成本,包括与需求获取、架构设计、编码和测试、交付、辅助文档等活动相关的人力成本。项目管理人力成本,包括与项目计划和跟踪、解决问题和管理风险等活动相关的人力成本。返工成本,包括与需求变更和bug修复等活动相关的人力成本。其它成本,包括设备采购、工具费用、差旅等额外成本。CMMI咨询

 这些成本中,哪个占大头?有人说当然是软件工程师和项目经理的人力成本占大头。有这种想法的人是想当然了。权威数据显示,返工成本占整体软件开发成本的40%-80%!【1,2】就是说,软件开发费用的大部分都花在了修复缺陷和需求变更上。觉得挣钱少的老板们是不是可以算一下自己公司的返工成本?

 知道了“要降低研发成本,必须首先降低返工成本”的道理以后,那如何降低返工成本呢?本文给出4点建议。

 第一,提高人员能力

开发软件,不管是设计还是编码,争取第一遍就要做对。这就需要软件工程师和项目经理有很强的专业能力。提升能力的方法无外乎培训和招聘有能力的人。其中,加强培训是很多公司常用的做法。

 第二,选对开发方法

过程决定结果。方法错了,再有经验的人,结果也不会好。例如,软件开发方法从70年代的瀑布,一步步从迭代、快速原型等进化到现在的敏捷、规模化敏捷、DevOps等。统计数字显示,使用敏捷方法,平均上市时间加快了37%,团队效率平均提高了16%【3】。这只是其中一个例子。需求、设计、编码、测试、交付等各个开发环节中,都有很多好的方法。那么怎样确保选对好的开发方法?答案是要么自学成为软件过程专家,要么聘请有经验的软件过程专家来帮助自己。

 CMMI3认证咨询

 

第三,使用辅助工具

俗话说,“好记性不如烂笔头”、“再破的自行车也比走路快”。使用工具使我们事半功倍,软件开发也是如此。常见的软件编程工具例如Eclipse、IntelliJ IDEA、VSCode、SVN、Git等自不必说,是必须用的。项目管理工具、测试管理工具、持续集成和持续构建工具、自动化测试工具等也是很多企业常用的辅助工具。有些工具使用成本极低,但是收益极高,达到了四两拨千斤的效果,是开发团队的首选。例如CoCode平台的评审工具【4】,能自动预测代码里的缺陷数,让项目在第一时间消除大多数缺陷,从而降低返工成本。数据显示,这一个工具的使用,就能使整个开发成本降低20%【5】。那么怎样获得好的辅助工具?首先应该了解公司的具体情况,包括已有的工具情况,同时参考软件过程专家的建议,选择最适合公司情况的辅助工具,然后采用自研、开源、购买等方式获得。

 第四,持续改进

罗马不是一天建成的。降低开发成本也不是通过一次培训、一个方法、一个工具而达成,而是需要不断地改进,直至达到期望的结果。持续改进的动力来自目标。所以期望降低开发成本的老板们应该首先设一个改进目标,例如降低20%的开发成本,然后锲而不舍地改进,直至目标达成。等一个目标达成后,再设定更高的目标。这样在目标驱动下,开发能力不断螺旋上升,软件开发成本才能真正降下来,软件企业才能达到期望的盈利水平。

 

最后记住道、法、术、器、人”这五个字,您将在“降低成本、提升能力”的战斗中,无往而不胜!(CMMI认证

 :过程决定结果。结果无法直接改变,但我们可以通过改变过程来影响结果。

:选对方法很重要。做软件开发可以参考CMMI、敏捷、DevOps等经过业界验证的好方法。

:只有好的方法是不够的,还需要落地的手段。这时候需要的是经验。

:好的工具让落地实施事半功倍。

:找到做事的人,尤其是找到有能力的人,才能心想事成!

 

 

文章转载作者高山

 

 

 


点击关闭
  • CMMI认证客服

    CMMI3认证客服

    CMMI咨询

    CMMI4认证