前注:本文中针对的我们公司研发的一些问题的思考,以及我给出的一些解决方案。如果你有更好的方案,希望能够介绍给我。

  1、现状:在新产品开发和维护过程中,经常会遇到产品质量的问题。一种情况是在新产品开发时遗留的bug,还有一种情况是维护过程中引入的新的bug。

  2、原因:这个现状的原因有两个方面。一是研发人员的流失,这是客观方面的原因,这里不再多说(留住人才有很多的影响因素,很多不是我能够掌控的);二是我们再管理和流程上的问题,这是主观的问题,也是我们能够努力解决的地方。

  3、危害:给客户造成不好影响,影响品牌形象,产品后期往往需要投入更多的成本来解决问题。

  4、解决方案:有几个措施有助于改进研发质量:

  1)有效的研发培训,提升开发人员能力:这个是从根本上解决问题的措施。【研发培训】

  2)增加代码审核环节:这是开发中一个比较重要的环节,具有两个功能,一个是技术交流,一个质量保证。我一直想在我们研发中尝试一下,可惜的是我们一直没有真正的做起来。【code review】

  3)优化对bug,特别是售后bug的处理:对待这些bug,不应该只考虑如何解决,更应该进一步的思考如何避免类似的问题再次发生。在华为有一个类似于反思的过程叫“问题回溯”,目的不是找出谁的责任,而是看在管理上,制度上,流程上有没有什么优化或者改进的地方。比如:【问题回溯】

  a)测试阶段的测试用例是否完善?

  b)如果是完善的,为什么没有测试出bug?

  c)如果不完善,补偿完整后,要考虑如何让其他的测试用例都完善?

  d)开发阶段,什么原因导致问题发生(技术细节是什么)?

  e)是否有必要把这个细节写成一篇总结分享出来,防止在这个地方发生类似问题。

  f)有没有什么方法可以避免开发中类似的问题再次发生?

  在经过上面的思考后,需要面临的问题可能是流程的过度膨胀。所以,需要在成本和质量间作一个平衡,找到佳的分界点。

  4)优化考核机制,将产品的质量和考核结合起来,这里需要对产品质量进行量化,考核是要兼顾工作量与工作质量的平衡。同时培养一种重视产品质量的文 化——发生产品质量问题是一件让人无法接受的事情。

  另外,一个可以考虑的因素是研发的文化与氛围,从这个上面来促进程序员努力写出优的代码而不是能用的代码。