在讲团队之前, 我们要讲什么是“非团队”。王屋村里经常发生这样的一幕:
王屋村的大智要把一堆砖头从村头搬到村尾。 他到顶球酒吧前, 看到前面三三两两地蹲着一些人, 有些人前面放着一块从包装箱扯下来的纸板, 上面写着“Java, 五毛一行”;“网页前端, 不酷不要钱”;“专做 PS,擅长人体”;“通吃SQL, NoSQL”等等。
(来源: 论坛)
大智冲这些人喊了一嗓子: 搬砖的有没有? 一百块砖一毛钱!
地上蹲着的一些人抬头看了看, 有一两个人慢慢站起来了。
大智看了看人数, 又喊了一声: 中午有盒饭!
这时七八个人都站起来了, 拍拍屁股就凑到大智面前。大智就带着他们走了。
这七八个人是团队(team)么? 不是,他们只是一群乌合之众,临时聚集在一起,各自完成任务就领钱走人(work group)。
下面是一些团队的例子:
可以看出, 这些团队有共同的特点:
1. 团队有一致的集体目标, 团队要一起完成这目标。
一个团队的成员不一定要同时工作, 例如接力赛跑,
(王屋村搬砖的“非团队” 成员则不然, 每个人想搬多少就搬多少, 不想干了就结算工钱走人)
2. 团队成员有各自的分工, 互相依赖合作, 共同完成任务
(王屋村搬砖的“非团队” 成员则是各自行动, 自行独立把任务完成,有人不辞而别, 对其他的搬砖人无实质影响)
回过头想想学生在小学中学的学习过程, 虽然大家在一个班集体, 但是大部分工作都是以“非团队”的形式完成的。 大家津津乐道的“团队精神”,“集体主义” 得到了多少锻炼?
软件团队有各种形式, 适用于不同的人员和需求。第一感好用的形式未必是最适合的。例如幼儿园大班小朋友的刚开始踢足球的时候, 大家都一窝蜂地去抢球, 球在哪里, 一堆人就跟到哪里, 这是一个好的团队形式么?
要把一这群小朋友培养成一个团队(如下), 需要时间:
体育团队从一窝蜂抢球演变到有明确的分工, 阵型, 战术的团队需要时间。 类似地, 软件团队的形式, 最初是混沌的一窝蜂形式 : 一群人开始写代码, 希望能写好好软件。随着团队的成熟和坏境的变化, 团队模式会演变成下面的几种形式之一:
不能否认,这样的团队也有, 只不过他们在这样的模式下存活的时间一般都不长, 没有机会让别人很好地观察。
就像在手术台上那样, 有一个主刀医师, 其他人 (麻醉, 护士, 器械) 各司其职, 为主刀医师服务。
也有首席程序员 (Chief-programmer),他/她处理主要模块的设计和编码, 其他成员从各种角度支持他的工作 (backup programmer, admin, tool-smith, language lawyer, specialist)。Frederic Brooks Jr. 在设计IBM System 360 的时候就是采用这种模式。
主治医师模式的退化: 在一些学校里, 软件工程的团队模式往往退化为“一个学生干活, 其余学生跟着打酱油”
主治医师模式运用到极点, 可以蜕化为明星模式, 在这里明星的光芒盖过了团队其他人, 前一阵子喧嚣一时的“翔之队”就是一个例子。明星也是人, 也会受伤, 犯错误, 如何让团队的利益最大化, 而不是明星的利益最大化? 如何让团队的价值在明星陨落之后仍然保持? 这是这个模式要解决的问题。
社区由很多志愿者参与, 每个人参与自己感兴趣的项目, 贡献力量, 大部分人不拿报酬。这种模式的好处是“众人拾柴火焰高”,但是如果大家都只来烤火,不去拾柴;或者捡到的柴火质量太差, 最后火也熄灭了。 “社区” 并不意味着“随意”, 一些成功的社区项目(例如开发和维护Linux 操作系统的社区)都有很严格的代码复审和签入的质量控制。
这样的团队在每一个项目(剧目)中, 不同的人会挑选不同的角色。在下一个剧目中, 这些人也许会换一个完全不同的角色类型。各人在团队中听从一个中央指挥(导演)的指导和安排。在学生实践项目或培训项目中, 这样的事情经常发生。
一些软件项目在秘密状态下进行, 别人不知道他们具体在做什么。 Apple 公司在研发 Macintosh 之后的系统时, 就有两三个团队在不同时期进入秘密状态开发。现在一些创业团队也是处于类似状态。 这种模式的好处是: 团队内部有极大的自由, 没有外界的干扰 (不用每周给别人介绍进展, 听领导的最新指示),团队成员有极大的投入。
就像电影电视中的特工组《加里森敢死队》等等影片一样,软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。例如2000 年之前很多公司都需要专业人士去解决 Y2K 问题。这些团队成员必须了解传统语言和老式系统, 才能胜任这样的任务。现在还有一些团队专门做网站安全性服务。
大家看过交响乐团的演奏。我觉得有下面一些特点:
・ 家伙多, 门类齐全。
・ 各司其职, 各自有专门场地,演奏期间无聊天走动随意交流等现象。
・ 演奏都靠谱, 同时看指挥的。
・ 演奏的都是练习过多次的曲目, 重在执行。