丰巢CTO:张弛有度,打造高效率的技术团队

2020-01-14 20:10:19 浏览数 (1)

丰巢科技作为服务2亿用户的智慧物流运营商,是连接物流企业与消费者之间的重要平台。丰巢科技在全国大约有18万台柜机,覆盖全国110多个城市。在CTDC2019第三届首席技术官领袖联盟年会上丰巢科技的CTO 黄明(Andy)为我们讲述了丰巢如何打造高效技术团队。

大家好,我是来自丰巢的Andy,今天由我来跟大家分享一下如何张弛有度,打造的高效率的技术团队。

丰巢的研发团队有300人左右,分布在深圳和武汉两地。除了柜机相关的需求外,技术团队还肩负增值业务、智能决策以及提效赋能等开发职责。

为了提升团队的能力,我们会通过“一松一紧”来使得团队更加有战斗力,并借助研发管理工具这个抓手来实现团队的成长。

 松:弛有度  

1

对一些互联网企业来说,加班是一种常态。我们团队不太提倡通过消耗性的方式来应对业务需求和科技升级。

首先,我们有四个方向的“松”:弹性工作制、技术氛围、成长空间以及学习时间。

1.弹性工作制 

在丰巢团队,大家每天的工作时间是7个半小时左右,短期赶项目加班可以通过调休保证休息。我们提倡高效的工作,而拒绝无效的加班。对我们的团队而言,弹性的工作制是后面是三个“松”的前提。

2.技术氛围 

我们会注重整体的工作实效,而不是加班的时长。在团队中有一个技术分的机制,低质量的工作会受到惩罚,高技术含量的工作会受到嘉奖。这样的方式使我们团队的技术牛人有更多的话语权和发挥空间。

3.成长空间 

首先,我们会允许新人犯错。我们会允许他们犯一定程度的错误,但是我也希望他们犯错之后能够快速的纠正。

除此之外,我们也提倡“老人做新事,新人做老事”。我们也希望新员工尝试在旧的项目中带来新的框架;老人跳出舒适区去做新的事情。

4.学习时间 

我们会非常重视团队的充电。我们在公司会有图书馆,让大家尽可能接触最新或者最经典的技术书籍。我们鼓励团队代码开源和发表论文,每两周会有论文分享及阅读分享会。

互联网的技术迭代非常迅速,如果没有时间去充电的话,技能和经验也会很快过时。让团队成员充分自我成长,才能打造可持续的战斗力。

 紧:张有法 

2

在技术团队中,光有“松”是不行的,如果只有松没有紧的话,这个团队松垮垮了。

我们在下面五个方面都会做到“紧”,通过这些约束去让团队有更好的战斗力。

1.技术价值观 

在丰巢技术团队中,有这三个价值观:第一是担当,第二是无边界,第三是极客精神。这些精神整体上会让我们团队呈现出一种专业负责,不推脱、不甩锅的这样状态。

刚刚提到了技术分机制,我们的扣分是连坐制的,出现bug之后,从测试到开发到运维,大家会一起扣分,目的是希望每个团队成员都可以做到专业负责,把系统做到极致。让下游可以充分的依赖上游,减少无效的消耗。

2.架构先行 

在我们团队,大型或者中型的项目,一定要先做架构图才能动手开发。架构、代码、平台这三个是相辅相成的。有了架构之后才开始写代码,代码尽可能要沉淀成平台。通过架构的设计,我们才能保证在做项目时有章可循,有度可依。

3.攻坚小组 

从人员结构来看,我们的中型或者大型项目一般都包含技术经理、项目经理和产品经理这个三个角色。这个三角阵可以保证项目更好的往前走。

在开发方式上,我们的小组是不关小黑屋的。我们更多是强调精神的凝聚力。如果关小黑屋太久,基本上大家都很疲了,得不偿失。

