2006德国世界杯已落下帷幕,在巴士、在餐厅人们还依然议论着十大魅力进球、意大利的幸运和齐达内的红牌罚出……没完没了的世界杯。但渐渐地,一种失落正慢慢地爬到我身上,里面夹杂着或远或近的思绪。是巴西、阿根廷过早地离开?还是德国坚强的战车没能冲到顶峰?或许是往后的几个月、甚至四年,我们将缺少一份在世界杯赛中所具有的那份激情、那份期盼……在众多的思绪中,想得最多的还是足球给我们的启发,给我们软件团队建设和管理的启发。
足球和团队建设的关系,不是牵强附会的,有一件事件可以证实。2005年,英国皇家人力资源协会在其年会上特意请来了埃里克森,给众多的、职业的人力资源经理做了一个培训,题目就是《怎样让你的团队出色发挥》。在会上,埃里克森对管理足球队的成功经验进行了概括性总结,只有三点:要有优秀的球员,尊重球员,行事要简单。虽然是三点,但每一点都是经典。如果把这三点引入到软件团队管理中,其解释是:要有优秀的软件工程师,正如PSP强调的个人能力和素质,队员是团队能力的来源。尊重每一个技术人员,也就是尊重“人是最宝贵的财富”格言,以人为本,充分调动每个人的积极性和主动性。简单的流程和模式。简单的可能是最好的,如敏捷方法所倡导的那样。 故事过后,下面让我们从足球展开讨论团队建设和管理。
1.团队分工明确又灵活
在足球队,分工明确,由前锋、中场、前卫、后卫、门将等不同角色组成,组成442、433、4312等阵容,各司其职。前锋主要任务就是进攻、后卫主要责任是防守,但有时这些角色也发生变化。由于球场情况瞬息万变,后卫有时参与进攻而直接射门得分,后卫线有险情时,前锋也有必要及时回防。
高效的软件团队也设定不同的角色,如架构师、设计师、程序员、测试工程师、项目经理等。一个软件团队需要由不同技能的人员构成,如架构师需要丰富的经验和全面的技术,而项目经理需要良好的沟通能力。虽然团队分工不同,但需要整个团队成员的协作努力才能保证整个团队的高效运作。一方面大家工作重心和侧重点是清楚的,但各自的分工也不是绝对的,相互帮助、相互支持,使整个团队更有效地、高质量地完成任务。
2.团队文化和精神
没有良好的团队文化,软件产品是很难成功的。德国战车一如既往的继承了钢铁般的意志力、踏实和严谨,获得了好成绩——季军。事前,人们认为德国队进入八强,就战绩不错了。而阿根廷的点球失败,从侧面说明了其队员的心理素质不够强、意志薄弱。韩国队、日本队也表现出良好的团队精神,而中国队就缺乏团队精神、缺乏顽强斗志的精神,在许多比赛中得到印证。
激励是一种文化,良好的文化讲究激励,以激励、引导为主,不断促进团队的士气、积极性,而很少使有惩罚。在软件团队中,我们可以一天送出一个“胡萝卜”(寓意奖励),通过走到工程师前面口头表扬、通过邮件向大家表扬某个人、设置游戏奖励优胜者、不断征求大家意见、将结果反馈给大家等等,以此激励团队。
3.团队的能力
有经验的球队,首先对如何踢好下场球以及每个球员在其中所承担的角色取得共识。足球赛是真正的一个团队工作,缺乏团队能力,靠个人能力是不能取胜的。巴西球队中的大牌球星无数,但不是人们想象的那样可怕,其整体缺乏配合,进攻能力不强。而厄瓜多尔没有大牌球星,两场球赛均是大捷,不失一球,其结果完全来自于优秀的团队配合。如果一支球队不懂得配合,疲于奔命,就不容易赢得比赛。
很多开发团队不乏能人和高手,但缺乏定义清楚的流程、缺乏主动沟通和密切协作,团队整体实力不强。软件的开发,越来越需要团队整体的能力,需要明确的分工又需要默契的配合。软件测试,则更依赖于严谨的团队