NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

樊伟伟:中华万年历的研发体系建设

  • 2020-01-10
  • 本文字数:3862 字

    阅读完需:约 13 分钟

樊伟伟:中华万年历的研发体系建设

TGO 鲲鹏会南京分会会员、随身云(南京)信息技术有限公司技术总监樊伟伟作为TGO鲲鹏会线上分享第六季的嘉宾,以直播的形式分享了中华万年历的创业研发体系建设。本文根据当天直播内容整理。



大家好,我是来自中华万年历的樊伟伟,很高兴今天能和大家一起探讨关于创业公司研发体系建设的话题。我的分享主要以研发中华万年历产品的整个过程为主,向大家介绍如何在产品的不同阶段,构建适合自己的研发体系,保证产品和业务稳定发展。


中华万年历是一款日历产品,除了一些日历必不可少的功能(农历、黄历、传统文化运势)外,还有天气、星座、节日提醒、订阅公众资讯等功能。产品的初衷是以日历切入,串联天气、提醒、倒数日以及星座,为大家提供资讯和传统文化。


先和大家讲一个关于创业段子:“我有绝妙的创意,靠谱的团队和天使,就差一个程序员了”。但我认为,只要创业项目不是 demo ,那绝不仅仅只差一个程序员。创业公司能活下去非常不容易,必须要有完整的研发体系支撑,所以打造高效的研发体系非常重要。

什么是研发体系


技术人都应该知道康威定律 —— 一个公司的产品和服务,是其自身组织结构和沟通以及工作方式的反应。从这个角度来看,一个研发体系应该包含三个部分:


  1. 组织。组织和人是最重要的,如果研发体系里没有组织和团队,谈流程 / 规范或是技术 / 架构都没有意义;

  2. 流程 / 规范。流程和规范的优化是为了让组织之间的协作更加高效,同时保证我们研发的交付质量;

  3. 技术 / 工具。合适的技术架构保证我们的产品快速迭代,自动化工具的使用可以提高工作效率。


这三条线共同构成了研发体系,每一条线下都有很多实践点,来促进产品和业务向前发展。接下来我会从万年历开发的不同阶段,针对这三条线的不同时间点,来跟大家交流我们当时是怎么通过这些打造并建设我们研发的体系。

中华万年历产品发展历程

起步阶段,从 0 到 1

从 0 到 1 是野蛮生长的过程,为了让产品快速上线,第一个版本的产品功能能多简单就多简单。在起步阶段,人手的不足是从 0 到 1 阶段面临的普遍问题。



从组织这条线来看,如果在创业之前已经搭建好团队最好,如果没有团队,面临的第一个问题就是招人拉队伍。创业公司刚开始招人有一个 3F 法则:family ,friends ,fools(家人,朋友,“傻瓜”),除此之外,因为资金有限,我们还要尽量多招多面手,能在多个领域发展的员工。


同时,这个阶段的流程 / 规范也是非常粗暴的,沟通基本靠吼,协作基本靠走,甚至没有独立办公室。但这时的效率却是最高的,因为大家都是面对面沟通,所以避掉了很多不必要的环节。在流程方面,如果有 idea 、需求或开发上线就直接上,没有很完整的开发环节。


最后,这个阶段不要有任何的技术情怀,要选自己最擅长的技术栈,不要选大公司时髦的技术架构。技术服务业务,优先保证产品能快速上线。在这个阶段,技术方面要做到最基本的一点就是代码和开发环境的统一。同时,这时的工具也非常少,大部分时候都是靠人肉操作。

成长期,分组而治

我们在成长期 —— 产品快速发展时会遇到下列问题:


  1. 用户规模快速增长,新的需求会大量涌现;

  2. 团队成员快速扩张。沟通和协作的效率大大降低;

  3. 原有的系统架构在扩展性、稳定性方面,会暴露出很多不足,产生很多问题;

  4. 因为之前大部分的工作都是靠人肉,所以迫切需要自动化。



这个阶段我们要开始施行分组而治,业务和组织都要进行拆分。


因为这个阶段的需求会非常的多,各方面的人才都要配置齐全,所以我们要建立一个人才梯队和 QA 团队。同时,这个阶段我们需要沉淀一些最佳技术实践,所以还要建立团队内部的技术 wiki ,鼓励大家进行内部分享,团队之间相互学习和提升。


在从 1 到 10 的阶段中,需求来源和功能都非常多,所以我们必须要做出优先级,建立需求池。同时,我们还要保证代码的质量,做 Code Review 。除此之外,还要建立 bug 跟踪和故障管理流程,必须把此前的小 Bug 集中解决。虽然故障是不可避免的,但我们还是要把故障记录,分析背后的原因,避免重复犯错。


