美文网首页程序员@IT·互联网
系统出故障或代码Bug是否要对技术人员进行惩罚?(一)

系统出故障或代码Bug是否要对技术人员进行惩罚?(一)

作者: 阿起哥的学习笔记 | 来源:发表于2016-04-17 23:48 被阅读0次

    是否对技术人员进行惩罚一直是一个比较敏感的话题。在我的工作当中,虽然做错了事情肯定有处罚,这样的处罚或公开,或私下,或即刻,或延后,或直接,或间接,但是从未提出来一个明确制度,规定在什么情况下对技术人员进行处罚以及如何定量。

    在最近工作的两个公司中,老板在某些场合明确提出了对技术人员进行处罚的想法。

    上个东家是一个小公司,每天晚上全公司高管开会检视系统开发进度和问题。某天晚上针对一个系统问题把开发人员找来询问,最后确认是一个代码Bug,老板很生气,提出开发人员写错代码产生bug要扣工资。我很震撼,第一次听到这样的说法。当时这个公司实行995工作制已经一年多,晚上开会经常开到11点,系统上线的时候加班到凌晨两三点也是常事。在工作中,需求描述不清/变更频繁,开发流程混乱,开发时间被严重压缩。开发人员拖着疲惫的身体加班写代码,产生Bug还要被扣工资?!我在感情上是无法接受的。

    在现在的工作中,虽未明确指出开发人员写出Bug要扣工资,却在隐隐的指向扣奖金的可能。公司制定了技术部门KPI标准,里面有一部分是保障系统正常运行。另外建立了故障台帐,每次故障分析原因划分责任,记录在案。不能排除这个可能,即在年终绩效考核和奖金评定的时候,根据故障数量/时长和责任,来评定绩效,从而评定奖金。实事求是的说,绩效和奖金绑定没问题,绩效和故障绑定也没有问题,从而看起来奖金和故障绑定似乎也能说得过去。

    但是,还是有问题。问题的关键在于,故障原因的分析和精准的责任划分是及其困难的。

    举个例子,某次故障是由于代码中一个bug造成的,那么,这个故障的责任就全在产生这个Bug的开发人员吗?

    1)有可能测试也有责任,因为测试没发现bug。测试的职责不就是发现Bug吗?

    2)有可能产品也有责任,因为需求不清晰

    3)有可能研发主管也有责任,因为开发任务难度较大,本来不应该分配给这个初级开发人员

    4)有可能技术高管也有责任,因为开发团队就这么几个人,活多时间紧,导致没有足够时间检查测试;或者研发流程混乱,缺乏规范,他没有领导责任吗?

    确定了责任方,还有责任比例的问题,我就遇到过一个真实的例子。开发改了某个页面代码,看错了一个变量名称而产生了bug;页面上逻辑分支很多很复杂,测试测了常见的两种情况,恰恰是某个没测的场景出了问题。故障复盘时开发和测试关于故障责任划分比例吵了起来。测试认为自己只占一点责任,那么复杂的页面不可能所有业务分支都测一遍,所以测试的工作无明显过错。开发也很郁闷,我也尽力细心了,难道只要有bug开发就有明显过错,就占主要责任?

    其实还有研发主管,技术高管,大家也有责任,代码Review要求了吗,时间给充足了吗?

    另外责任划分的具体数字,为什么是某一方占40% 而不是 45%?怎么定量?

    你看,因为涉及到钱,责任划分的事情一下子就变得敏感并复杂了。

    所以,出故障要扣奖金的做法,做的不好就可能会导致很多故障讨论都变成吵架会,大家的标准都不一样,谁也不让步,很难取得一致意见,费时费力,还为团队合作和员工和睦埋下了隐患。还很有可能在讨论中内向嘴笨的同学吃亏,最后形成不公正的结论,长此以往,只能走人了事。

    因此,我对KPI中要保障系统稳定是同意的,也同意奖金和系统稳定性/故障率挂钩,也支持记录故障并分析原因甚至认定责任。但是我认为精确和公正划分故障责任是很难的,成本很高。但是在没办法简单精确定量公平的划分故障责任的前提下,不能简单地把奖金“定量地”和故障责任挂钩起来。

    那么我们应该怎么做?怎样才能把惩罚和故障率挂钩起来?请听下回分解。

    相关文章

      网友评论

        本文标题:系统出故障或代码Bug是否要对技术人员进行惩罚?(一)

        本文链接:https://www.haomeiwen.com/subject/itaolttx.html