对攻坚小组来说,角色互补是非常重要的一点。曾经面试一个算法同学,他说他既要负责从底层捞数据、做特征,又要负责最后模型上线,总之非常辛苦。而在丰巢团队中,有底层的数据仓库工程师去帮忙捞数据,算法同学只要focus在模型和算法上面,把模型做好之后会有专业的工程师去帮他把模型上线做ab test。这样,算法同学的工作会更加轻松有效。

就像打团战一样,角色互补会让大家工作更有效率。通过这样的攻坚小组,我们才能做到阵法有度,从容不迫。

4.项目管理 

项目管理可能大家都听得很多了,这里有以下五点内容:

①Make a (Good) Plan,Stick to the Plan:如果你做出来这个plan是不好的,你还坚持它的话,这效果可想而知也是不好的。

②进度承诺制:前期做的项目规划是非常精细的,大家都承诺了之后就要去承诺进度。

③项目延期,集体扣分:如果项目有延期的,是会集体扣分的。如果项目出现风险,我们提倡大家主动的去加班解决。

④重大风险的识别:当在项目出现风险时,项目经理是一定要提前去识别这个风险,并且提前把它解决掉的。这是项目经理最重的工作职责之一。

⑤项目日历:我们高管可以在上面随时看到各个项目的竞争和progress,让项目按照之前的规划推动,如果出现问题,我们也会提前干预的。

5.精品意识 

我们会有 Code Review & 单元测试覆盖率的要求,并通过颁发优秀奖、项目复盘等措施来提升团队精品意识。力求打造技术加艺术的项目,保证大家的工作都处在高水平的level上面去。

工具:工欲善其事,必先利其器

3

工具和平台,跟工程师的效率、系统稳定性都是息息相关的。好的项目需要有很专业的项目管理,也要求更专业的项目管理工具。

一般来说好的敏捷项目管理工具,它需要包括下面的五个特性:需求管理、设计文档记录、工时预估,项目把控以及协同讨论。作为一站式的敏捷开发平台,腾讯的TAPD是基本能满足我们的需求的。

1.需求梳理:TAPD可以很方便的帮我们把业务方的需求,借助各种的工具去把它变成版本的迭代,并且可以通过很好的节奏来发布版本。

2.设计文档:腾讯TAPD在文档的记录上有很专业的记录方式,尤其是工程师用Markdown语法写架构设计的文档的时候,非常自然的亲切。而TAPD也支持像WORD、Excel这些附件以及富文本的编辑,让产品经理可以非常自然地直接在上面粘贴各种文档。

3.工时预估:合理的工时预估是精细化项目管理的前提。做完技术方案和规划迭代之后,工程师会根据详细的技术方案和业务需求去给出合理的工时,然后我们再来评估项目或者迭代到底需要多少的时间完成。

除了“双11“”和“66”(我们的周年庆)之外,其他的项目如果确实不能满足的话,我们会适当的往后延期或者增加人手,来确保我们的项目是可控的状态。

4.项目进度:风险和变更对一个项目非常关键。我们需要识别重大的风险以及控制需求的变更,不能产品经理随便更改需求。在TAPD上可以方便地控制项目的进度,可以看到所有的需求、完成时间以及各个成员的工作量。可以帮我们通过多种的手段来保证整个项目的进度是受控的。

5.协同讨论:TAPD上有很好的项目看板,在需求发生变更的时候,通过企业微信以及邮件的方式去同步信息,这对我们来说非常关键。

因为我们是两地的工作成员是在武汉的,有些成员是在深圳。这种及时的通知方式是非常重要的。通过TAPD这样的一站式敏捷开发平台,我们才能实现高效的项目开发。

结语

最后总结一下,打造高战斗力的技术团队,提升团队的能力、默契和配合才是最关键的。我们通过松紧结合的方式来实现整个团队的高战斗力的打造,加上适当的工具、方向和人才,让整个团队不需要996也能够有很好的战斗力。

 推荐阅读 

点击图片即可阅读全文

点击阅读原文,提升团队研发效率

0 人点赞