代码改变世界

最该忘记的就是质量标准

2016-11-30 10:41  袁国彬  阅读(777)  评论(0编辑  收藏  举报

参加过很多次的新员工答辩会议,发现经常性的有人向新员工发问:“你知道我司质量标准中,1 kloc代码需要发现多少个codereview comments,编写多少个wbit用例,发现多少个wbit缺陷吗?”,能完整答上来的新员工很少,刚开始的时候我也心里直打鼓,因为我自己也忘记了,会后会偷偷的再去翻看背诵直到自觉别人再问起的时候能对答如流。但是当再次参加下一次的新员工答辩会的时候,发现同样又有人问起这个问题,我仍然忘记了具体数字,我就在想我们为什么要记住这些质量标准,我们要求新员工记住这些数据的目的是什么,发问者自己是否明白呢?

 

而实际上,我们不但不应该记住这些质量标准,而是应该马上忘记它们。

 

人的大脑是有限的,我们需要经常性的清空大脑,清除一些垃圾,让我们的大脑有新空间记住那些真正需要我们记住的东西。以新员工答辩的案例为例,我们提问的目的是什么呢?难度我们会认为记住了质量标准的人,代码质量就一定写的好吗?既然我们的最终目的是为了让开发人员写出质量好的代码,那么我们的问题是否可以这么来问:

 

你为提高代码质量采用了哪些方法?”

你重用了别人哪些代码?而不是所有轮子自己造。”

你写的哪些代码正在被别人重用了?”

 

通过新员工对这些问题的回答,我们很容易的就能知道他是否具备写出高质量代码的能力或者意识,新员工也会非常清楚对于写出高质量代码需要做那些事情。而绝对不是记住质量标准。

 

其实,我们正在渐渐背离原来设立质量标准的初衷。很多项目组会给项目组成员人手一份的打印出来,然后告诉成员,这些就是迭代出口的标准,大家要按照这个数据标准来做质量活动。这就好比把大家在对着答案考试。到底有多少人能理解其中的质量本质并不清楚,只知道迭代出口的时候每个人的数据都是标准的。

 

我们是否可以转变一种思维,让大家以自我评估是否做充分为过程标准,最后比对质量数据。也就是从对着答案做题,变为做完题目后再对答案。从不信任管理,转变成一种信任管理。这种信任的建立需要慢慢在团队中培养,磨合,最后生长出自管理的基因。

 

当然过程中需要管理者深入观察,大家提高质量的过程,不妨把之前问新员工的三个问题,再时时问问项目组成员。如果唯数据论的话,数据往往会说谎,从而掩盖本应该暴露出来的风险。而做到自己满意,最后团队的成果却往往远高于标准。