河北某科技有限公司通过对整个项目的重新核算和复盘,发现项目开发中的多个关键缺陷,在项目开发初期没有被发现。虽然在开发过程中,已经按照项目流程进行了评审,但评审效果不明显。
多个关键性缺陷直到最后测试运行时才被发现,这对整个项目开发进度造成了很大的影响,返工成本太高!
根据权威数据显示,软件开发成本中的返工成本占整体软件开发成本的40%-80%!【1,2】也就是说,软件开发费用的大部分都花在了修复缺陷和需求变更上。

那么我们如何降低返工成本呢?
1 提高人员能力
开发软件,不管是设计还是编码,争取第一遍就要做对。这就需要软件工程师和项目经理有很强的专业能力。提升能力的方法无外乎培训和招聘有能力的人。其中,加强培训是很多公司常用的做法。
2 选对开发方法
过程决定结果。方法错了,再有经验的人,结果也不会好。例如,软件开发方法从70年代的瀑布,一步步从迭代、快速原型等进化到现在的敏捷、规模化敏捷、DevOps等。统计数字显示,使用敏捷方法,平均上市时间加快了37%,团队效率平均提高了16%【3】。这只是其中一个例子。
需求、设计、编码、测试、交付等各个开发环节中,都有很多好的方法。那么怎样确保选对好的开发方法?答案是要么自学成为软件过程专家,要么聘请有经验的软件过程专家来帮助自己。
3 使用辅助工具
俗话说,“好记性不如烂笔头”、“再破的自行车也比走路快”。使用工具使我们事半功倍,软件开发也是如此。常见的软件编程工具例如Eclipse、IntelliJ IDEA、VSCode、SVN、Git等自不必说,是必须用的。项目管理工具、测试管理工具、持续集成和持续构建工具、自动化测试工具等也是很多企业常用的辅助工具。有些工具使用成本极低,但是收益极高,达到了四两拨千斤的效果,是开发团队的首选。
例如CoCode软件众包平台的评审分析工具【4】,能自动预测代码里的缺陷数,让项目在第一时间消除大多数缺陷,从而降低返工成本。数据显示,这一个工具的使用,就能使整个开发成本降低20%【5】。
CoCode软件众包 评审分析工具
那么怎样获得好的辅助工具?首先应该了解公司的具体情况,包括已有的工具情况,同时参考软件过程专家的建议,选择最适合公司情况的辅助工具,然后采用自研、开源、购买等方式获得。
4 持续改进
罗马不是一天建成的。降低开发成本也不是通过一次培训、一个方法、一个工具而达成,而是需要不断地改进,直至达到期望的结果。持续改进的动力来自目标。
所以期望降低开发成本的我们应该首先设一个改进目标,例如降低20%的开发成本,然后锲而不舍地改进,直至目标达成。等一个目标达成后,再设定更高的目标。这样在目标驱动下,开发能力不断螺旋上升,软件开发成本才能真正降下来,软件企业才能达到期望的盈利水平。
参考资料:
1.IBM White Paper. (2009). Reducing rework througheffective requirements management.
2. MarkusSprunck, SoftwareEngineering Candies - Selected Rules of Thumb in Software Engineering(sw-engineering-candies.com)
3. https://apiumhub.com/tech-blog-barcelona/benefits-of-agile-project-management/
4. https://www.co-code.cn/tool
5. https://mp.weixin.qq.com/s?__biz=MjM5NjY1OTEzMg==&mid=2649781830&idx=1&sn=4022dbbc58ca580a573ddadef20840a4&chksm=bee13c958996b5838906bd915c1be930d7897f61e902a7e14d9d9eb449dda04da7ac86d40247&token=790976633&lang=zh_CN&scene=21#wechat_redirect
6. 睿思得咨询提供专业的软件过程辅导和CMMI认证服务,敬请关注。http://raysdom.cn
CoCode软件众包