软件研发中的《破窗理论》

美国心理学家詹巴斗曾进行过一项有趣的试验:把两辆一模一样的汽车分别停放在两个不同 的街区。其中一辆原封不动地停放在帕罗阿尔托的中产阶级社区;而另一辆则摘掉车牌、打 开顶棚,停放在相对杂乱的布朗克斯街区。结果,停放在中产街区的那一辆,过了一个星期 还完好无损;而打开顶棚的那一辆,不到一天就被偷走了。于是,詹巴斗又把完好无损的那 辆汽车敲碎一块玻璃,结果刚过了几小时,这辆汽车就不见了。

以这项试验为基础,美国政治学家威尔逊和犯罪学家凯林提出了破窗理论。他们认为: 如果有人打坏了一个建筑物的窗户玻璃,而这扇窗户又得不到及时的维修,别人就可能受到 某些暗示性的纵容,去打烂更多的窗户玻璃。久而久之,这些破窗户就给人造成一种无序的 感觉。结果在这种公众麻木不仁的氛围中,犯罪就会滋生、繁荣。

软件系统,从大到跨国公司,小到国内公司,不存在完美的系统,而可以被认为“破窗”的系统居多。

作为一个研发管理者,如果不采取正确的措施,“破窗”的系统,会像毒药一样,吞噬开发人员的斗志,让系统散发着臭味,人人讨厌。

从理论上分析,“破窗”系统使开发人员产生:

颓丧心理。Bug没人修,代码不规范没人管,大家对系统的信任度就会随之而降 低。

弃旧心理。既然已到处是Bug,既然没人管,那就随它去吧。

从众心理。代码是公司的,别人能够这么写,我就可以;别人能够不管Bug,我就 可以不管。

投机心理。 投机 是人的劣根性之一,尤其是看到有机可乘或者投机者占到 便宜 的时候。

对于运营的系统,或者软件产品,如何解决“破窗”系统,是研发管理者的责任所在。

首先是加强代码规范。相信所有的公司都有代码规范,但是真正能够落到实处的,恐怕不是很多。

其一,代码规范,是不是经过公司仔细评估,而不是从网上简单拷贝而来;

其二,是不是足够简洁,明确,让所有开发人员都清楚其中的重要性;

其三,是不是可以实现自动化检查?

最后,对于违法代码规范的是不是有足够的惩罚措施。

其次,是代码审查制度,如何建立高效的代码审查制度,也是关键。

最后,对于“破窗”系统,是不是既往不咎,还是有重构计划。如果原则是既往不咎,相信不可能真正解决问题。因此,要制定相应的重构计划,逐步解决“破窗”问题。

软件研发中的《破窗理论》》上有2条评论

  1. andy

    当软件,比如站点多了,一个小bug的修复往往要用很大的时间和精力去做.所以软件在发布版本(其实就相当于底版)的时候,要相当的谨慎的,尤其是以后如果需要将它用作复制的版本的时候.

发表评论

电子邮件地址不会被公开。 必填项已用*标注