为什么软件项目需要 Team Leader
多年以前,当我接触敏捷时,我接触到一个概念,叫做 “自组织的团队”,当时我看了一些估计从没做过敏捷的一些凭空捏造的很多文章(事实上,这类人现在越来越多),那些文章多见名猜意,提出了自组织的团队就是团队自己组织,不需要Leader, 一开始我也是这么认为,甚至想尽一切办法向这个方向靠拢,而且成功的提交了一些项目,甚至于连我自己都相信这是自组织的结果,但是后来一想,我在团队里的所想所做不正是一个Team Leader 需要做的吗?
自组织团队的形成需要一个过程,而且目标只能无限靠近,难以完全达到就拿一个足球团队来说,就拿 “宇宙队” 巴萨来说,也是需要一个教练,同时也需要组建团队,买卖球员,队伍文化建设,战术打法等等,那么软件项目团队来说,自组织团队同样需要组建,文化建设,代码规范,Team Rule, 团队磨合,质量意识,技术交流,客户需求范围把控,会议组织,冲突解决,开发流程等等。
自我保护,害怕承担责任是大部分人的天性在没有一个好的敏捷文化的公司,大部分的程序员都不愿意做更多的事情,话句话说,更愿意做明确分配的事情,因为做的事情越少,自然问题越少,那么责任就越少,这是一种本能的自我保护,这也是大部分人难以成长的重要原因,所以必须要一个人来承担更多的责任,当然方法可以是把要做的事情分的更细,更明确,最终每个人做的事情更细,更多,更明确,那么每一个人要承担的责任就更多了。
被领导惯了很多中国的孩子,尤其是很多现在正处于黄金时代的程序员,独立意识确实要差一些,从小被父母装在一个大 “笼子”里,比如去哪里都是大人在前面牵着后面的小孩,老师严格教条的作业却只有一个标准答案,甚至在我看了写错一个字要重写一百遍一样猪一样的惩罚还至今流传着,忘了教育的本质是要把字学会而不是把字写一百遍,等等类似的东西,使我们不敢去思考,习惯被别人领导。
比如,我爱爬山,和我一起爬山的大部分人去一个没有去过的地方,都喜欢走在我的背后,因为他对未知有恐惧!习惯别人牵着走。
这个问题,我以前以为对高智商的程序员来说应该很少,后来经过10几年,我发现这和其它行业的人一样多。
所以,如果没有Leader, 大家不知道怎么干! 没有Leader组织,大家不知道干什么?
软件团队Team Leader的诞生由于上面的原因,我们需要一个Team Leader, 但是由于太多人习惯被领导,害怕承担更多责任,我们就急需要一个Team Leader, 但是一个好的Team Leader是非常难找的,因为一个好的Team Leader要做很多事情才能把一个Team变成好的Team.
不懂技术的Team Leader在软件项目里成功的概率很小由于软件项目来说,一个不懂技术的人可以当一个Team Leader, 但是要想当一个好的Team Leader是难于登天,因为如果你不懂技术,那问题太多了,你怎么知道大家的评估时间靠谱?你如何向客户展示你的方案,你的优势?由于文人相轻,有技术的人一般会鄙视不懂技术的人瞎指挥,从技术人员喜欢鄙视技术人员这点就不难想象的出来。
请不要举马云的例子,你啥时间看到马云去直接领导一个技术团队了.
不懂管理的Team Leader 也难以成为优秀的Team Leader因为Team Leader难找,所以在中国又一个常见的事情不断上演,那就是 “学而优则仕”,同样这个在我的团队里也大量存在,这是没有办法的事情, 因为如果他不懂管理,他还至少是一个程序员,相比不懂技术的管理人来说,如果他管理做不好,那对公司就没有什么价值了。
学而优则仕在软件团队里,我们都知道一个Leader懂技术是多么的重要,那么我们唯一的选择就是沿用了中国多年的传统,那就是“学而优则仕”,比如上小学时,老师不都是让学霸的当班长吗? 所以很多技术还不错的人,都在团队需要的时候 “被挺身而出”,“被临危受命” 成为了Team Leader,但是这样出来的Team Leader 由于由于没有太多的管理项目的知识,没有团队管理的经验,往往也有不少问题,请继续往下看!
Team Leader 你不再只是编码,请炖一锅石头汤由于“学而优则仕”,导致大部分软件团队Team Leader更多的专注于技术,就自然把更多的时间花在编码上,因为编码是立即可以看到的产出,而忽略了一个Team Leader要做的更重要的事情,比如团队文化建设,项目过程,质量保证,进度跟踪等等的事情。很多时候,我们缺少这些依然把项目做完了,但是实在很多加班,甚至是Team Leader卷起袖子一个定俩的情况下干完了,这样大部分情况就是客户感觉还OK, 但是难以达到满意。这还是自我保护的意识,害怕客户看不到自己实际的编码产出,实际上忽略了团队整体的目标的重要性。
关于技术团队Team Leader应该做什么,我本文就不想讲太多,有时间我会再写几篇关于Team Leader的文章,但是本文我强调的是技术团队的Team Leader不能只是编码,他要意识团队管理的重要性,哪怕这个“重要性”在别人看来什么都没有,不用害怕,因为我们只需要最终的项目成功来证明。
三言两语难以让大家明白Team Leader应该做什么,我就用一则寓言故事来告诉Team Leader 请炖一锅石头汤。
很多年前,有三个士兵,他们从战场回来既饥饿又疲倦,这时他们来到了一个小村庄。然而由于粮食遭遇欠收和连年的战争,村民们迅速的将它们的一小点粮食藏了起来,并在村子的广场中接待了士兵们,搓着双手,哀叹着他们是多么缺少食物。
士兵们平静地与村民们交谈着,第一个士兵对村庄的长老说道:“既然你们的土地收成不好,不能分给我们点吃的,那么我们将会与你们分享我们所有的:如何用石头做一道好汤的秘密。"
自然啦,村民们都十分好奇,很快他们就升起了火,架起了城里最大的一口锅,士兵们将三颗光滑的石子丢到了锅里。“这将是一锅好汤”第二个士兵说;“不过如果有一撮盐和一些欧芹那就更棒啦!”一个村民跳了起来,喊道“多幸运啊!我刚刚想起来家里还剩下些呢!”于是她跑回家,带着满满一围裙的欧芹和一根萝卜回来了。随着锅里的水渐渐煮沸,村民们的记忆力也变的越来越好,很快地,大麦,胡萝卜,牛肉还有奶油,统统被投入了这个大罐子里。
他们吃啊~跳啊~唱啊~直到深夜,美妙的宴会和新结交的朋友让每个人都感到焕然一新。当早上三个士兵醒来时,他们发现所有村民正站在他们面前。在他们脚边放着有一包这个村子最好的面包和奶酪。“你们把最好的礼物送给了我们:如何从石头里做汤的秘密”,一位长老说道,“这一点我们永远也不会忘记。”第三个士兵转身冲大伙说到:“这并没有什么秘密,但是有一件事是确定的:只有一起分享,我们才可能举办一次宴会。”说完,他们又踏上了路,慢慢走去了。