Gartner2022年重要戰(zhàn)略技術(shù)趨勢(shì)中提出了組裝式研發(fā)的理念,組裝式研發(fā)是一種軟件開(kāi)發(fā)方法,其核心在于“封裝業(yè)務(wù)能力”(PBC),將軟件系統(tǒng)劃分為多個(gè)獨(dú)立的模塊和組件,開(kāi)發(fā)人員可以通過(guò)組合和配置這些模塊和組件來(lái)構(gòu)建軟件系統(tǒng)。
中國(guó)工商銀行軟件開(kāi)發(fā)中心(以下簡(jiǎn)稱“工行軟件開(kāi)發(fā)中心”)作為中國(guó)信通院《組裝式應(yīng)用開(kāi)發(fā)平臺(tái)系列標(biāo)準(zhǔn)》的貢獻(xiàn)單位,遵循傳統(tǒng)Pro Code、Low Code、No Code三層組裝式研發(fā)路徑,結(jié)合新興的AI Code理念,構(gòu)建行內(nèi)組裝式研發(fā)體系,助力金融產(chǎn)品快速創(chuàng)新,其體系化的思考與實(shí)踐可作為金融生態(tài)提效的參考。
圖1:組裝式研發(fā)生態(tài)建設(shè)思路
1、ProCode標(biāo)準(zhǔn)資產(chǎn)建設(shè),推進(jìn)資產(chǎn)復(fù)用
ProCode指的是一種在程序編碼過(guò)程中,通過(guò)抽象出最佳的編碼實(shí)踐,形成可復(fù)用的標(biāo)準(zhǔn)組件或者代碼片段,支持開(kāi)發(fā)人員快速構(gòu)建高質(zhì)量應(yīng)用系統(tǒng)的研發(fā)模式。工行軟件開(kāi)發(fā)中心從代碼管理和工具建設(shè)兩個(gè)角度踐行ProCode研發(fā)模式,形成了擁有2000多個(gè)構(gòu)件及代碼片段資產(chǎn)的企業(yè)級(jí)代碼資產(chǎn)庫(kù),復(fù)用度已經(jīng)達(dá)到2萬(wàn)次以上。
代碼管理方面,發(fā)布可復(fù)用代碼管理平臺(tái),推動(dòng)企業(yè)代碼資產(chǎn)共享共建。一是完成組件、代碼和模板等全類型代碼資產(chǎn)納管能力建設(shè),形成MAVEN、NPM和移動(dòng)端等11項(xiàng)代碼資產(chǎn)納管標(biāo)準(zhǔn);二是重點(diǎn)關(guān)注前端組件和信創(chuàng)轉(zhuǎn)型等關(guān)鍵領(lǐng)域,加強(qiáng)可復(fù)用代碼的建設(shè)與推廣使用,形成資產(chǎn)專區(qū);三是依托代碼自動(dòng)掃描工具和用戶的主觀評(píng)價(jià),建立可復(fù)用代碼資產(chǎn)復(fù)用效能評(píng)價(jià)體系,為資產(chǎn)建設(shè)營(yíng)造競(jìng)爭(zhēng)氛圍。
工具建設(shè)方面,上架一體化開(kāi)發(fā)集成IDE插件,基于研發(fā)場(chǎng)景對(duì)研發(fā)流程進(jìn)行了重構(gòu),實(shí)現(xiàn)配套工具鏈的深度整合,通過(guò)提供覆蓋代碼提交、資產(chǎn)復(fù)用、接口開(kāi)發(fā)、環(huán)境運(yùn)維、研發(fā)自測(cè)以及研發(fā)工作臺(tái)等六大一站式服務(wù)能力,為開(kāi)發(fā)人員打造了一個(gè)便捷高效的研發(fā)環(huán)境。同時(shí),通過(guò)研發(fā)行為數(shù)據(jù)持續(xù)洞察,不斷挖掘研發(fā)流程中的斷點(diǎn)和堵點(diǎn),以微洞察、微提升和微循環(huán)的方式,實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)的研發(fā)模式數(shù)字化轉(zhuǎn)型。這種數(shù)字化的新生態(tài),讓開(kāi)發(fā)人員能夠更加專注于應(yīng)用編碼,并為大家營(yíng)造了一個(gè)沉浸式的研發(fā)體驗(yàn)。
圖2:一體化開(kāi)發(fā)集成IDE能力視圖
2、LowCode低代碼可視化組裝,增強(qiáng)交互體驗(yàn)
LowCode主要聚焦定制性弱、復(fù)用性高的業(yè)務(wù)場(chǎng)景,通過(guò)屏蔽底層技術(shù)細(xì)節(jié),從實(shí)體模型設(shè)計(jì)出發(fā),快速生成增刪改查頁(yè)面及后端邏輯,從而實(shí)現(xiàn)前后端頁(yè)面的快速組裝,降低用戶體驗(yàn)研發(fā)門檻。工行軟件開(kāi)發(fā)中心將低代碼能力和用戶體驗(yàn)專業(yè)設(shè)計(jì)相結(jié)合,在行內(nèi)推廣代碼平臺(tái)、簡(jiǎn)搭·前端設(shè)計(jì)管理與共享平臺(tái),推進(jìn)LowCode可視化組裝研發(fā),將專業(yè)前后端設(shè)計(jì)研發(fā)能力賦能一線開(kāi)發(fā)。
低代碼平臺(tái):通過(guò)簡(jiǎn)單的拖拽和拼接等低代碼方式進(jìn)行開(kāi)發(fā),使得各種經(jīng)驗(yàn)水平的開(kāi)發(fā)人員都能夠通過(guò)直觀的圖形化界面,利用可復(fù)用的資產(chǎn)組件、模型驅(qū)動(dòng)以及邏輯編排等核心功能來(lái)創(chuàng)建Web和移動(dòng)端(未來(lái)規(guī)劃)應(yīng)用。這不僅減輕了開(kāi)發(fā)人員重復(fù)低效的代碼編寫工作負(fù)擔(dān),還簡(jiǎn)化了研發(fā)過(guò)程,使開(kāi)發(fā)人員能更專注于業(yè)務(wù)邏輯的開(kāi)發(fā)。在簡(jiǎn)單增刪改查等應(yīng)用場(chǎng)景下,單個(gè)頁(yè)面的研發(fā)效率預(yù)計(jì)可提升30%。
圖3:低代碼平臺(tái)拼搭能力展示
簡(jiǎn)搭·前端設(shè)計(jì)管理與共享平臺(tái):結(jié)合設(shè)計(jì)交互增強(qiáng)和低代碼能力,提供了四大能力:標(biāo)準(zhǔn)區(qū)塊、微前端、素材共享和低代碼工具。通過(guò)可視化方式,實(shí)現(xiàn)設(shè)計(jì)素材的共享預(yù)覽,用戶可以自由組合基礎(chǔ)組件和標(biāo)準(zhǔn)區(qū)塊,省去頁(yè)面元素編輯步驟,從而以所見(jiàn)即所得的形式完成功能模塊的頁(yè)面模板開(kāi)發(fā)工作。目前,平臺(tái)月訪問(wèn)量已經(jīng)突破了6000+。
3、NoCode積木式拼搭,推進(jìn)快速上線
NoCode通過(guò)流程標(biāo)準(zhǔn)化和可視化,實(shí)現(xiàn)業(yè)務(wù)場(chǎng)景的無(wú)代碼配置化上線,提高應(yīng)用系統(tǒng)靈活性,幫助企業(yè)更好地適應(yīng)快速發(fā)展的市場(chǎng)需求。工行軟件開(kāi)發(fā)中心基于行內(nèi)產(chǎn)品線節(jié)點(diǎn)部署現(xiàn)狀,制定適合行內(nèi)系統(tǒng)架構(gòu)的構(gòu)件標(biāo)準(zhǔn),搭建組裝平臺(tái),并在金融產(chǎn)品線進(jìn)行實(shí)踐試點(diǎn),取得初步成效。
組裝平臺(tái)根據(jù)系統(tǒng)功能的重要程度進(jìn)行分級(jí)歸納,形成了UI、APP、前置、引流、基礎(chǔ)服務(wù)、交易、管理、異步、批量等9類可組裝節(jié)點(diǎn)能力視圖。重點(diǎn)面向金融生態(tài)云場(chǎng)景,完成生態(tài)認(rèn)證中心、權(quán)限中心、流程中心等三大基礎(chǔ)能力建設(shè),通過(guò)復(fù)用現(xiàn)有資產(chǎn)完成AMC監(jiān)控、數(shù)據(jù)脫敏等技術(shù)積木塊的建設(shè),支持了多種標(biāo)準(zhǔn)工程搭建腳手架。在通用繳費(fèi)云平臺(tái)和通用資金監(jiān)管平臺(tái)建設(shè)中,成功將場(chǎng)景級(jí)業(yè)務(wù)服務(wù)代碼提效30%,新工程框架搭建提效60%。
圖4:組裝式節(jié)點(diǎn)和業(yè)務(wù)組件
4、AICode智能生成式編碼,實(shí)現(xiàn)代碼補(bǔ)全
AICode主要基于人工智能大模型,提供代碼推演預(yù)測(cè)、代碼自動(dòng)生成和智能代碼檢索等功能,幫助開(kāi)發(fā)人員實(shí)現(xiàn)高效、自動(dòng)化的智能研發(fā)。工行軟件開(kāi)發(fā)中心以 IDE為觸點(diǎn),聚焦智能代碼補(bǔ)全、單元測(cè)試自動(dòng)生成、代碼異常檢測(cè)三大AIGC應(yīng)用場(chǎng)景,打造智能研發(fā)助手,探索智能研發(fā)新方向。
智能代碼補(bǔ)全模型行內(nèi)定制化訓(xùn)練:利用TB級(jí)優(yōu)質(zhì)代碼作為訓(xùn)練素材,結(jié)合北大科研團(tuán)隊(duì)前沿研究成果,與關(guān)聯(lián)公司技術(shù)團(tuán)隊(duì)初步完成行內(nèi)定制化訓(xùn)練模型驗(yàn)證,旨在提升代碼智能補(bǔ)全采納率。
單元測(cè)試自動(dòng)生成解決方案:采用智能遺傳算法實(shí)現(xiàn)單元測(cè)試自動(dòng)生成能力,助力存量代碼單元測(cè)試案例的補(bǔ)全,已自動(dòng)生成超過(guò)7萬(wàn)行單元測(cè)試案例。
代碼異常檢測(cè)與代碼轉(zhuǎn)自然語(yǔ)言:利用大模型識(shí)別代碼潛在問(wèn)題并給出修復(fù)建議,支持代碼語(yǔ)義、代碼邏輯、參數(shù)配置等靜態(tài)代碼掃描無(wú)法識(shí)別的問(wèn)題類型。此外,還提供交互對(duì)話式的代碼注釋生成和代碼含義解釋能力,協(xié)助開(kāi)發(fā)人員讀懂老舊代碼,協(xié)助開(kāi)發(fā)人員檢測(cè)代碼近千次。
圖5:智能單元測(cè)試生成
未來(lái),組裝式研發(fā)需要突破的兩個(gè)關(guān)鍵點(diǎn)是:一是通過(guò)數(shù)據(jù)融合,與業(yè)界先進(jìn)的大模型場(chǎng)景應(yīng)用經(jīng)驗(yàn)相結(jié)合,提升智能化輔助決策能力,并增強(qiáng)組裝式和智能化研發(fā)能力。二是借鑒平臺(tái)工程理念,逐步完善金融全業(yè)務(wù)線和全場(chǎng)景的組裝能力搭建,以滿足金融企業(yè)日益增長(zhǎng)的新需求。