如何建设软件团队?
Successful teams are both satisfying and rare.
成功的团队既令人满意又十分难得。
几乎大部分的商业软件,都需要团队来开发。在公司里,我们把分配到一起工作的一群人叫做“团队”。不过叫团队的,未必就是团队。理想中的团队,是一群人在工作上紧密联结,形成1+1>2的合力。一群人一起工作的模式与一个人独立工作的模式是完全不同的。因此,如何让团队中的个人在工作中紧密衔接,便是团队形成过程中需要解决的重要问题。
说到好团队,最直接的表征一定是高绩效。促使高绩效形成的因素有很多。但归根结底,高绩效的产生离不开团队成员朝着共同目标相向而行。当团队中的每个人都向着同一个目标,所形成的合力一定大于有人偏离目标时得到的合力。如果用一个词来形容这样的团队,那便是具有“凝聚力”。
具有凝聚力的团队是一群高效而又团结的人,他们之间的结合非常紧密,使得整体实力大于个人实力之和。这样的团队的产出是高绩效的。
——Demarco & Lister, Peopleware
公司总是希望所有的团队都是如此,便会期望通过“团建”加速形成团队中人与人的联结。我给团建活动归纳为三种类型:
-
会议,比如宣贯会、动员会、茶话会之类的,与严肃的工作会议比起来,多数都给人一种“务虚”的感觉
-
游戏活动,比如聚餐、狼人杀、撕名牌、真人CS等
-
旅游与运动,比如登山、拔河、打篮球等
讲真,这些团建的确可以建立与加强团队成员之间的联结。BUT!当大家回到工作中,也就尘归尘土归土了。为什么会这样呢?是形式不奏效?还是时间太短暂?或者经费有限?……
我举个例子。比如你上学的时候跟某个同学一起逃课,一起被老师发现狠狠地批评了一顿,还一起罚了站、一起请了家长,一起写了检查,一起抄了校训,一起当着全校同学面做了检讨。多年以后你们再次相遇,谈起往事,你们都会觉得,自己跟眼前的这个同学比跟其他同学的关系更铁。
这种“更铁”的联结,在于你们共同经历过难忘的事件,好比一起扛过枪、打过仗的战友。想要在工作中打造这种“过命的”联结,光靠前面所说的团建是达不到的。问题从工作中来,还要回到工作中去。
试想一下,如果公司或者团队的领导者可以创造出某种“团队管理机制”,让成员们有机会体验一次一起朝着共同的工作目标努力前行,并最终取得高绩效的经历。这种在工作环境中,产生的人与人之间的联结(或者干脆直接叫团队凝聚力),一定远远强过团建活动短暂欢乐后的效果。
这种令人垂涎的“团队管理机制”,我更愿意称之为“团队纪律”。(源自Watts Humphrey)。因为莎士比亚曾说过,“纪律是达成一切雄图的阶梯”。由于软件行业是一个知识密集型的行业。组成这个行业的程序员们,尽管表面上极具共性,但内心深处却都对自由有着很高的追求。因为不想被约束,所以一谈到纪律,他们便要为自由呐喊。其实吧,这两者并不冲突。“纪律是自由的第一条件”,这是大哲黑格尔的话。当年毛主席领导人民运动,也得出了“有组织有纪律,才能打胜仗”的历史经验。
软件开发作为典型的团队型工作,纪律便是第一要务。没有纪律,团队就如同一盘散沙,各自为战,失去统一的前进方向,合力变分力。尽管纪律着实会让有些人,在有些时候感到不那么愉快。但团队是一个整体、项目是一个整体、公司是一个整体。个人处于整体之中,要服从整体,这种自由便一定是有限制的自由。无限制的自由不是自由,而是任性与放纵。如果你不是孤身生活在无人岛上,那么就根本不存在绝对的自由,任何自由都必须以遵守纪律为前提。因此,在工作中,达成高绩效这一“雄图”的阶梯,便也是纪律。
我想讨论的纪律并不是类似996这种公司级的、制度层面的规章制度。而是需求、设计、编码、测试过程中,将软件开发做得更好的纪律。
你可能会说,为了将软件开发做得更好,我们制定了一些工作流程,使得需求、设计、编码与测试中的部分工作得以按照“纪律”执行。
团队当然需要这样的纪律。只不过,这样的纪律可能需要推行许久才有所成效;或者直接推行受阻,倒退到依赖个人自由发挥的状态。因此,我们不能将团队纪律直接等同于制度化的工作流程与标准,如同束之高阁的法典一般,落不了地。
要想团队纪律真正落地,需要让每一个团队成员理解团队将要做的事情。你可能会觉得这个答案有点可笑。谁不是在进公司第一天,或者项目启动的第一天就知道将要做的事情呢?可你真的知道吗?其他人的想法跟你一致吗?你确定所有团队成员都在为了同一个目标而没有分力吗?
如果团队成员中:
-
有人对自身的角色感到模糊;
-
没有完整参与工作目标、团队目标以及各个成员的个人目标的设定与评审;
-
没有根据实际工作需要,识别出合适的工作流程与标准;
-
没有共同制定出详细且资源平衡的计划。
那么这样的团队便是缺乏工作共识,团队纪律值低,想要高绩效,只能看运气了。
团队一次次地经历上述过程——碰撞观点、达成统一,从而形成共识;并在工作中,将共识视为团队纪律,从思想到执行,建立起在团队成员之间强有力的联结。这样才可谓是真正有助于打造凝聚力、实现高绩效的“团建”。
除了共识,团队纪律的另一个方面是执行层面的。
这非常容易理解——在纪律严明的团队中,也会出现个别散漫的人。工作结果的好坏是团队成员共同作用的结果。我们希望所有人都自觉,不仅自觉地形成共识、遵守共识,还要能自我察觉出自身的能力水平,以便在形成共识与执行工作的过程中,负责任地给出建议与承诺。
让个人在执行层面做到这一点,也需要某种“个人管理机制”。与“团队管理机制”类似,我用“个人纪律”来命名这种“个人管理机制”。于是团队纪律便在思想与执行上有了两个方面的表征:
团队纪律 = 共识 + 个人纪律
对于团队管理者来说,这是让团队高质量完成工作的重要措施;对于团队成员来说,这也是个人发展的重要措施。团队与个人真的有机结合在一起了,从此,开始了幸福而快乐的工作……