在技术 / 工具方面,随着用户的增长,我们需要引入成熟的开源技术,提高开发效率。在这个阶段,我们将单体的系统拆分成:用户、UGC 、内容和社区等子系统并快速上线。除此之外,因为这个阶段的发布会很频繁,所以我们还要建立持续交付的工具链以及统一的日志管理平台。最后,做一套大宝剑系统,包含资产、机房、应用、监控等同属于运维基础设施的管理,由系统统一管理。

成长期,产品迭代流程


上图是在成长期的产品迭代流程。首先是产品需求的收集和评审,有设计评审和技术的评审。接着进入研发、测试阶段,再通过测试环境和预发布环境后上线生产环节。在整个版本迭代之后一周,我们会进行复盘,对上个版本的各项数据进行分析,对做的不到位环节进行反思,在下个迭代里优化,并确认下个版本产品迭代的方向。


这个阶段是产品非常重要的阶段,也可以叫爬坡阶段。因为这个阶段的业务、产品、用户,系统以及组织人员都在向上增长,出现的问题会非常多,所以我们需要在组织流程、技术架构以及工具等方面快速提高。

成熟期,稳中求变

走过高速发展期,我们的产品会逐步进入到成熟期。在这一阶段可能会遇到以下几个问题:


  1. 产品功能比较稳定,需要寻求新的业务突破;

  2. 尝试增多,会导致新业务的失败率增高;

  3. 相同的业务场景,会出现重复造轮子的问题;

  4. 各个维度的数据分析需求越来越多。



这一阶段的团队需要垂直领域的专业人才,不断提高团队敏捷性,要形成研发团队的闭环。同时,我们还要建立基础平台部门和数据分析团队,沉淀基础服务,避免重复造轮子。


在流程方面要敏捷,小步快跑,接受用户的反馈,快速迭代演化产品。除此之外,还要用数据驱动产品决策,灰度和 A / B test 。当我们处于这个阶段时,每天的日活都是上千万,所以新功能上线不可能全部覆盖所有用户,一旦出现问题就是非常严重的线上故障。


技术 / 工具栈这一阶段相对稳定,但如果有新业务或新突破想去尝试,那么可能就需要积累一些自己的公共组件,把基础服务平台化。同时,在这一阶段要把沟通的工具统一,把沟通、流程全部统一化。最后,我们还要有数据分析平台,前期可以采购,后期可以去自建。


对于未来,我们希望组织敏捷,小而美;希望能把流程、各种最佳实践工具化;希望能真正做到技术驱动业务发展。

总结


  1. 我认为一个高效的研发体系,需要人或组织、流程规范,技术工具三位一体的考虑。每条线会有很多具体的实践,虽然每个公司都不一样,但思路都一样;

  2. 研发体系不求高大上,只求适合自己;

  3. 高效的研发体系和产品一样,需要不断迭代。


以上就是我分享的全部内容,希望能帮助到正在创业的朋友,谢谢大家。

Q & A

**成熟期的标准是什么?


樊伟伟:每个公司的发展阶段都不一样,对于我们这种 to C 的成熟期产品来说,新功能的迭代已经非常少了,我们更注重的是核心业务的稳定性,会往其他方向或其他领域做一些新的尝试。我认为,如果一个产品的核心功能稳定了,也开始想突破,想做新的尝试,就算是达到了成熟期。


如何裁掉不合适的人?


樊伟伟:因为我们公司发展至今已经 8 年了,所以有很多老员工。有的老员工会跟着公司一起成长,会成为公司的核心,甚至到管理层。但有些老员工跟不上公司的发展,或是自己不再寻求改变。我们首先会跟这些跟不上发展的员工面谈,并给予物质上的奖励,如果还是无法改变现状,那么就会快刀斩乱麻。


创业公司的研发团队要做 KPI 绩效吗?


樊伟伟:我们把研发分成了小组,每一块负责一小块独立产品,从整个业务的目标上来看,研发、产品以及运营都一样,所以研发也要背业务的 kpi 。除此之外,研发还会有其他的考核,比如交付速度、交付质量、线上故障等方面。


有没有做过失败的功能,是如何收场的?


樊伟伟:肯定会有。尤其在最开始的时候,会被用户左右,各个功能点都很散,不成体系。当你做了几个版本之后,你会发现之前做的功能其实很少有人用,甚至连自己都会慢慢遗忘掉,那这个功能最后就只能砍掉。我们现在会用数据衡量必须要做的核心功能,再加上 A / B test ,作出最后的选择。


技术团队和产品团队的沟通协作机制是什么样的?


樊伟伟:互联网公司的产品和技术打交道非常多,每一个版本的需求都要和产品碰。其实沟通协作,最重要的一点就是做到大家的目标一致,在这个基础之上沟通就会好很多。


如何安排团队加班,团队如何激励?


