从打星际和打反恐说到软件工程
yesry 2007-06-04 05:23:52 打星际的时候,往往造出一批兵,这些并种分别编队,单兵一队,坦克一队,飞机一队,如此等等,进攻的时候,很多人都是以“队”为作战单元进行指挥,但是高手呢?大概也是编队出击,但是到了前线,不惜以单个兵作为作战单元进行指挥!大家可想而知这样的高手每秒要点击鼠标多少下,键盘敲多少次。
打反恐的时候呢?反恐就一个玩家指挥一个角色,作战单元基本上是单挑,如果有组织的、经过训练的“战队”则存在指挥司令,作战单元可能是三几个到一个不等。
可以说,能指挥的作战单元——粒度——的大小决定了操作的强度,但也对整体作战效能有很大影响。这里道出了一对矛盾:作战单元大,指挥难度小,但是每个单位的效能就低;作战单元小,指挥难度(强度)大,单每个单元发挥的作用就大,整体效能就高。
我们在职场也好,软件工程也罢,在实际的“团队”协同完成工作也好,总是强调“团队精神”。从上述的矛盾来讲,“团队精神”也有粒度的问题,大的团队, header如果指挥着每个单位(即每个人),指挥起来肯定很费劲,但是能充分考虑每个人的特长,因而尽可能发挥每个人的效能;如果分成小组,则指挥难度小,但每个人发挥的效能会减少。这些都是假定不管团队大小,每个人都是那么“愿意干”的基础上讨论的,即不考虑人的情绪爱好,只考虑专长特点。
那么,软件工程就必然存在2种不同的派别:从大处着眼的一派,从个体着眼的另一派。具体的应该就是传统的瀑布型的SE作为一派代表,而XP之类的强调个人效能的作为另一派代表。这2派都没有错,都在各自的立足点上站住脚。
那么讨论到这里,大家应该知道,作为下游开发的中国,应该崇尚哪一派了吧?国内软件“工业”还没有达到更大的“作战单元”,应该更多研究强调个人效能的SE方法。