銀行業(yè)低代碼平臺降本提質(zhì)實踐——軟件工程及過程改進優(yōu)秀案例
來源:BanTech智庫
作者:中國銀行軟件中心(西安) 鄭無寒 錢莉萍 王佳敏
本文介紹了低代碼行業(yè)現(xiàn)狀、中國銀行低代碼平臺實踐成果,從五個方面總結(jié)低代碼平臺帶來的改進效益,包括對軟件產(chǎn)品交付周期的縮短、質(zhì)量的提高、成本的降低等。
一、低代碼行業(yè)現(xiàn)狀
低代碼開發(fā)平臺于2014年正式提出,通過0代碼或少量代碼快速生成應(yīng)用程序以實現(xiàn)不同的業(yè)務(wù)功能,提升開發(fā)效率。2019年底,中國軟件行業(yè)協(xié)會認(rèn)為,國內(nèi)低代碼領(lǐng)域尚處于早期,市場未來需求將出現(xiàn)暴增。目前在國內(nèi)外互聯(lián)網(wǎng)(微軟、谷歌、阿里巴巴、百度等千余家企業(yè))和銀行業(yè)(農(nóng)業(yè)銀行、招商銀行等10余家銀行)已被廣泛應(yīng)用。目前低代碼平臺的應(yīng)用以內(nèi)部管理系統(tǒng)為主,渠道服務(wù)為輔,如百度推出的“愛速搭”低代碼開發(fā)平臺,已有超過4萬管理端頁面基于其完成。并且據(jù)弗雷斯特咨詢公司調(diào)查顯示2018~2021年間,企業(yè)使用低代碼平臺可提升74%應(yīng)用開發(fā)效率,市場前景廣闊。
二、從中國銀行低代碼平臺看低代碼平臺效益
中國銀行研發(fā)低代碼平臺與業(yè)界理念類似,通過構(gòu)建業(yè)務(wù)邏輯與技術(shù)組件分離的開發(fā)技術(shù),構(gòu)建低代碼開發(fā)平臺,適用于大多數(shù)業(yè)務(wù)場景,架構(gòu)變革帶來的工藝優(yōu)化縮短了任務(wù)開發(fā)周期、加強了軟件質(zhì)量、提高了敏捷響應(yīng)速度、降低了運維成本、優(yōu)化了企業(yè)人員結(jié)構(gòu)。
1.縮短功能交付周期
低代碼開發(fā)平臺的原子組件為高度抽象的數(shù)據(jù)和中間件操作標(biāo)準(zhǔn)化組件,避免了寫底層代碼重復(fù)造輪子,任務(wù)開發(fā)時跳過業(yè)務(wù)無關(guān)的重復(fù)工作,節(jié)約了大量時間和人力。使用低代碼平臺的新工藝中,產(chǎn)品開發(fā)周期可提升40%~53%,單個批次的可交付功能數(shù)量為原來的1.7倍。
2.提升軟件質(zhì)量
(1)標(biāo)準(zhǔn)化組件,減少重復(fù)編碼中的低級錯誤
標(biāo)準(zhǔn)化單個組件的復(fù)用能避免出現(xiàn)編碼方面的低級錯誤,將工作主要圍繞業(yè)務(wù)本身,比如:對客應(yīng)顯示哪些輸入欄位、應(yīng)采用怎樣的順序排布能減少操作次數(shù),復(fù)選框的業(yè)務(wù)枚舉值應(yīng)該有幾種,哪些生效的數(shù)據(jù)能不能再修改等純業(yè)務(wù)和體驗問題。
(2)倒逼需求質(zhì)量提升
在低代碼開發(fā)工藝中,由于編排環(huán)節(jié)對設(shè)計圖的要求極高,提高了對產(chǎn)品經(jīng)理的要求,倒逼需求細(xì)化工作的前移、需求質(zhì)量的提高。
(3)迭代測試前移和功能測試多輪迭代,保證版本質(zhì)量
渠道側(cè)低代碼平臺支持在線調(diào)試功能,一鍵部署交易,實連調(diào)試環(huán)境,可在功能提交到版本庫前盡量發(fā)現(xiàn)并解決問題,進入功能測試環(huán)節(jié)時,功能的質(zhì)量相當(dāng)于已經(jīng)經(jīng)過了一輪測試。
低代碼平臺基礎(chǔ)組件都進行了功能和穩(wěn)定性測試,質(zhì)量高,業(yè)務(wù)開發(fā)無須再解決技術(shù)細(xì)節(jié)問題,只需要關(guān)注業(yè)務(wù)問題,提升了問題解決效率,測試人員可將更多精力投入到對功能的測試中,以提高軟件質(zhì)量。
(4)集中式技術(shù)棧管控,保證平臺和產(chǎn)品功能穩(wěn)定
低代碼運行平臺迭代升級時,減少了每個產(chǎn)品組都需要維護框架穩(wěn)定的負(fù)擔(dān),低代碼平臺升級即可解決多方問題。
3.提高敏捷響應(yīng)速度
低代碼平臺底層組件已有若干業(yè)務(wù)資產(chǎn)沉淀,提供大量各類由原子構(gòu)成的業(yè)務(wù)模板,通過更多的使用,其天然適用原型法的開發(fā)方式,能夠適應(yīng)敏捷開發(fā)中的小步快跑迭代要求。銀行的業(yè)務(wù)場景具備相似性,挑選適用業(yè)務(wù)模板,70%的功能直接復(fù)用,只調(diào)整業(yè)務(wù)有關(guān)的字段數(shù)據(jù),修改配置后快速部署運行見效果。甚至在部分簡單需求場景下,業(yè)務(wù)需求人員可實現(xiàn)自助式應(yīng)用交付,減少了業(yè)務(wù)與開發(fā)溝通中的誤差和時差。
4.降低運維資源成本
對于不同的產(chǎn)品,只提供一套低代碼運行程序,一種部署方式,降低維護成本,僅以編排的交易不同來區(qū)分不同的應(yīng)用。
平臺提供了標(biāo)準(zhǔn)的日志格式、合規(guī)設(shè)計(脫敏、審計)、中間件接入方式、安全設(shè)計,各產(chǎn)品使用時,按照統(tǒng)一的安裝步驟和運維步驟執(zhí)行,不需重新設(shè)計和對維護人員培訓(xùn),節(jié)約了大量時間和資金成本。
5.優(yōu)化企業(yè)人員結(jié)構(gòu)
現(xiàn)有開發(fā)流程中對開發(fā)人員的代碼能力要求是普適性的、標(biāo)準(zhǔn)“一條線”的,這就導(dǎo)致不同能力水平的開發(fā)人員在分工上難以最大化個人能力價值。傳統(tǒng)IT交付模式下的任務(wù)堆積、專業(yè)開發(fā)資源被大量簡單、重復(fù)性的功能開發(fā)所困擾。
使用低代碼平臺建立的流水線開發(fā)模式可以人盡其用,優(yōu)化人員結(jié)構(gòu)。參與交付的人員按照能力可以分為前端開發(fā)、中臺配置人員、后臺開發(fā)。前端開發(fā)著眼頁面展示與用戶交互,為用戶良好的視覺效果和友好的交互體驗負(fù)責(zé);中臺配置人員需要熟悉各種組件的使用及用不同的組件組合出業(yè)務(wù)流程,要求最熟悉業(yè)務(wù)流程;后端開發(fā)負(fù)責(zé)平臺組件開發(fā)、性能調(diào)優(yōu)等專業(yè)工作,向技術(shù)領(lǐng)域深挖。此模式可以加強人才分化,有利于企業(yè)人才的縱向能力提升。
新工藝推廣后,參與任務(wù)開發(fā)的人員減少,人員利用率提升10%左右,未來預(yù)計提升為50%。從用工成本上來說,低代碼平臺能夠顯著降低使用者的技術(shù)門檻,讓企業(yè)能夠充分利用平民開發(fā)者資源,以實現(xiàn)成本優(yōu)化。
三、中國銀行低代碼平臺的實踐過程及架構(gòu)簡介
中國銀行軟件中心在低代碼平臺建設(shè)上,完成了以下三個階段的探索。
1.一階段:代碼邏輯內(nèi)聚
一階段中將業(yè)務(wù)代碼封裝為內(nèi)聚性較強的獨立業(yè)務(wù)功能,盡可能復(fù)用,通過硬編碼和參數(shù)鋪底進行邏輯組裝,必要時會對源碼進行修改,以實現(xiàn)業(yè)務(wù)功能。
2.二階段:構(gòu)建原子并進行服務(wù)編排
二階段中將業(yè)務(wù)邏輯從編碼中完全抽離,僅提供無業(yè)務(wù)含義的增刪查改模塊,配置業(yè)務(wù)功能時,只需要配置業(yè)務(wù)表單的字段,并通過服務(wù)編排、工作流、規(guī)則引擎等底層設(shè)施,組裝各種業(yè)務(wù)功能,此階段硬編碼工作已不足程序?qū)崿F(xiàn)的10%,主要由開發(fā)人員進行大量手工配置實現(xiàn)業(yè)務(wù)功能。
低代碼開發(fā)平臺基于統(tǒng)一標(biāo)準(zhǔn),打造通用的組件模型,實現(xiàn)低門檻、快應(yīng)用,一套低代碼架構(gòu)適用于多個應(yīng)用系統(tǒng)。同時解決傳統(tǒng)工藝下由于底層架構(gòu)改造導(dǎo)致業(yè)務(wù)代碼和框架代碼一起重構(gòu)的困境,一次升級多方適用,達到快速應(yīng)對變革,提升架構(gòu)轉(zhuǎn)型效率的目的。
低代碼分為五層結(jié)構(gòu)(如圖1所示),即數(shù)據(jù)庫層、原子倉庫層、配置層、渲染層和業(yè)務(wù)層。原子倉庫平臺開發(fā)者將功能模塊抽象成去業(yè)務(wù)含義、可無限復(fù)用的原子組件,建立組件倉庫,并提供平臺側(cè)引擎。通過頁面配置、流程配置、服務(wù)編排等快速組裝不同業(yè)務(wù)場景。低代碼平臺具有極大的可復(fù)用性,實現(xiàn)一套執(zhí)行碼,通過引入平臺jar包快速復(fù)用到多后臺系統(tǒng),衍變?yōu)椴煌a(chǎn)品業(yè)務(wù)邏輯,服務(wù)不同產(chǎn)品和業(yè)務(wù)場景。
圖1 低代碼平臺架構(gòu)
3.三階段:為配置過程提供自動化工具
將需要手工配置的內(nèi)容整理到一個配置管理端中,開發(fā)人員只需要在頁面上拖拽頁面表單元素、配置校驗規(guī)則和參數(shù)、拖拽工作流節(jié)點、編排接口流程等,由配置管理端后臺服務(wù)自動生成原本需要手寫的各種配置文件,極大解放人力。
中國銀行低代碼平臺在降本提質(zhì)方面進行了實踐并收獲了一定的效果和經(jīng)驗,隨著平臺不斷優(yōu)化成熟,未來以此為抓手重組研發(fā)人員結(jié)構(gòu)、變革研發(fā)工藝也將成為可能。
-END-
這是科技創(chuàng)新最好的時代,這是屬于我們每個人最好的時代,關(guān)注“BanTech智庫”,專注銀行科技發(fā)展,探索無界金融生態(tài)!