科技是零售银行数字化转型最重要的决定因素,特别是面向用户的APP研发,其研发体系搭建和研发能力提升更是重中之重。
现在绝大多数中小银行采用科技外包模式满足自身需求,整体研发能力处于比较薄弱的状态。但是,随着近年来移动互联网和智能手机的快速普及,用户对于数字产品体验的要求越来越高,现有科技外包模式的弊端越来越突出,银行满足用户需求越来越力不从心。在银行中经常见到,APP用户体验设计差强人意,增加或者优化功能需要很长时间,小故障不断且出现故障无从定位等现象。从实际效果来看,采用科技外包模式,只是解决了“有”的问题,远远还谈不上“优”。
因此,加强APP研发能力建设,银行需要以“自有团队为核心,科技外包为辅助”,不断完善研发框架和基础组件,提升研发人员素质,加强研发团队建设。同时,将“敏捷迭代”理念贯穿APP研发的全流程,以便更好地满足移动互联网时代广大用户的需求。下文就这五个方面分别展开介绍:
1.研发团队
银行需要打造稳定的自有研发团队,招聘架构师和主力研发工程师,辅以第三方人力资源外包作为科技能力的补充。相较于整体项目外包模式来说,“自有团队为核心,科技外包为辅助”的模式,在技术细节把控、实现质量保证和优化迭代规划等方面都具有较大优势。下文提到的研发团队建设,也是以此模式为基础和前提开展。从行业典范招商银行APP的研发经验来看,也经历了从初期大部分由外包开发,到后期主要由自有核心团队开发的路径。
2.研发框架
一般来说,研发框架构建有两种路径。一种是在比较完备的研发框架下,搭建自己的移动端应用;另一种是先快速迭代产品,继而从项目本身抽取研发框架和公共组件,形成自有研发体系。不同银行可以根据实际情况,从资源投入、研发能力、产品设计等多个维度综合考量,选择适合自己的研发框架构建模式。
1)研发框架选择
在实际应用中,银行可以根据自身需求和技术栈特点选择不同的研发框架。对于业务设计复杂,模块众多的APP来说,可以选择基于完备的研发框架进行开发。例如,为了便于管理复杂的应用和服务,支付宝以Mobile PaaS平台为基础进行应用搭建。对于大多数功能不那么复杂的应用来说,用好Google或Apple提供的原生框架,或者在原生框架上进行适合自身的架构封装,已经可以满足需求。另外,还有很多第三方框架或者混合框架可供选择和参考,它们大多以跨平台为目的,通过桥接或者自绘形式实现,例如ReactNative和Flutter。
2)开发组件构建
开发组件可以选择整体购买或者部分自研的方式。如果整体购买类似阿里mPaaS解决方案,会有比较丰富的开发组件可供使用,例如分享、推送、日志服务等。如果没有全面的开发组件适配自身需求,也可以采用部分自研的方式。自研组件可以从项目中提取,例如符合自身风格的用户界面公共组件、日志组件和安全组件等;也可以参考优秀的开源组件,例如界面图表、网络模块、响应式编程、图片下载和显示等等。另外,作为功能需求的补充,还可以酌情购买第三方提供的移动统计、社会化分享等组件。
不论采用哪种应用框架和开发组件,都需要理清各系统的逻辑结构,清晰划分边界,实现APP模块化开发和系统解耦。在此需要特别强调,基于业务场景和产品逻辑进行应用架构设计和开发,会对研发人员基本素质提出较高的要求。
3.人员素质
我们谈到研发人员素质,一般会比较看重学历信息和项目经验。这些因素固然重要,但是对于研发人员,尤其是面向零售银行业务的APP研发人员来说,以下因素更加重要。
1)综合素质过硬
由于在开发过程中,APP研发人员要适度参与到零售银行业务的产品设计和市场运营中去。所以,要求他们既要有移动端研发的专业专长,又要具备完备的研发知识体系,同时,对于业务和产品本身也要有深刻的理解。
2)熟悉底层原理
面对应用层复杂的研发体系和层出不穷的开发组件,了解系统运行机制、实现原理,对开发高质量应用至关重要。很多APP研发人员虽然有5年甚至10年的经验,但一直在做重复的工作,例如熟练运用第三方库搭建应用,但对底层原理和运行机制却知之甚少,因而搭建的应用依样画样、质量无从谈起。但是,对于诸如“优化应用启动时间”这种问题,实际上要求研发人员对二进制文件结构、动态库加载机制、应用架构等有深入的了解。另外,对于金融应用的开发来说,逆向原理和数据安全体系建设也同样非常重要。
3)保持好奇心
在技术更新迭代加速,组件化、热修复、动态化、大前端、小程序等层出不穷的背景下,研发人员需要对技术保持长久的新鲜感和好奇心,才能提出有趣的创意或创造性的解决方案。
4.团队建设
打造一支战之能胜的团队,是数字化转型研发能力建设中最为核心的要素。在研发团队内部,研发人员素质通常呈正态分布,能力强和能力差的占少数,大多数占据中间位置。通过团队建设,初级研发人员的水平提升最为显著,随之而来的是整体研发团队实力的增强。
1)建设不同能力层级人才梯队
根据研发能力和研发经验等多维度的评估,研发团队应该逐步建设覆盖初级、中级、高级、资深的人才梯队。这样在开发过程中,既可以实现从高到低、从宏观到微观的技术把控力,又有一个可量化的指标,来标识整体研发团队能力的进步情况。这种梯队建设仅仅针对研发能力来说,并不是要构建一般意义上的层级化组织,相反,研发团队要打造扁平化组织结构。
2)实现信息共享和无缝沟通
信息透明有助于统一目标的设定,更加有助于科技与业务更好的融合。在扁平化的组织结构中,研发团队不仅仅需要减少组织层级,更重要的是能够实现内部信息公开透明,打破信息垄断和交流壁垒。
3)建立基于目标的自驱能力
研发项目要以目标为导向,建立研发人员的整体自驱能力非常重要。在PDCA,即Plan(计划)、Do(执行)、Check(检查) 和 Action(处理) 循环中,通过内部不断学习、改进,实现研发流程优化和人员素质提升。
4)打造学习型组织
团队成员定期以专题讲座、代码评审等形式,进行技术交流和分享,打造学习型研发团队。同时,从研发团队内部逐渐向外扩展开来,与上下游配合团队相互渗透互动,上游与产品设计对接,下游与测试运维对接,以实现越来越高的迭代频率和开发质量的目标。团队建设,还有很多方式和方法可以去实践。不同企业文化和组织结构,可以发展出适合自己的侧重点不同的方式。
5.敏捷理念
在APP研发过程中,建议银行使用DevOps方式进行快速迭代。DevOps理念、方法论和实践案例,在业界已经非常成熟,中小银行可根据系统现状展开工具链集成和落地的研究工作。
其核心思想是:快速交付价值,灵活响应变化。其基本原则包括:高效协作和沟通、自动化流程和工具、快速迭代和敏捷开发、持续交付和部署、不断学习和创新。
最后,在APP研发中,需要打通从产品设计到研发交付的整体链路,建立小规模、全功能的虚拟团队。所谓全功能,包含从产品需求到开发测试,再到上线运维,围绕价值交付的全部动作。研发人员参与产品需求讨论,并对功能做较细粒度的划分,测试人员提前介入,通过自动化测试,持续交付产出。全部成员对整体项目链路负责,使得APP在整个生命周期中持续开发、持续测试、持续集成、持续部署和持续监控,并结合问题持续跟踪反馈,最终形成完善的开发闭环和高效的迭代闭环。
APP研发能力建设,是一个长期积累的过程。银行想要打造一款精品APP,除了过硬的研发实力支撑,还需要“以用户为中心”进行产品设计,不断打磨体验。相信能够持续投入时间资源,不断强化研发能力建设的银行,一定会在零售业务的数字化转型中实现“蝶变新生”。
文章版权归“NAPO”所有