银行业低代码平台降本提质实践——软件工程及过程改进优秀案例
银行业低代码平台降本提质实践——软件工程及过程改进优秀案例
来源:BanTech智库
作者:中国银行软件中心(西安) 郑无寒 钱莉萍 王佳敏
本文介绍了低代码行业现状、中国银行低代码平台实践成果,从五个方面总结低代码平台带来的改进效益,包括对软件产品交付周期的缩短、质量的提高、成本的降低等。
一、低代码行业现状
低代码开发平台于2014年正式提出,通过0代码或少量代码快速生成应用程序以实现不同的业务功能,提升开发效率。2019年底,中国软件行业协会认为,国内低代码领域尚处于早期,市场未来需求将出现暴增。目前在国内外互联网(微软、谷歌、阿里巴巴、百度等千余家企业)和银行业(农业银行、招商银行等10余家银行)已被广泛应用。目前低代码平台的应用以内部管理系统为主,渠道服务为辅,如百度推出的“爱速搭”低代码开发平台,已有超过4万管理端页面基于其完成。并且据弗雷斯特咨询公司调查显示2018~2021年间,企业使用低代码平台可提升74%应用开发效率,市场前景广阔。
二、从中国银行低代码平台看低代码平台效益
中国银行研发低代码平台与业界理念类似,通过构建业务逻辑与技术组件分离的开发技术,构建低代码开发平台,适用于大多数业务场景,架构变革带来的工艺优化缩短了任务开发周期、加强了软件质量、提高了敏捷响应速度、降低了运维成本、优化了企业人员结构。
1.缩短功能交付周期
低代码开发平台的原子组件为高度抽象的数据和中间件操作标准化组件,避免了写底层代码重复造轮子,任务开发时跳过业务无关的重复工作,节约了大量时间和人力。使用低代码平台的新工艺中,产品开发周期可提升40%~53%,单个批次的可交付功能数量为原来的1.7倍。
2.提升软件质量
(1)标准化组件,减少重复编码中的低级错误
标准化单个组件的复用能避免出现编码方面的低级错误,将工作主要围绕业务本身,比如:对客应显示哪些输入栏位、应采用怎样的顺序排布能减少操作次数,复选框的业务枚举值应该有几种,哪些生效的数据能不能再修改等纯业务和体验问题。
(2)倒逼需求质量提升
在低代码开发工艺中,由于编排环节对设计图的要求极高,提高了对产品经理的要求,倒逼需求细化工作的前移、需求质量的提高。
(3)迭代测试前移和功能测试多轮迭代,保证版本质量
渠道侧低代码平台支持在线调试功能,一键部署交易,实连调试环境,可在功能提交到版本库前尽量发现并解决问题,进入功能测试环节时,功能的质量相当于已经经过了一轮测试。
低代码平台基础组件都进行了功能和稳定性测试,质量高,业务开发无须再解决技术细节问题,只需要关注业务问题,提升了问题解决效率,测试人员可将更多精力投入到对功能的测试中,以提高软件质量。
(4)集中式技术栈管控,保证平台和产品功能稳定
低代码运行平台迭代升级时,减少了每个产品组都需要维护框架稳定的负担,低代码平台升级即可解决多方问题。
3.提高敏捷响应速度
低代码平台底层组件已有若干业务资产沉淀,提供大量各类由原子构成的业务模板,通过更多的使用,其天然适用原型法的开发方式,能够适应敏捷开发中的小步快跑迭代要求。银行的业务场景具备相似性,挑选适用业务模板,70%的功能直接复用,只调整业务有关的字段数据,修改配置后快速部署运行见效果。甚至在部分简单需求场景下,业务需求人员可实现自助式应用交付,减少了业务与开发沟通中的误差和时差。
4.降低运维资源成本
对于不同的产品,只提供一套低代码运行程序,一种部署方式,降低维护成本,仅以编排的交易不同来区分不同的应用。
平台提供了标准的日志格式、合规设计(脱敏、审计)、中间件接入方式、安全设计,各产品使用时,按照统一的安装步骤和运维步骤执行,不需重新设计和对维护人员培训,节约了大量时间和资金成本。
5.优化企业人员结构
现有开发流程中对开发人员的代码能力要求是普适性的、标准“一条线”的,这就导致不同能力水平的开发人员在分工上难以最大化个人能力价值。传统IT交付模式下的任务堆积、专业开发资源被大量简单、重复性的功能开发所困扰。
使用低代码平台建立的流水线开发模式可以人尽其用,优化人员结构。参与交付的人员按照能力可以分为前端开发、中台配置人员、后台开发。前端开发着眼页面展示与用户交互,为用户良好的视觉效果和友好的交互体验负责;中台配置人员需要熟悉各种组件的使用及用不同的组件组合出业务流程,要求最熟悉业务流程;后端开发负责平台组件开发、性能调优等专业工作,向技术领域深挖。此模式可以加强人才分化,有利于企业人才的纵向能力提升。
新工艺推广后,参与任务开发的人员减少,人员利用率提升10%左右,未来预计提升为50%。从用工成本上来说,低代码平台能够显著降低使用者的技术门槛,让企业能够充分利用平民开发者资源,以实现成本优化。
三、中国银行低代码平台的实践过程及架构简介
中国银行软件中心在低代码平台建设上,完成了以下三个阶段的探索。
1.一阶段:代码逻辑内聚
一阶段中将业务代码封装为内聚性较强的独立业务功能,尽可能复用,通过硬编码和参数铺底进行逻辑组装,必要时会对源码进行修改,以实现业务功能。
2.二阶段:构建原子并进行服务编排
二阶段中将业务逻辑从编码中完全抽离,仅提供无业务含义的增删查改模块,配置业务功能时,只需要配置业务表单的字段,并通过服务编排、工作流、规则引擎等底层设施,组装各种业务功能,此阶段硬编码工作已不足程序实现的10%,主要由开发人员进行大量手工配置实现业务功能。
低代码开发平台基于统一标准,打造通用的组件模型,实现低门槛、快应用,一套低代码架构适用于多个应用系统。同时解决传统工艺下由于底层架构改造导致业务代码和框架代码一起重构的困境,一次升级多方适用,达到快速应对变革,提升架构转型效率的目的。
低代码分为五层结构(如图1所示),即数据库层、原子仓库层、配置层、渲染层和业务层。原子仓库平台开发者将功能模块抽象成去业务含义、可无限复用的原子组件,建立组件仓库,并提供平台侧引擎。通过页面配置、流程配置、服务编排等快速组装不同业务场景。低代码平台具有极大的可复用性,实现一套执行码,通过引入平台jar包快速复用到多后台系统,衍变为不同产品业务逻辑,服务不同产品和业务场景。
图1 低代码平台架构
3.三阶段:为配置过程提供自动化工具
将需要手工配置的内容整理到一个配置管理端中,开发人员只需要在页面上拖拽页面表单元素、配置校验规则和参数、拖拽工作流节点、编排接口流程等,由配置管理端后台服务自动生成原本需要手写的各种配置文件,极大解放人力。
中国银行低代码平台在降本提质方面进行了实践并收获了一定的效果和经验,随着平台不断优化成熟,未来以此为抓手重组研发人员结构、变革研发工艺也将成为可能。
-END-
这是科技创新最好的时代,这是属于我们每个人最好的时代,关注“BanTech智库”,专注银行科技发展,探索无界金融生态!