现代软件工程 其实还是人的问题
在《现代软件工程》这门课程上,大家分成6-7人的小组进行项目开发,有项目经理 (PM),有开发人员 (dev),测试人员 (test) 等。不久就有PM说,怎么小组里有些人就是不干活?
最早,大家假设所有人都是热心干活的。抽象出来,就是:
人 = {做事的}
后来,大家发现这个集合可以细分成:
P = {P1=做事的, P2=不做事的},
不做事,也就罢了,不过这些人还偏偏在团队中占有一个位置,仿佛要给大家做贡献,布置任务的时候, 他/她仿佛也同意了… 这就很让我们的PM头痛了。大家不但要操心软件中各个模块的问题, 还要操心负责这些模块的人的问题, 这的确是很多同学没有经历过的事.
其实, 随着经历的丰富,我们还可以看到集合中出现了第三类人,他们会更让我们头痛:
P = {做事的, 不做事的,P3=不让别人做事的}
我原来以为学术界应该比较纯洁,没想到这第三类人也不少,我所尊敬的科学家韦钰老师在回忆她科研的经历时说:
...
中国这个问题是很严重的。我们建立第一个学科的时候,我遇到了很大的困难。这些困难都不是来自政治界的,而是来自学术界本身,来自学术界某些权威。有位权威就是不同意给我立题和资助,说“你怎么能研究这个,你怎么能进到我的领域来” ...
这位权威的话让我想起很多动物也有这样的行为,在自己的领地周边洒点体液,以告诫其他动物不得擅入;或者一个正要享用腐鼠的猫头鹰,“吓” 的一声,警告天空飞过的大鸟(鹓鶵)。
林子大了,什么鸟都有,作为万物之灵的人类,是不能满足于仅仅只有三种花样的。很快,我们可以看到第四,第五类人的出现:
{做事的, 不做事的,不让别人做事的,P4=做假的事的,P5=假装做事的}
P4 = 做假的事的人,可以举打磨芯片的例子. 而假装做事的人(P5)往往和P4 成对出现,例如负责评审汉芯并给予其很高评价的各位院士和专家。
P4 和 P5 总是有千丝万缕的联系,特别是在这一片神奇的土地上。 比如下面这照片,P4 和 P5 通过 “红酒” 这一象征这品味,健康的物品联系起来了。
[陕西省摄影家协会主席、副主席对周正龙提供的图片做初步鉴定] 来源:http://www.szol.net/vip/article/2007-10-22/917-1.htm
有了这样的榜样,我们在平时的学习中也不难发现例子,2008年夏天,在与北大软件和微电子学院合作的《软件实现技术》课程中,有一个小组的最终评比没有参加,得了0分。为什么呢? 原来他们的 "电梯作业" 原封不动地抄袭了前一年同学的方案. 微软的同事在评审的时候,发现这个小组的作业看起来眼熟,后来注意到所有文件的日期都是一年以前的。。。 如果我们也敷衍过去,那我们就成了P5了 (写程序蒙到微软员工头上了,也是佩服)。
对于人的分类还可以继续下去,也有很多不同的分类方法,这篇文章提到了三种要避免的人。
要建立一个健康发展的团队,我们要努力避免三种人:
** 第一种人是双面人,就是遇到不同的人说不同的话的人;
** 第二种人是负面人,这些人总是在抱怨,总是觉得怀才不遇,这样的人一定要清除出团队;
** 第三种人是玩世不恭的人,这样的人总是很自负,一般都是相当聪明的人,但是这些人对什么也不喜欢,对什么也不痛恨。
我前几天在电梯里碰到一个研究员, 他跟我说, 某实习生抱怨 <现代软件工程>花了他大部分时间, 所以他根本没时间做研究工作。
我有些纳闷 - 很多上课的同学跟我讲, 他的导师给他布置了很多任务, 所以他根本没有时间做 <现代软件工程>的作业。
嗯… 这是同一个人么?
人无完人, 人非圣贤, 总会犯错误, 原因很多,有的是个人一念之差,有些是时间安排的问题, 有的是有仿生学的原理,有的可以追溯到社会的潜规则或种种因素。但是我的课不就是一个小小的软件工程课么? 为什么耍这么多花招?为什么不能都当一回简单的P1 呢?
[我们的同学也意识到了这个问题 http://www.cnblogs.com/xinz/archive/2010/11/27/1889935.html]