□文/張曉博 元 棟
(河南省煙草公司新鄉(xiāng)市公司 河南·新鄉(xiāng))
[提要] 面對(duì)越來(lái)越多個(gè)性化、多樣化的應(yīng)用軟件開發(fā)需要,傳統(tǒng)的全代碼開發(fā)方式日漸乏力,無(wú)論是專業(yè)人員還是業(yè)務(wù)人員,都迫切呼喚更加敏捷的開發(fā)手段,在此背景下,低代碼平臺(tái)應(yīng)運(yùn)而生。本文從時(shí)代背景出發(fā),首先介紹低代碼平臺(tái)相關(guān)概念,然后從易用性、周期、質(zhì)量、成本等方面將低代碼平臺(tái)與傳統(tǒng)開發(fā)方式對(duì)比,概述采用低代碼平臺(tái)的優(yōu)勢(shì)所在,接著將企業(yè)信息系統(tǒng)進(jìn)行抽象,從業(yè)務(wù)實(shí)體、流程活動(dòng)、操作權(quán)限、統(tǒng)計(jì)圖表等四個(gè)方面論述低代碼平臺(tái)的賦能邏輯,最后結(jié)合煙草企業(yè)信息化現(xiàn)狀,論述低代碼平臺(tái)對(duì)信息化建設(shè)的啟發(fā)和思考。
隨著大數(shù)據(jù)、云計(jì)算、互聯(lián)網(wǎng)等新一代信息技術(shù)價(jià)值的顯現(xiàn),數(shù)字化轉(zhuǎn)型成為了當(dāng)下的熱門話題,越來(lái)越多的企業(yè)寄希望于通過數(shù)字化轉(zhuǎn)型激發(fā)創(chuàng)新活力、把握市場(chǎng)機(jī)遇、應(yīng)對(duì)風(fēng)險(xiǎn)挑戰(zhàn)、重塑競(jìng)爭(zhēng)優(yōu)勢(shì)。突如其來(lái)的新冠肺炎疫情,為數(shù)字化轉(zhuǎn)型按下了加速鍵,網(wǎng)絡(luò)強(qiáng)國(guó)、數(shù)字中國(guó)、智慧社會(huì)等戰(zhàn)略決策,深刻揭示了未來(lái)數(shù)字化發(fā)展的廣闊前景,信息系統(tǒng)作為數(shù)字化轉(zhuǎn)型的重要載體,其建設(shè)需求也將不斷持續(xù)。以往,信息系統(tǒng)通常由程序員通過編寫程序代碼開發(fā),開發(fā)周期長(zhǎng)、投資金額大,交付的軟件產(chǎn)品往往存在可維護(hù)性低、需求被侵蝕等問題,面對(duì)數(shù)字化轉(zhuǎn)型帶來(lái)的個(gè)性化、多樣化的開發(fā)需求,傳統(tǒng)的開發(fā)方式越來(lái)越捉襟見肘,人們迫切需要一種更加快捷、易用的開發(fā)工具。2014 年,F(xiàn)orrester 提出了“低代碼/零代碼”概念,伴隨著“互聯(lián)網(wǎng)+”“云計(jì)算”“數(shù)字化轉(zhuǎn)型”等時(shí)代風(fēng)口,“低代碼/零代碼”被引入國(guó)內(nèi)并成為新寵,提供低代碼支撐能力的開發(fā)平臺(tái)應(yīng)運(yùn)而生,為煙草企業(yè)應(yīng)對(duì)日益多樣化的信息系統(tǒng)建設(shè)需求、緩解數(shù)字化轉(zhuǎn)型焦慮提供了又一路徑。
(一)低代碼平臺(tái)概念和細(xì)分。所謂低代碼,是一種通過對(duì)軟件通用功能的高度提煉,將手寫代碼封裝為功能組件,使開發(fā)者可以通過拖拉拽的方式對(duì)功能組件進(jìn)行編排,從而實(shí)現(xiàn)快速構(gòu)建應(yīng)用軟件的開發(fā)方式。廣義上講,低代碼概念涵蓋所有能夠?yàn)閷?shí)現(xiàn)軟件交付而減少代碼開發(fā)的技術(shù)和服務(wù),包括在20 世紀(jì)90 年代就已流行的可視化IDE(集成開發(fā)環(huán)境),這些IDE 借助功能組件雖然減少了開發(fā)人員對(duì)代碼的編寫,但其仍主要面向“專業(yè)開發(fā)者”,與目前的低代碼概念有本質(zhì)區(qū)別。目前,IT 界廣泛認(rèn)同的低代碼特指定位于滿足企業(yè)業(yè)務(wù)端應(yīng)用需求,通過可視化界面,利用少量代碼或者無(wú)代碼即可搭建簡(jiǎn)單應(yīng)用或復(fù)雜應(yīng)用的開發(fā)技術(shù),主要面向“平民開發(fā)者”。低代碼開發(fā)一般需要依托特定的開發(fā)平臺(tái),根據(jù)集成性、擴(kuò)展能力、專注領(lǐng)域的不同,低代碼開發(fā)平臺(tái)又進(jìn)一步細(xì)分為兩類,第一類是具有企業(yè)核心業(yè)務(wù)承載能力,具有高集成性、擴(kuò)展性的狹義低代碼平臺(tái),國(guó)內(nèi)以葡萄城、金蝶、奧哲等平臺(tái)商為代表;第二類是針對(duì)小型場(chǎng)景,具有有限集成和擴(kuò)展能力但交付更加迅速的零代碼(又稱無(wú)代碼)開發(fā)平臺(tái),此類平臺(tái)商有明道云、輕流、簡(jiǎn)道云等。相較于前者,零代碼的使用門檻更低、用戶面更為廣泛、成本更加低廉,這也是本文討論的重點(diǎn)。
(二)低代碼平臺(tái)的內(nèi)在優(yōu)勢(shì)。據(jù)機(jī)構(gòu)研究,“2020 年中國(guó)低代碼行業(yè)市場(chǎng)規(guī)模為15.9 億元,行業(yè)整體仍將維持50%以上的復(fù)合增長(zhǎng)”,低代碼產(chǎn)業(yè)快速發(fā)展,受到用戶與資本的廣泛青睞,這其中既有信息化、數(shù)字化浪潮的外力推動(dòng),但更與低代碼的高效率、低門檻、云原生等內(nèi)在優(yōu)勢(shì)密不可分。與傳統(tǒng)的全代碼開發(fā)方式相比,低代碼開發(fā)的優(yōu)勢(shì)主要體現(xiàn)在以下幾點(diǎn):
1、降低軟件開發(fā)門檻。傳統(tǒng)模式下,開發(fā)人員需要學(xué)習(xí)編程語(yǔ)法、函數(shù)庫(kù)、開發(fā)框架、數(shù)據(jù)庫(kù)等多種技術(shù),技術(shù)門檻高、實(shí)現(xiàn)難度大。而低代碼開發(fā)平臺(tái)將原本需要編碼才能實(shí)現(xiàn)的軟件功能(例如UI 組件、流程控制、角色控制、報(bào)表引擎)封裝成組件,再利用可視化、拖拉拽、自動(dòng)化等方式實(shí)現(xiàn)流程搭建,使非專業(yè)IT 人員、業(yè)務(wù)人員等“平民開發(fā)者”經(jīng)過簡(jiǎn)單的培訓(xùn)就可具備軟件開發(fā)能力,從而大大降低了軟件開發(fā)的技術(shù)門檻。
2、顯著縮短開發(fā)周期。傳統(tǒng)的軟件開發(fā)專業(yè)性強(qiáng)、效率低、采購(gòu)周期長(zhǎng),IT 部門很難在短期內(nèi)對(duì)業(yè)務(wù)需求完成響應(yīng)。低代碼平臺(tái)利用圖形化的功能組件和拖拉拽式的流程編排,一方面避免了冗長(zhǎng)的底層代碼開發(fā),使開發(fā)工作量可節(jié)約34%~70%;另一方面也讓研發(fā)人員可以以類似“搭積木”的方式靈活組織軟件功能,加快版本迭代,從而大大縮短開發(fā)周期,實(shí)現(xiàn)技術(shù)對(duì)業(yè)務(wù)的快速響應(yīng),也加速了企業(yè)的信息化進(jìn)程。筆者曾利用無(wú)代碼平臺(tái)實(shí)現(xiàn)過在一個(gè)上午完成從需求收集到應(yīng)用上線的案例,這在傳統(tǒng)的開發(fā)模式下幾乎是不可實(shí)現(xiàn)的。
3、準(zhǔn)確對(duì)接業(yè)務(wù)需求。軟件項(xiàng)目中,40%~60%的問題都是在需求分析階段埋下的“禍根”。因此,能否正確地獲取、理解、確認(rèn)需求,就成為了影響軟件質(zhì)量的關(guān)鍵。傳統(tǒng)的軟件開發(fā)模式下,首先業(yè)務(wù)部門提出需求,然后產(chǎn)品經(jīng)理(或需求分析人員)將業(yè)務(wù)需求轉(zhuǎn)化為開發(fā)需求,接著由開發(fā)人員編碼落地,這個(gè)過程每一步都伴隨著信息衰減。這是因?yàn)闃I(yè)務(wù)人員往往只專注于局部問題,很難從系統(tǒng)角度提出建設(shè)性的軟件需求,而IT人員又因?yàn)檫h(yuǎn)離業(yè)務(wù),看不到問題全貌,很難理解業(yè)務(wù)人員的真實(shí)意圖,導(dǎo)致需求不斷地被遺漏、曲解、侵蝕。低代碼平臺(tái)降低了開發(fā)門檻,使得開發(fā)人員能夠更加專注于對(duì)業(yè)務(wù)的理解而非技術(shù)細(xì)節(jié)。此外,有些“平民開發(fā)者”本身就有一定的業(yè)務(wù)背景,他們的參與進(jìn)一步縮短了需求信息的傳遞路徑,減少了信息衰減,從而使開發(fā)人員能夠?qū)I(yè)務(wù)需求作出精準(zhǔn)回應(yīng),最終保障軟件質(zhì)量。
4、節(jié)約項(xiàng)目成本投入。在一般的軟件開發(fā)項(xiàng)目中,項(xiàng)目成本主要是人力資源成本,軟件功能越復(fù)雜、開發(fā)人員越多,則開發(fā)周期越長(zhǎng),項(xiàng)目成本越高,并且在后期的版本迭代和運(yùn)維過程中,這種成本還會(huì)不斷增加,這是由傳統(tǒng)軟件開發(fā)模式的自身特性決定的。與傳統(tǒng)模式不同,低代碼開發(fā)平臺(tái)通常按照訂閱數(shù)量收費(fèi),這種模式類似于會(huì)員制,企業(yè)投入的成本與所購(gòu)買的會(huì)員數(shù)量有關(guān),一旦成為會(huì)員,便可使用平臺(tái)上的所有資源,利用平臺(tái)開發(fā)的軟件越多,每個(gè)會(huì)員攤薄的成本越低。所以對(duì)于用戶數(shù)量不高但需求場(chǎng)景頗多的企業(yè)來(lái)說,采用低代碼開發(fā)平臺(tái)進(jìn)行信息化建設(shè)的成本優(yōu)勢(shì)尤其明顯。
(三)低代碼平臺(tái)的賦能邏輯。與硬件產(chǎn)品的“摩爾定律”(即:硬件的性能每隔約18 個(gè)月翻番,而價(jià)格下降)類似,軟件產(chǎn)業(yè)也有相似的“摩爾定律”,即:類似功能的軟件產(chǎn)品的規(guī)模每隔18 個(gè)月(如,代碼行)會(huì)翻倍,而用戶獲取該軟件或者服務(wù)的代價(jià)將會(huì)下降。為應(yīng)對(duì)越來(lái)越龐大的軟件規(guī)模,降低軟件開發(fā)難度,化解“軟件危機(jī)”,模塊化、組件化、低耦合逐漸成為軟件開發(fā)領(lǐng)域的共同行為準(zhǔn)則,軟件產(chǎn)品的搭建也從最開始的原生代碼開發(fā)到SaaS(軟件即服務(wù))租用再到低代碼平臺(tái)的嘗試,都是人們?yōu)榱私档烷_發(fā)成本、控制項(xiàng)目風(fēng)險(xiǎn)、提高開發(fā)效率不斷努力的結(jié)果,人們期望能找到更通用更高效的解決方案。低代碼平臺(tái)之所以能被企業(yè)和用戶接受,就是因?yàn)樗鼜牡讓铀季S出發(fā)找到了絕大多數(shù)企業(yè)軟件的通用特性,即絕大部分企業(yè)的軟件由業(yè)務(wù)實(shí)體、流程和活動(dòng)、操作權(quán)限、統(tǒng)計(jì)圖表這幾個(gè)要點(diǎn)組成。(圖1)
圖1 簡(jiǎn)道云的數(shù)據(jù)、流程、圖表定制功能圖
1、業(yè)務(wù)實(shí)體。業(yè)務(wù)實(shí)體簡(jiǎn)單理解就是操作對(duì)象,以煙草企業(yè)為例,可以是人(客戶、客戶經(jīng)理、涉案人員等)或物(卷煙、車輛等物品)。軟件系統(tǒng)需要建立數(shù)據(jù)模型以維持業(yè)務(wù)實(shí)體,記錄實(shí)體的特征(例如客戶許可證號(hào)、案發(fā)時(shí)間、卷煙價(jià)格等)。低代碼平臺(tái)提供了豐富的可視化組件,使用戶可以方便地通過拖拽搭建數(shù)據(jù)模型,同時(shí)自動(dòng)生成該數(shù)據(jù)模型的“增刪改查”頁(yè)面,這也是低代碼平臺(tái)中常說的表單引擎。
2、流程和活動(dòng)?;顒?dòng)可以理解為用戶在軟件系統(tǒng)中進(jìn)行的某種操作,例如事項(xiàng)申請(qǐng)、事項(xiàng)審批、數(shù)據(jù)的“增刪改查”等,流程是指活動(dòng)開展的先后順序。開發(fā)人員利用頁(yè)面設(shè)計(jì)引擎可以方便地設(shè)置頁(yè)面元素及元素屬性,進(jìn)而搭建出活動(dòng)操作頁(yè)面,并通過設(shè)置觸發(fā)條件、處理節(jié)點(diǎn),實(shí)現(xiàn)對(duì)流程的自定義。
3、操作權(quán)限。操作權(quán)限包括數(shù)據(jù)權(quán)限、頁(yè)面訪問權(quán)限、業(yè)務(wù)權(quán)限等。低代碼平臺(tái)通常采用基于角色的訪問控制管理用戶權(quán)限,例如只有具有部門負(fù)責(zé)人角色的用戶才能進(jìn)行審批操作、客戶經(jīng)理只能查看自己客戶的訂單等。
4、統(tǒng)計(jì)圖表。統(tǒng)計(jì)圖和統(tǒng)計(jì)表為用戶提供了觀察數(shù)據(jù)的多種視角,用戶可以從不同側(cè)面掌握業(yè)務(wù)運(yùn)行現(xiàn)狀、洞察業(yè)務(wù)問題。統(tǒng)計(jì)圖和統(tǒng)計(jì)表通常由數(shù)據(jù)來(lái)源、計(jì)算規(guī)則、展現(xiàn)形式定義,低供碼平臺(tái)也是遵循這種方式,實(shí)現(xiàn)了統(tǒng)計(jì)圖表的可視化配置,甚至可以讓用戶方便地做出BI、儀表板等專業(yè)應(yīng)用程序。
正是由于低代碼平臺(tái)對(duì)業(yè)務(wù)實(shí)體、活動(dòng)流程、操作權(quán)限、統(tǒng)計(jì)圖表等軟件系統(tǒng)的基本特性進(jìn)行了高度的封裝和概括,才使“平民開發(fā)者”得以邁過技術(shù)門檻,以更低的成本付出構(gòu)建軟件系統(tǒng),進(jìn)而賦能企業(yè)數(shù)字化轉(zhuǎn)型。
作為在最近十年才發(fā)展起來(lái)的概念,低代碼必將在軟件開發(fā)領(lǐng)域產(chǎn)生深遠(yuǎn)影響。綜合前文的概述和討論,同時(shí)結(jié)合煙草企業(yè)信息化現(xiàn)狀,筆者從中得出了以下啟發(fā),以期為企業(yè)信息化建設(shè)提供參考:
(一)低代碼平臺(tái)在某種程度上撐起業(yè)務(wù)中臺(tái)。中臺(tái)的核心在于“能力復(fù)用”,業(yè)務(wù)中臺(tái)對(duì)企業(yè)業(yè)務(wù)進(jìn)行抽象形成通用的服務(wù)能力,將規(guī)則、流程、邏輯等通過微服務(wù)、組件化等方式封裝成面向前臺(tái)的友好型服務(wù),推動(dòng)實(shí)現(xiàn)后臺(tái)資源到前臺(tái)應(yīng)用的敏捷轉(zhuǎn)化,提高整體業(yè)務(wù)的靈活性和響應(yīng)速度。從這個(gè)角度理解,低代碼平臺(tái)儼然已經(jīng)具備了業(yè)務(wù)中臺(tái)的基本特征,各種通用的功能組件完成了業(yè)務(wù)的抽象,建立了復(fù)用能力,使開發(fā)人員不必“從零開始”或“再造輪子”,可視化的開發(fā)環(huán)境和自身APaaS(應(yīng)用程序平臺(tái)即服務(wù))的定位降低了開發(fā)門檻,讓柔性定制軟件成為可能,進(jìn)而實(shí)現(xiàn)了對(duì)業(yè)務(wù)需求的快速響應(yīng)。
(二)數(shù)字化轉(zhuǎn)型中的“長(zhǎng)尾需求”將更容易滿足?!伴L(zhǎng)尾”一詞原本用于描述商業(yè)活動(dòng)中那些需求量少但種類繁多,價(jià)值總和又十分可觀的商品。煙草企業(yè)在數(shù)字化轉(zhuǎn)型過程中,卷煙營(yíng)銷、專賣管理、財(cái)務(wù)管理等頭部業(yè)務(wù)轉(zhuǎn)型較為充分,已經(jīng)實(shí)現(xiàn)了數(shù)字化、網(wǎng)絡(luò)化、智能化,但同時(shí)又有部分業(yè)務(wù)由于業(yè)務(wù)價(jià)值相對(duì)較低(如辦公用品管理、就餐管理、車輛管理等),采用傳統(tǒng)方式開展信息化建設(shè)的投入與產(chǎn)出不成比例,以至于對(duì)數(shù)據(jù)仍處在手工記錄階段,構(gòu)成了“長(zhǎng)尾”。低代碼平臺(tái)催生了“平民開發(fā)者”,降低了開發(fā)門檻,簡(jiǎn)化了開發(fā)流程,“長(zhǎng)尾”需求將更易于被實(shí)現(xiàn),一些個(gè)性化、短小精悍的應(yīng)用將不斷涌現(xiàn),信息化觸角將進(jìn)一步延伸,從而彌補(bǔ)企業(yè)數(shù)字化轉(zhuǎn)型的短板和空白。
(三)使用低代碼平臺(tái)開發(fā)同樣需要項(xiàng)目管理。信息系統(tǒng)項(xiàng)目管理是綜合運(yùn)用相關(guān)知識(shí)、技能、工具和技術(shù)在一定的時(shí)間、成本、質(zhì)量等要求下為實(shí)現(xiàn)預(yù)定的系統(tǒng)目標(biāo)而進(jìn)行的管理活動(dòng)。低代碼平臺(tái)雖然降低了軟件開發(fā)的復(fù)雜性,但并不意味著期間的需求、風(fēng)險(xiǎn)、質(zhì)量等問題的消除,例如軟件需求問題、低代碼平臺(tái)部署在云環(huán)境帶來(lái)的安全問題、平臺(tái)的租用成本等,如果不對(duì)這些問題進(jìn)行科學(xué)管理,項(xiàng)目同樣會(huì)面臨失敗的風(fēng)險(xiǎn)。
(四)“魚和熊掌”不可兼得。“魚和熊掌”分別指低代碼平臺(tái)的靈活性和技術(shù)門檻。要降低技術(shù)門檻,勢(shì)必要對(duì)組件做更為徹底的封裝、隱藏更多細(xì)節(jié),減少開發(fā)者的干預(yù),那么平臺(tái)的靈活性和適應(yīng)性就會(huì)降低,反之亦然。所以,企業(yè)在使用低代碼平臺(tái)之前,應(yīng)當(dāng)對(duì)開發(fā)人員的技術(shù)水平、需求類型、復(fù)雜性進(jìn)行評(píng)估,選擇合適的低代碼平臺(tái)產(chǎn)品。
(五)人才建設(shè)仍不可忽視。一方面技術(shù)門檻的降低不等于對(duì)技術(shù)的要求為零,開展學(xué)習(xí)培訓(xùn)對(duì)使用平臺(tái)來(lái)說仍不可或缺,企業(yè)需加強(qiáng)能力建設(shè),培養(yǎng)這方面的人才和團(tuán)隊(duì);另一方面低代碼平臺(tái)只是解決了工具問題,而數(shù)字化轉(zhuǎn)型的頂層設(shè)計(jì)和具體細(xì)節(jié)仍需要人去謀劃、付諸實(shí)施。
綜上,低代碼平臺(tái)作為近十年才誕生的概念,目前仍處在導(dǎo)入和成長(zhǎng)階段,從筆者周圍使用情況看,采用低代碼進(jìn)行信息系統(tǒng)開發(fā)的案例鳳毛麟角,熟知并準(zhǔn)確理解低代碼平臺(tái)概念的群體仍局限于專業(yè)開發(fā)人員。不久前,筆者利用低代碼平臺(tái)實(shí)施了一些小型項(xiàng)目,深刻回味,將認(rèn)識(shí)和體會(huì)形成此文,以期為走在數(shù)字化轉(zhuǎn)型之路上的探路者們拓寬前行道路、緩和轉(zhuǎn)型焦慮。最后,從全代碼開發(fā)到低代碼平臺(tái),從實(shí)物載體到ASaaS,無(wú)論哪種軟件開發(fā)方式,其本身并沒有絕對(duì)的優(yōu)劣之分,變化的是軟件開發(fā)模式,不變的是讓技術(shù)賦能業(yè)務(wù),為企業(yè)創(chuàng)造價(jià)值。