前注:本文中针对的我们公司研发的一些问题的思考,以及我给出的一些解决方案。如果你有更好的方案,希望能够介绍给我。
1、 现状:在新产品开发和维护过程中,经常会遇到产品质量的问题。一种情况是在新产品开发时遗留的bug,还有一种情况是维护过程中引入的新的bug。
2、 原因:这个现状的原因有两个方面。一是资深研发人员的流失,这是客观方面的原因,这里不再多说(留住人才有很多的影响因素,很多不是我能够掌控的);二是我们再管理和流程上的问题,这是主观的问题,也是我们能够努力解决的地方。
3、 危害:给客户造成不好影响,影响品牌形象,产品后期往往需要投入更多的成本来解决问题。
4、 解决方案:有几个措施有助于改进研发质量:
1)有效的研发培训,提升开发人员能力:这个是从根本上解决问题的措施。【研发培训】
2)增加代码审核环节:这是开发中一个比较重要的环节,具有两个功能,一个是技术交流,一个质量保证。我一直想在我们研发中尝试一下,可惜的是我们一直没有真正的做起来。【code review】
3)优化对bug,特别是售后bug的处理:对待这些bug,不应该只考虑如何解决,更应该进一步的思考如何避免类似的问题再次发生。在华为有一个类似于反思的过程叫“问题回溯”,目的不是找出谁的责任,而是看在管理上,制度上,流程上有没有什么优化或者改进的地方。比如:【问题回溯】
a)测试阶段的测试用例是否完善?
b)如果是完善的,为什么没有测试出bug?
c)如果不完善,补偿完整后,要考虑如何让其他的测试用例都完善?
d)开发阶段,什么原因导致问题发生(技术细节是什么)?
e)是否有必要把这个细节写成一篇总结分享出来,防止在这个地方发生类似问题。
f)有没有什么方法可以避免开发中类似的问题再次发生?
在经过上面的思考后,需要面临的问题可能是流程的过度膨胀。所以,需要在成本和质量间作一个平衡,找到最佳的分界点。
4)优化考核机制,将产品的质量和考核结合起来,这里需要对产品质量进行量化,考核是要兼顾工作量与工作质量的平衡。同时培养一种重视产品质量的文 化——发生产品质量问题是一件让人无法接受的事情。
另外,一个可以考虑的因素是研发的文化与氛围,从这个上面来促进程序员努力写出最优的代码而不是能用的代码。
作者:chgaowei
关键是行动,在行动中完善制度!
需要抽象出通用的代码,让大家尽量使用已经完善的复用代码,这样也能从根本上解决质量问题。
任何一个项目都有可能存在质量问题,不管是开发中余留的BUG还是需求变更修改产生是BUG,我们只能尽量的避免这些问题的发生。其一,做好前期的范围管理;其二,做好模块化责任制管理;其三,做好需求变更把控,比如说在一些不需求不影响核心业务的情况可以拒绝掉;其四,项目经理要做好代码评审;其五,多通沟多交流。