哈啰出行:以人与技术的多方出击,提效移动应用研发

 

在今年云栖大会的移动互联网开发提效与实践论坛中,哈啰出行高级技术专家陈小辉带来《移动研发提效在哈啰的实践》的干货分享,介绍了如何通过“人”、“技术”多方出击,为繁多的业务线实现提效与性能保障。

成立于2016年的哈啰出行从广为人知的共享单车业务起步,先后推出哈啰顺风车、哈啰电动车、小哈换电、哈啰打车等强竞争力业务,进化为覆盖两轮出行、四轮出行、酒旅及到店服务等板块在内的多元化出行及生活服务平台。

业务的飞速扩张,也给技术开发团队提出了更高的挑战。例如研发资源分配问题、各端人员不平衡问题、沟通链路较长问题等。

“目前,整个技术开发领域变化巨大,具体而言,除传统前端后端外,数据、算法等逐渐深入研发流程,使整个研发链路变得很长。除此之外,产品、业务、城市运营等人员也参与到了研发体系中来,使得开发团队不仅需要内部沟通,还需同业务团队打交道,从而导致沟通链路变长。”陈小辉解释道。

01流程串联、需求提效以“人”为器打通症结

为解决上述问题,哈啰出行从流程串联、需求提效、技术升级三方面出发积极迎战,为移动应用研发排难提效。

首先是流程串联。对多数企业而言,该板块主要通过架构师、技术专家来完成。而哈啰则另辟蹊径,通过强化技术PM的价值来实现流程串联。

“强化技术PM的角色价值,主要聚焦在业务、架构、技术三个板块。”陈小辉阐述道:开发人员不应只关注技术本身,而是需要走进业务。通过成为技术PM,开发人员能够跳脱出单一的技术需求,了解业务链路以及后期业务规划,从而搭建技术与业务间的通路。

每当有技术开发需求,技术PM便需串联前后端,因此技术PM在团队中担当了半个架构师的角色,其对于架构领域必须有所了解。另外,面向各端技术领域,技术PM必须有所钻研且具备高自驱力,发现问题并解决问题。

以哈啰举例,为进一步优化相关流程,提高信息流转效率,哈啰出行将技术PM分级、分阶段划分,并沉淀出工作手册,以及圆桌讨论,建设技术PM人才成长路径的同时,也使得技术PM对于业务本身发挥着越来越大的作用。

除通过技术PM串联流程外,聚焦需求价值也是哈啰提效三板斧中的一环。

大多数产品业务团队都只告知开发团队需求,却不向其说明价值。因此,许多技术开发人员在研发过程中都会有这样一个困惑——“我所解决的需求具备怎样的价值”。

对此,哈啰出行优化了研发流程,在提出需求、预期效果,方案评估等方面着重强调价值,强化研发在产品中的话语权。

传统研发流程中有时会存在这样一个异象,产品经理的经验可能并不如技术专家丰富,这样可能导致研发效率低下。因此,我们最后通过将权限下发,并在流程中反复置入需求价值,使开发人员话语权有所提升。

不过,就如陈小辉所言,流程串联也好,需求提效也罢,均是与“人”高度相关,而降本增效仅靠“人”来驱动,显然不行,技术手段不可或缺。

02内外部技术升级为移动应用降本提效

当外部障碍扫除之后,哈啰出行便将重心聚集到了整个技术架构升级上来。对此,陈小辉指出,哈啰的技术架构升级思路主要以模块化、容器化、标准化为核心。

首先是模块化。在陈小辉眼里,模块化是一个老议题,许多企业都有自身的模块化架构方案。而哈啰出行的模块化升级则是以服务化的抽象为主,类似于微服务模块服务自治思路,能力围绕服务提供,通过接口隔离,以实现更高的灵活性和更高的成本效益。

其次是容器化。过去几年,产品迭代非常频繁,如果一味将业务铺在某个技术上面,未来升级成本将会覆盖过去所有的提效成本。以Flutter为例,两端替代一端是基本提效逻辑,但是对于老应用来说会涉及到多端沟通链条包,其实是有较大的效能损耗的,因此,全新应用或者全量Flutter化,也许会取得不错效果。同时还处于生态早期,需要更多的技术资源,开始之前需要更谨慎评估。

除此之外,多端跨端提效也是哈啰出行应用提效的重要手段。陈小辉分享到,哈啰出行业务线繁多,多端需求极大。基于此能力,开发团队只需一端开发并加以适配,便可实现含独立APP、支付宝小程序等多端复用,为业务提效。

再次是标准化。未来几年端的数量将会增加,技术栈或技术异构方式也会随之增加,在此背景下,底层基础能力的标准化重要性得以显现。

关于标准化,哈啰出行朝向多方探索,其一是基础能力分层,对隔离网络库、日志库等相对独立、对上层无感的部分进行聚类,并对每个库进行单元测试与自动化测试覆盖。对于偏中台能力、业务能力的部分,则是以服务化依赖、接口依赖加以实现。而对于业务层,除接口化隔离和路由隔离外,我们还为此建立标准规范,以标准化推动相应库往好的方向走。