learn-tech/专栏/技术领导力实战笔记/014从零开始搭建轻量级研发团队.md
2024-10-16 06:37:41 +08:00

97 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

因收到Google相关通知网站将会择期关闭。相关通知内容
014 从零开始搭建轻量级研发团队
2015年我加入特赞带领了一支 5 人的研发团队。那时公司还在天使轮,团队最大的目标是能让产品上线,并证明我们的商业模式是可行的。三个月后,我们实现了这个目标,看到公司第一笔订单产生。随后我们拿到了 A 轮融资,开启了公司新的征程。在接下来的两年中,我们不断开发新的产品功能,不断优化现有产品特性,但似乎总是很难感受到研发和业务之间发生的直接影响。
不久前我们拿到了 B 轮融资,今年是公司的重要转折点,也是公司业务和规模同步增长的重要时期。我认为有必要将团队中一些有价值而有意义的工作做一些总结,希望能给业界朋友们一些帮助,或者给大家带来一种新的思考。
我将从组织架构、研发流程、绩效考核、团队文化这几个方面,与大家探讨如何打造一支高效的研发团队。首先从搭建团队组织架构开始,我们现在就一起出发吧。
矩阵式组织架构
如果研发团队规模大于 10 人,并且希望团队以最高效的方式实现项目交付,不妨采用以下“矩阵式”组织架构(如图 1 所示)。该架构能让团队更加专注,而且整个架构的扩展性也非常强。
图 1矩阵式研发团队组织架构图
我们将横向的“职能团队”比喻为“虚线团队”,将纵向的“项目团队”比喻为“实线团队”。以实线项目团队为主,以虚线职能团队为辅。横纵交错,形成一个优雅的矩阵,横向可扩展,纵向可延伸。
横向的职能团队
根据团队成员专业技能的不同,可划分为多个职能团队,也称为“小分队”,例如:前端小分队、后端小分队、测试小分队、运维小分队等。当然,可根据我们所面临的实际环境,灵活划分出合理的职能团队。
需要注意的是,每个职能团队必须有一名负责人,也就是说,不要让同一人担任多个小分队的队长。因为划分职能团队的目的就是为了将专业技能聚焦,队长的职责之一就是帮助队员们在专业技能上得到成长,为职能团队赋能。
除了前端、后端、测试、运维这类职能团队以外,也可以搭建更有意思的职能团队,比如:技术委员会。
我们需要让团队们都知道的是,能够加入技术委员会的人,都是团队中技术水平最高的人,需要让他们有一种至高无上的荣誉感。技术委员会的成员可能来自于前端、后端、测试、运维,但技术委员会的人数一定是非常精简的。
技术委员会中有一名“技术主席”,也可称为“技术委员长”,他是整个技术委员会的权威,拥有最高的技术决策权,其他成员统称为“技术委员”,他们都是“技术专家”,而技术主席是“首席技术专家”。
随着团队规模的扩展,如果团队中其他队员希望申请加入技术委员会,此时必须得到委员们的一致认可,主席拥有最终决策权。加入的过程可能需要笔试或面试,或者也可以增加一些投票环节,我们可以把这个过程设计得更好玩一些。
除了技术委员会以外,还有产品委员会和设计委员会。产品委员会中的成员往往都是产品经理,当然也可以欢迎具备产品思维能力的工程师们加入,决定权还是交给产品委员会主席来定夺。设计委员会中的成员一般都是设计师,同样也包括对设计感兴趣的伙伴们。
需要强调的是,委员会中的成员,务必确保少而精,而且加入的成员都要有自己的责任。
可见,职能团队包括“小分队”与“委员会”两种形式,不管哪种形式都有一名负责人,即队长或主席,他们是自己所在职能团队的核心,他们的首要职责是帮助成员们在专业性方面得到提升,从而提高整个职能团队的战斗力。
职能团队负责人并非空降或任命,而是由职能团队成员们共同选举。每隔半年,团队全员可通过投票的形式,以匿名选举出自己心中认为最称职的职能团队负责人。也就是说,职能团队负责人是有任职期的,且任职期为半年,他们需要在这半年时间内努力改善自己所负责的职能团队,并努力让团队能得到成长,自己才能得到进步。
现在,我们可绘制一幅职能团队组织架构图(如图 2 所示),我们也可以根据实际情况进行合理设计。
图 2职能团队组织架构图
横向关注人员成长,纵向关注项目落地,下面我们就一起来搭建纵向的项目团队。
纵向的项目团队
在纵向层面,我们还需要搭建一些项目团队,并确保这些项目团队是可以并行工作的,也就是说,他们的工作一般是彼此隔离,不会相互干扰。
在业务发展过程中,难免存在一些实验性工作,业务团队希望研发团队能够快速给出产品方案,并以最快的速度上线且投入市场,通过试错来验证业务的意义。研发团队也希望快速响应业务的变化,以提高产品和技术的价值。因此,我们需要搭建一个称为“功能团队”的组织,该组织的成员将面向业务中实验性的新功能进行快速开发,并确保这些功能可以尽快上线,但质量上却不能打折扣。
另一方面,已经上线的产品功能还需要在业务上不断磨合,通过不断收集用户反馈来持续迭代,才能打磨出一款优秀的产品。我们需要在已有产品功能上进行调优,以不断适应业务的需求。因此,我们需要搭建一个称为“效率团队”的组织,让他们来跟踪已经上线的产品功能,并通过数据和反馈来驱动产品不断优化。
公司主营业务固然重要,对于创新性业务而言,将会为公司带来更多的商业机会。因此,我们可以需要搭建一个称为“创新团队”的组织,它是我们的“独立团”,我们需要为这个团寻找一名称职的团长。
此时,你将得到一幅项目团队组织架构图(如图 3 所示),每个项目团队都有其负责人,每个项目团队可根据实际情况,划分多个项目小组,确保大家都能并行工作。
图 3项目团队组织架构图
需要注意的是,由于项目周期是变化且短暂的,因此每个项目的负责人也是动态的,可能由项目团队负责人来担当,也可能是由项目团队负责人授权一名项目成员来担当,但项目团队负责人需要为项目最后的结果负责。
如果说功能团队的职责是实现产品功能的从 0 到 1那么效率团队的工作就是完成产品从 1 到 100如图 4 所示)。
图 4功能团队与效率团队的关系
我们可将实验性的功能交给功能团队来研发,将优化性的工作交给效率团队来跟踪。
队员的选拔也十分重要。功能团队的队员对技术实现能力要求较高,尤其在做新功能的时候,需要考虑对整个系统架构的影响,不仅需要有较高的效率,同时还需确保较高的质量。效率团队的队员对业务理解能力要求较高,当他们对现有功能进行优化时,需要通过业务反馈和数据表现做出正确的判断,指导自己的下一步工作。
当功能团队所负责的项目上线后,他们会将该项目交接给效率团队,随后效率团队将对功能团队的交接情况给出评价,评价结果将影响功能团队的绩效考核成绩。关于绩效考核问题,我将在“绩效考核篇”中进一步与大家探讨。
我们认为员工不应该存在“双线汇报”关系,这样只会让组织架构变得更复杂。因为项目团队才有汇报,职能团队没有汇报,只有培养。项目团队为公司目标负责,职能团队为团队成长负责。换言之,项目团队帮助公司成长,员工可拿到项目奖金;职能团队帮助员工成长,为员工实现升职加薪。
写在最后
对于一支研发团队而言,需要拥有合理的组织架构、高效的研发流程、科学的绩效考核、良好的团队文化。如果缺乏这些方面的建设,研发管理工作将变得痛苦且低效。我们应该做的是,从管理中追求效率,从效率中提升价值。
杰克·韦尔奇曾经说过Before you are a leader, success is all about yourself. When you become a leader, success is all about growing others.(在你成为领导者之前,成功的全部就是自我成长;当你成为领导者之时,成功的全部就是帮助他人成长。)
现在我想说:当你在赛场上踢球时,你应该考虑做一名优秀的球员;当你成为一名优秀的球员时,你应该考虑做一名优秀的教练。从技术到管理,正是球员转变为教练的过程,我们不能停止前进的脚步。团队的成功,才是我们的成功,我们的职责是给团队赋能。
与君共勉。
作者简介
黄勇现任特赞科技tezign.comCTO图书《架构探险》作者Smart 开源项目作者TGO鲲鹏会上海分会董事会成员QCon 讲师。十年以上互联网软件架构与技术管理经验,擅长敏捷开发,推崇“轻量级”系统架构。喜欢阅读,热爱交流,乐于分享。