我们期待的团队必然是充满活力创新,每个人都在贡献 idea,尝试优化产品和系统,参与到业务创造以及技术改变商业的过程中来。今天主要聊如何从业务支撑和技术驱动这两个方面出发打造这样的理想团队。
一、业务支撑
1、如何保证业务支撑
快速发展已经成为互联网公司的一种共识,那么在快的情况下,怎么面对业务支撑?尤其是当业务多,团队人手不够,大家又想做技术驱动、平台升级的时候。我们的做法是跟大家做了一个共创,把业务分成日常项目和重点项目。
在互联网领域,所谓重点项目就是能影响市场抢占度,甚至影响公司成败的项目。因此,对于重点项目,我们有一个明确的要求,即 0 排期,让重点项目能够随时启动、快速上线,以雷霆之势赢得战略优势。
那在具体执行层面,如何保证业务支撑呢?毫无疑问,架构和技术是基础,但你会发现架构永远跟不上新业务的发展。这时,在平台化还没有实现、工具化还没有完善的情况下,我们就需要先靠项目管理和人员素质来解决这个问题。
首先,要理顺整个项目管理流程和节奏,我们有几个原则,包括早进入、并行化、反向推动、Deadline、公告等。以并行化为例,在开始聊想法、MRD、运营计划的时候,核心产品经理、核心架构师、核心设计师要同步参与;在出商业计划的时候,基本的整体架构设计就应该已经完成了;在出产品 PRD 的时候,基本的概念设计就应该已经完成了;真正到开发的时候,测试用例和自动化测试脚本等就应该已经同步的完成了。尽量分解并行,以此来提高效率。
其次,要打造项目机动组织。举个例子,大家排期的时候经常会提到人员不够,我们的做法是对整个团队做一次大的封闭培训,要求大多数成员特别是高 T 的同学要非常熟悉每个系统,尤其是核心系统。这样,当某个系统模块比较紧急需要人手的时候,我就可以随时把其他系统的人调过去,尤其是高 T 的同学,他再带上两个研发的话,可以快速的把这个模块做起来。对于一家较大规模的公司来说,人员肯定是不缺的,关键在于组织是否足够机动,能否做到员工兵力的机动调配,去支撑重点项目,尤其是脉冲型重点项目。
除了这两点,还需要其他项目管理原则、项目公约、项目同步机制等,通过共享的方式,让大家都能看到项目进度,都能参与进来,真正做好项目管理兵力的机动调配,去支撑重点项目,尤其是脉冲型重点项目。
2、业务支撑遇到的问题
最典型的有以下 3 种:
1、过来的所有需求都说非常重要、非常紧急,但是拼完上线了,业务那边却不做数据反馈或者根本不用,团队这边也不知道效果到底怎么样。
2、因为都是机动支撑,做完这个版本,也不知道下个版本做啥。
3、团队也想给业务打枪造炮,但看不到业务蓝图、路线图和运营思路,感觉就像高级外包一样,完全没法和业务一起思考,一起做系统架构,导致没有成就感。
为了解决这些问题,须由单纯只关心“技术指标”的“需求翻译机器”、“架构优化机器”,转变为从技术视角去推动平台业务发展的业务架构师。不断锻炼“寻找技术和业务完美结合点的敏锐嗅觉”,保持“跨界”的核心竞争力。
二、技术驱动
1、架构升级,包括服务化、中心化、中间件、平台化等
架构升级对于整个研发的拉动作用是非常明显的,以大家都在做的服务化为例,拆分完之后,模块直接松耦合,可以独立发展和演变,团队也能快速扩张。
服务化做起来之后,一定要跟上中心化、平台化,底层一定要有一个很强大的中台做支撑,这样才能支持新业务的快速扩张,也能支持已有业务的快速变化。之后还可以去思考怎么在平台里去做业务监控、做数据分析等,慢慢会沉淀出很多中间件。
所以,整个架构是在不断演进、不断升级的,这对于技术同学来说就是一个很好的 Topic,激发大家的激情,让他们自驱动的去思考还可以做什么,来让效率更高、稳定性更强。
2、工程效率,包括动态化、配置化、工具化、自动化等
工程效率对业务会有比较直接的支撑,而我们做技术驱动的整体思路,就是把工程效率中的每条线、每个子模块,都去做动态化、配置化、工具化、自动化。
3、稳定性,通过系统保障系统
在稳定性上,除了形成很多固定的流程机制外,我们还通过系统来保证系统,包括测试 / 灰度、降级 / 容灾 / 回滚、监控告警等。
4、用户体验,包括性能/交互、可用性、新 IO、安全特性等
稳定性和工程效率是研发中两个基础的部分,能够在早期和中期很好的带动研发技术氛围,但最性感的还是用户体验。
以自然语言处理为例,它的知识图谱跟所处的行业有着密切的关系,比如我们就用它来做智能助手、智能客服,帮助司机解决使用问题,甚至帮助他们语音发货等。
5、运营效率,包括系统化、智能化等
每家公司不一样,怎么提高运营效率,怎么更高效的获取用户、服务用户、拓展业务,也是我们的工作重点。
从这个维度出发,也能衍生出很多 Topic,比如各个系统怎么去做自己的优化,通过系统化、智能化的手段大幅度提升运营效率。