樊伟伟:对于创业型公司来说,加班肯定是在所难免的。我觉得加班应该分两种:


  1. 新业务尝试,关在小黑屋里每天都加班。这个时候团队的 leader 必须保证在物质上加倍补偿。在项目成功之后,要给予奖励;

  2. 产品迭代的节奏没安排好,造成研发团队加班。我们不鼓励这种加班,作为团队的 Leader 应该思考如何避免、如何优化。因为这种类型的加班并不会提高效率,最后交付的产品质量也会非常差,造成团队的不满,同时也没有时间让团队成员沉淀提升。


训诫和鼓励是否有适合的比例?


樊伟伟:如果有团队成员在某方面做得不好,我们应该先做正向的鼓励。如果正向的激励不起作用,那我们再采取反向的激励。比如提出批评,扣减绩效奖金等,但比例也需要自己去把控。




TGO鲲鹏会,是极客邦科技旗下高端技术人聚集和交流的组织,旨在组建全球最具影响力的科技领导者社交网络,线上线下相结合,为会员提供专享服务。目前,TGO 鲲鹏会已在北京、上海、杭州、广州、深圳、成都、硅谷、台湾、南京、厦门、武汉、苏州十二个城市设立分会。现在全球拥有在册会员 800+ 名,60% 为 CTO、技术 VP、技术合伙人。


会员覆盖了 BATJ 等互联网巨头公司技术领导者,同时,阿里巴巴王坚博士、同程艺龙技术委员会主任张海龙、苏宁易购 IT 总部执行副总裁乔新亮已经受邀,成为 TGO 鲲鹏会荣誉导师。


2020-01-10 16:512126

评论

发布
暂无评论
发现更多内容

Android开发了解这些,自然无惧面试,2021最新Android面试笔试

android 程序员 移动开发

Android开发已经到了要烧香求职的地步了?(1),flutter文档下载

android 程序员 移动开发

Android开发已经到了要烧香求职的地步了?,附面试题答案

android 程序员 移动开发

Android开发之Theme、Style探索及源码浅析,kotlin语言实例精解

android 程序员 移动开发

Android开发之旅:android架构,并发知识体系大全

android 程序员 移动开发

Android开发月薪10K与30K之间,只相差这几样热门的前沿知识

android 程序员 移动开发

Android开发现状:互联网寒冬下那些-Android-开发高手,都在研究什么技术

android 程序员 移动开发

Android开源:想送你一款小清新的加载等待 控件,源码+原理+手写框架

android 程序员 移动开发

Android开发五年,面试阿里才发现这些知识点没完全掌握;你知道吗

android 程序员 移动开发

Android开发想转去做鸿蒙,你的技术真的到天花板了吗?

android 程序员 移动开发

Android开发面试:requestLayout() 这么问,面试者直呼

android 程序员 移动开发

Android强行进阶:自定义TabLayout,看似复杂的神器效果

android 程序员 移动开发

Android快速开发工具集合——YUtils,webrtc音视频开发

android 程序员 移动开发

Android开发三年,面了八家公司终于腾讯上岸,含泪整理面经

android 程序员 移动开发

Android开发必看:一文教你完全理解DataBinding框架(下

android 程序员 移动开发

Android开发的前景到底怎么样2016?,kotlin菜鸟教程

android 程序员 移动开发

Android开发者熬夜也要看完的25本中、高级工程师进阶必看书籍

android 程序员 移动开发

Android开发进阶,需要掌握这几个关键技术是关键!,kotlin中文文档

android 程序员 移动开发

Android开发,没有跟上跨平台技术发展是你职业规划最大的可悲

android 程序员 移动开发

Android开发必会App启动优化,骚年你的屏幕适配方式该升级了

android 程序员 移动开发

Android开发者必看:Git使用过程中的一些常见场景问题总结

android 程序员 移动开发

Android开发:和Android原生系统对着干的“黑科技,安卓基础面试题2018

android 程序员 移动开发

Android开发:自定义TabLayout,神奇效果竟是如此简单,Android面试题集2021版

android 程序员 移动开发

Android性能优化 _ 大图做帧动画卡?优化帧动画之 SurfaceView滑动窗口式帧复用

android 程序员 移动开发

Android开发者们该如何面对中年危机?,移动智能终端开发技术设计实验作品

android 程序员 移动开发

Android开发:老板说要加点功能---我:相机变美团,程序员真的是吃青春饭吗

android 程序员 移动开发

Android异步消息处理机制详解及源码分析,Android多线程实现方式及并发与同步

android 程序员 移动开发

Android开发十年,面试百度竟被刷!柳暗花明2020获字节跳动Offer

android 程序员 移动开发

Android开发如何进阶,薪资如何跟上年龄的脚步?,超全Android中高级面试复习大纲

android 程序员 移动开发

Android开发:通过 webview 将网页打包成安卓应用,kotlin编程实践pdf

android 程序员 移动开发

Android开源的精美日历控件,热插拔设计的万能自定义UI

android 程序员 移动开发

樊伟伟:中华万年历的研发体系建设_技术管理_樊伟伟_InfoQ精选文章