2007-03-26

道高一尺,魔高一丈

人们为何要探寻世界万物的原因?可能最大的动力就是改造世界。要改造事物,当然最好的办法就是找到事物运行的规律,即背后的因果关系,直接从因下手,以便得到正果(理想的结果)。

人类的发展也证明我们的确做到了,但这并不是一帆风顺,而是交了很多学费,逐步摸索实验得到的成果。有时候还得靠着运气瞎碰瞎撞,间或有所得。何出此言?

至少有两个困难:正果是什么?主因是什么?

这里就涉及到如何来描述事物,通常我们用一系列指标,如对于实体人的身高、体重等,对于非实体的生产效率等。对于身高、体重等很直接,有标准的单位,而对于生产效率有的就不那么直接了,如学校的效率如何描述呢?每年毕业的学生人数?毕业学生的就业率?毕业学生的平均素质?毕业学生的平均薪水?......没有一致的标准,大家随着自己的意图,任意选取,任意组合,于是便出现各种各样的学校排名,争来吵去,好不热闹!

指标确定以后,便可以照这个指标来做文章,朝设定的方向来改进,当然先得找到导致这个指标改变的规律,然后按照这个规律办事,于是意向中的指标便上去了。如,通过合并和扩招,高校的年毕业人数增加了;通过扩张热门专业减缩冷门专业,学生就业率提高了......然而这些是我们对学校提高效率的期望吗?从学校对社会的贡献或效益来说,这些结果是我们期望的吗?

为什么会有疑问?因为指标并不能代表事物本身,指标只是事物的一个方面,或者仅仅是关联的现象。指标改变的规律和事物运行的规律也可能是同一个规律。甚至两者相矛盾,按照改进指标的规律来行动反而会使事物往期望相反的方向前进。

例如对于软件开发,很多公司采取了很多指标来衡量开发的效率,如人月代码行数、千行代码bug数、千行代码注释行数......每隔固定时间,花费巨资打造的管理系统便自动运行,吐出图文并茂的报表给躲在宽阔的老板间里的老板,这报表对时常感到对手下这帮只会整天埋头写代码的程序员失去控制感的老板来说意义非同寻常,重新获取控制感就靠这些数据了,于是便仔细逐项阅读,突然眼睛一亮,拿起电话,强压怒气:喂!***,怎么搞得?为什么这个月的代码量减少了10?千行代码bug数增加了1个?这样下去让我如何向部门经理汇报?到我办公室来一趟......

这个垂头丧气的***从老板间回到自己的四人隔间后就开始面壁思过,很快就有办法了,至少能保证下个月不被点名。具体办法就是:不再对代码进行重构,保留重复代码,这样写的代码行数就多了,虽然这样的代码以后修改很麻烦,但管不了那么多了;和Tester搞好关系,找到bug后一部分私下解决,这样下月的千行代码bug数就会减少,虽然这些bug应该进入管理系统,以便日后追踪,但也管不了那么多了......

想到做到,结果非常明显,系统再次统计的时候,***因为进步很大而被老板口头夸奖了一番,略施伎俩,就轻松取胜的***好不得意。然而却也埋下了定时炸弹,虽然心里也很明白这点,但至少目前不会爆炸,老板高兴,他也高兴。

炸弹总会爆炸地,当然是***和老板“同归于尽”,但由于全部达标,老板也没法给他定罪,居然逍遥法外。老板在受到老板的老板的批评后也开始面壁思过,半天过后,打开老板间的门,得意地找IT部门,要求升级管理系统,加几个指标统计,如重复代码数量等等;并且找到tester,许诺以后每找一个bug奖励多少¥......

等这些正式施行的时候,这些新加的指标并没有难倒这帮具有黑客精神的程序员,没到一个小时就被“破解”了,如在代码里多申明变量,之间来回赋值等等。等到下一次报表生成的时候大家当然都轻松达标了,只是最近和tester关系比较糟糕,经常发生冲突,离见面就出手的程度不远了。整天坐着没有运动,有机会出去练练也好。

当然,这些表面的平静总是短暂的,爆炸声时时响起。每次爆炸之后,都会修改管理系统。这可是老板们的命根子,是控制感、安全感的所在,虽然时常发生爆炸,但老板们相信,通过不懈的努力,终有把所有漏洞堵上的时候。而程序员们对此已习以为常,只要是系统,他们就能找到漏洞,动力则来自于躲避老板们的狂风暴雨,他们的信念是:

道高一尺,魔高一丈!

没有评论: