協(xié)同研究院
體驗(yàn)產(chǎn)品
0代碼定制和低代碼定制是最近2B軟件行業(yè)的熱門詞匯,網(wǎng)上的文章和各種說法也很多,究竟能不能大規(guī)模定制?如果能,如何大規(guī)模定制并產(chǎn)生商業(yè)價(jià)值,這是每一家所謂的平臺(tái)化軟件企業(yè)必須回答的問題。
本文試圖去求解這一難題,給出體系化的方法和思路,兼與陳飔老師隔空討論,也希望對(duì)于我們的銷售、售前和實(shí)施提供一些指引,對(duì)于研發(fā)人員和產(chǎn)品經(jīng)理提供一些關(guān)于未來的思考的輸入。
開篇:大規(guī)模與定制的矛盾
協(xié)同管理軟件的目的在于提升組織管理與協(xié)作的效率,成就高績(jī)效組織,其方法論支撐在于戰(zhàn)略與執(zhí)行的協(xié)同、職能部門與業(yè)務(wù)單元的協(xié)同、業(yè)務(wù)單元之間的連接與協(xié)作等等,其本質(zhì)在于將組織作為有機(jī)體進(jìn)行數(shù)字化,成為組織的基礎(chǔ)信息化設(shè)施,讓人與人、人與組織系統(tǒng)起來,從而使得組織中人的集合比單個(gè)個(gè)體能夠創(chuàng)造更大的價(jià)值。
這個(gè)看是老生常談卻是初心與本義,回歸到組織信息化本身在新的階段需要完成組織的數(shù)字化轉(zhuǎn)型,而不僅僅是一個(gè)業(yè)務(wù)模塊的信息化,所以連接集成、整合信息孤島,實(shí)現(xiàn)業(yè)務(wù)協(xié)作和工作任務(wù)的過程信息化就成為組織數(shù)字化的根本。
這里需要特別強(qiáng)調(diào)一下所謂的ERP軟件特別是其關(guān)鍵部分的財(cái)務(wù)軟件,其本質(zhì)在于對(duì)組織的績(jī)效進(jìn)行測(cè)量,從而獲得組織的生產(chǎn)力、效率和利潤(rùn)等經(jīng)濟(jì)指標(biāo)信息,為企業(yè)戰(zhàn)略服務(wù),而沒有聚焦于工作任務(wù)、工作目標(biāo)如何開展本身。
企業(yè)如何展開工作?計(jì)劃、組織、協(xié)調(diào)、控制這種適合于業(yè)務(wù)層組織管理的方法和體系是否可以信息化,是否每一個(gè)企業(yè)都非常獨(dú)特? 以至于信息化、數(shù)字化的成本高企,價(jià)值卻并不那么明顯?
當(dāng)然。這是組織數(shù)字化轉(zhuǎn)型升級(jí)的根本出路,企業(yè)通過數(shù)字化實(shí)現(xiàn)轉(zhuǎn)型升級(jí)可以大幅度提升工作效率和工作質(zhì)量,有效控制企業(yè)由于生產(chǎn)效率低下、客戶響應(yīng)速度慢、對(duì)于技術(shù)和環(huán)境不敏感等諸多問題,回歸本質(zhì)就是如何提升工作質(zhì)量和工作效率的問題。
從企業(yè)應(yīng)用聚焦效率、質(zhì)量和時(shí)間的視角來看,實(shí)現(xiàn)高價(jià)值的數(shù)字化轉(zhuǎn)型的關(guān)鍵在于基于企業(yè)轉(zhuǎn)型升級(jí)的主題任務(wù)的信息化、自動(dòng)化從而帶來大幅度的工作效率和質(zhì)量的提升,這是信息化、數(shù)字化定義的點(diǎn),是可行的。
規(guī)模在于企業(yè)信息化、數(shù)字化的基礎(chǔ)變量是否一致度高,如果一致度高,就可以抽取產(chǎn)品實(shí)現(xiàn)規(guī)模化的軟件作品的生產(chǎn),并通過商業(yè)交換實(shí)現(xiàn)規(guī)模經(jīng)濟(jì)。
但企業(yè)是獨(dú)特的,企業(yè)存在的理由恰恰是企業(yè)的獨(dú)特性,也就是差異化u的能力,無論是產(chǎn)品還是服務(wù)。
這是企業(yè)信息化需要駕馭的悖論,要么定制、要么規(guī)模,規(guī)模+定制還沒成功的先例。
技術(shù)先進(jìn)與制造的落后-軟件行業(yè)
軟件行業(yè)從來給人感覺都是高科技行業(yè),但相對(duì)于制造業(yè),我們并沒有實(shí)現(xiàn)大規(guī)模的制造業(yè)分工,所以軟件行業(yè)是一個(gè)農(nóng)業(yè)時(shí)代的手工藝生產(chǎn)模型,這就是coding從0開始寫功能的結(jié)構(gòu)性的偏差。
實(shí)際上,如何實(shí)現(xiàn)制造和交付的分離,實(shí)現(xiàn)制造和服務(wù)的分離,以及運(yùn)維保障的分離,這是軟件行業(yè)要從產(chǎn)業(yè)發(fā)展的視角去改變的問題,這不僅僅是一個(gè)簡(jiǎn)單的所謂商業(yè)模式就能解決的問題,是產(chǎn)業(yè)結(jié)構(gòu)的問題。
當(dāng)然,it產(chǎn)業(yè)本身還是有大分工的,比如網(wǎng)絡(luò)環(huán)境提供了信息傳輸與送達(dá)的基礎(chǔ)能力,操作系統(tǒng)提供了隔離計(jì)算機(jī)硬件差異的運(yùn)行環(huán)境,背后是圖靈機(jī)和馮.諾依曼體系結(jié)構(gòu)的機(jī)制與分工的產(chǎn)業(yè)體系。這些年互聯(lián)網(wǎng)的發(fā)展帶來了計(jì)算機(jī)之間聯(lián)網(wǎng)協(xié)作的機(jī)會(huì),為信息連接、融合、協(xié)同工作帶來了基礎(chǔ)的機(jī)制和機(jī)會(huì),而移動(dòng)互聯(lián)網(wǎng)連接了人和系統(tǒng),成為真正的人與互聯(lián)網(wǎng)的入口門戶和交互界面,這是根本性的基礎(chǔ)準(zhǔn)備。
就信息化價(jià)值來看,2C軟件行業(yè)的最終目的在于交易,其變量只有產(chǎn)品和價(jià)格,連接的是組織與人或者人與人,其結(jié)構(gòu)當(dāng)然比2B簡(jiǎn)單,所以電商系統(tǒng)(如果我們也叫軟件的話)先行了一步,也提供了方法論的支撐。
是的,管理軟件的生產(chǎn)方式是基于操作系統(tǒng)、基于互聯(lián)網(wǎng)的連接結(jié)構(gòu)和移動(dòng)多端特性構(gòu)建起來的(這里僅僅是描述,并不嚴(yán)謹(jǐn)哈),但生產(chǎn)過程卻是從最基本的語言、數(shù)據(jù)等最基本的微粒開始組織和功能編碼的,這種方式比原始人的農(nóng)耕沒有本質(zhì)區(qū)別,而其使用的工具都是在最基礎(chǔ)的級(jí)別提供編寫和調(diào)試,實(shí)際上數(shù)十年來計(jì)算機(jī)語言的進(jìn)步似乎一直是在適應(yīng)互聯(lián)網(wǎng)的能力擴(kuò)展中掙扎,而沒有針對(duì)現(xiàn)代的復(fù)雜的企業(yè)應(yīng)用增長(zhǎng)出新的語言或者開發(fā)模式出來。
這是現(xiàn)代與古老的結(jié)合,這是高科技與手工作坊的組合,顯然不能符合未來大規(guī)模應(yīng)用的訴求,所以軟件工程師們就996拼苦力,成為了新一代的“搬磚工人”,這是不符合現(xiàn)代化大規(guī)模生產(chǎn)的。
有需求,就有動(dòng)力,世界在進(jìn)步,軟件特別是企業(yè)管理軟件的生產(chǎn)方式應(yīng)該改變,也必須改變。
從走出軟件作坊到規(guī)?;_發(fā):依然是產(chǎn)品
《走出軟件作坊》是我的一位朋友阿朱的一本在業(yè)內(nèi)比較有名的開發(fā)管理的書籍,如何提升開發(fā)效率和開發(fā)質(zhì)量,如何讓我們不再那么靠“工匠精神”而是現(xiàn)代化的團(tuán)隊(duì)作戰(zhàn),作者從體系化的方法論提出了很多辦法。
但這依然不是結(jié)構(gòu)化的改變,作者更多地都是如何通過改善過程做出更高質(zhì)量、更符合客戶需求的產(chǎn)品,就像陳飔老師所言:產(chǎn)品化是規(guī)?;那疤?。
但是否有另外一種思路,我們幫助客戶的信息化基礎(chǔ)設(shè)施建設(shè),如果一定要說這種能力是什么的話,就是幫助客戶的組織本身實(shí)現(xiàn)數(shù)字化,流程、制度作為生產(chǎn)線的設(shè)施可以隨意拿來組裝流水線,這就有可能實(shí)現(xiàn)規(guī)模化,這是基礎(chǔ)設(shè)施,也是工具。
一句話,我們幫助客戶實(shí)現(xiàn)信息化的基礎(chǔ)設(shè)施,以實(shí)現(xiàn)客戶自建生產(chǎn)流水線的能力實(shí)現(xiàn)建立“管理的流水線”、“管理的任務(wù)協(xié)作系統(tǒng)”、“管理的業(yè)務(wù)看板”等等這些從生產(chǎn)設(shè)施到管理設(shè)施的信息化!
如果給客戶以魚到客戶以漁都不足夠,通過數(shù)字化、自動(dòng)化、信息組件和業(yè)務(wù)功能組件的提供,使得客戶可以自己創(chuàng)新出自己的“漁”,將it技術(shù)、編程技術(shù)、調(diào)試技術(shù)、工程技術(shù)隱藏在復(fù)雜的平臺(tái)體系之中,提供給客戶聚焦組織管理、聚焦業(yè)務(wù)協(xié)作、聚焦戰(zhàn)略管理的信息化基礎(chǔ)設(shè)施,這也許就可以實(shí)現(xiàn)平臺(tái)化的支撐。
這種不是走出軟件作坊,而是重構(gòu)軟件的產(chǎn)業(yè)鏈,作為協(xié)同管理軟件廠商的夢(mèng)想在于實(shí)現(xiàn)建設(shè)企業(yè)的基礎(chǔ)設(shè)施的能力,讓企業(yè)可以自行組裝自己的信息化生產(chǎn)線,實(shí)現(xiàn)組織管理信息化的自我DIY,這是一種終極目的,如果要折中的話,這些能力可以由專業(yè)分工的組織管理、業(yè)務(wù)管理的專業(yè)廠商來提供,但這些廠商不需要對(duì)于圖靈、對(duì)于馮.諾依曼以及背后的架構(gòu)熟悉,從而實(shí)現(xiàn)大范圍的專業(yè)化分工,這就是協(xié)同軟件—中臺(tái)的定義的力量。(這里僅僅是場(chǎng)景描述,不是嚴(yán)密論證)
組件化與標(biāo)準(zhǔn)件的定制機(jī)制:這才是架構(gòu)
制造工業(yè)生產(chǎn)如何做?首先需要建立生產(chǎn)線,通過裝備、工藝和工裝解決生產(chǎn)流程建設(shè)問題,而大規(guī)模定制軟件開發(fā)首先就需要解決“生產(chǎn)線”的設(shè)施問題,如果沒有流水線,就不會(huì)有現(xiàn)代化大工業(yè),也就是制造業(yè)的繁榮。
對(duì)于軟件行業(yè),我們的生產(chǎn)線僅僅有開發(fā)語言、運(yùn)行容器(通常被稱為中間件比如tomcat),改變一下,生產(chǎn)線不是開發(fā)的語言工具,而是搭建工具呢?
還有一個(gè)改變,軟件作為產(chǎn)品就像汽車一樣,不能從練鋼鐵、生產(chǎn)塑料開始,而應(yīng)該通過部件組裝進(jìn)行,這里就需要各種各樣的部件就像汽車行業(yè)的總成,實(shí)際上現(xiàn)代汽車的整車廠生產(chǎn)已經(jīng)不是福特T型車年代,而是部件組裝,并且可以實(shí)現(xiàn)柔性化生產(chǎn),雖然還有諸多不足。
對(duì)應(yīng)于軟件行業(yè)的開發(fā)來說,所有的功能不能僅僅通過一行行代碼堆砌,雖然我們已經(jīng)有很多語言開發(fā)級(jí)的函數(shù)庫、對(duì)象庫和組件庫,但這些都是通用的計(jì)算函數(shù)、技術(shù)組件類,而不是像汽車一樣的底盤、發(fā)動(dòng)機(jī),這種組件和構(gòu)件的開發(fā)需要汽車模塊化的設(shè)計(jì)、生產(chǎn),已經(jīng)成為現(xiàn)代汽車生產(chǎn)的主流方式。
而軟件開發(fā)也可以這么做,通過模塊、組件化開發(fā),而背后應(yīng)該有面向領(lǐng)域、行業(yè)和組織級(jí)客戶的基礎(chǔ)平臺(tái),比如底盤、總線結(jié)構(gòu)等等,對(duì)于企業(yè)管理軟件來說,就必須要有比如組織模型的基礎(chǔ)架構(gòu)支撐,工作流、表單等基礎(chǔ)部件的結(jié)構(gòu),以及門戶首頁、工作空間等對(duì)于現(xiàn)實(shí)場(chǎng)景的線上表達(dá)或稱稱之為入口,這些整體的系統(tǒng)化的模式、方法,就是應(yīng)用架構(gòu)和體系化能力。
對(duì)于機(jī)械工業(yè),大家知道標(biāo)準(zhǔn)件嗎?實(shí)際上就是螺釘螺母,各種連接件,這些都是按“千克”銷售的,成為組裝系統(tǒng)的必須。
對(duì)于軟件開發(fā)來說,前后端分離,讓空間、交互就像我們汽車的裝飾,住宅裝修一樣,形成不同的風(fēng)格和交互,并通過前端組件進(jìn)行拼接,就會(huì)形成更好的交互體驗(yàn),并且可以兼顧多端系統(tǒng),比如手機(jī)、平板和PC交互。
如果能夠達(dá)成這樣的效果,大規(guī)模定制就會(huì)因?yàn)椤吧a(chǎn)線”+組件的模式而大幅度提升效率,這雖然與陳飔老師所謂的配置有相似性,但本質(zhì)上每一個(gè)組件都是可替換的,而基礎(chǔ)架構(gòu)又是能夠支持組織數(shù)字化的基礎(chǔ)搭建的,從而會(huì)大幅度提升生產(chǎn)效率,提升客戶交付的效率和質(zhì)量。
并且,這里軟件開發(fā)工程師主要生產(chǎn)并創(chuàng)造流水線結(jié)構(gòu),形成“現(xiàn)場(chǎng)定制”的組件、模塊和工藝結(jié)構(gòu),以支撐到快速交付,并隱去了技術(shù)的細(xì)節(jié),使得對(duì)于設(shè)計(jì)產(chǎn)品的人以產(chǎn)品需求導(dǎo)向,以業(yè)務(wù)模組成為組裝原材料,從而避免了代碼編程。
當(dāng)然,這里會(huì)有一個(gè)問題,有些組件不適用怎么辦?這就需要對(duì)于組件進(jìn)行重構(gòu),形成新的型號(hào)或者新的版本,從而實(shí)現(xiàn)組件的互換,這也是現(xiàn)代化機(jī)械制造生產(chǎn)的一種場(chǎng)用方法,比如替換電阻、電容一樣地替換一個(gè)前端界面組件,從而實(shí)現(xiàn)相似而又不同特性的功能。
共生與互聯(lián):信息、協(xié)議和組合
致遠(yuǎn)CAP4正是這樣一種結(jié)構(gòu)的探索,并取得了實(shí)際的效果,在前進(jìn)的道路上邁進(jìn)了一大步,目前基于CAP4的大量的組件已經(jīng)能夠提交到協(xié)同云上,通過云端定制實(shí)現(xiàn)多人協(xié)作的業(yè)務(wù)包產(chǎn)品開發(fā),這是一種初步的模型,還有很多不完善,但已經(jīng)走出了模式創(chuàng)新,實(shí)現(xiàn)了設(shè)計(jì)流水線和產(chǎn)品生產(chǎn)者的分離,實(shí)現(xiàn)了專業(yè)化應(yīng)用的開發(fā)不完全依賴于代碼編程的新的業(yè)務(wù)軟件的生成模式,實(shí)現(xiàn)了專業(yè)化的分工的雛形。
更進(jìn)一步,多個(gè)業(yè)務(wù)軟件包之間如何連接、組合形成更大的業(yè)務(wù)包,更復(fù)雜的業(yè)務(wù)應(yīng)用組合,這種堆疊式的開發(fā)模型也是現(xiàn)代復(fù)雜產(chǎn)品生產(chǎn)的一種有效模式,能夠?qū)崿F(xiàn)規(guī)模的模塊的重用。
這里的軟件模塊成為了業(yè)務(wù)包,而業(yè)務(wù)包本身正是基于組織模型、工作流、業(yè)務(wù)表單、門戶空間等等架構(gòu)技術(shù)實(shí)現(xiàn)的技術(shù)模型支撐的。
大規(guī)模定制的基本方式是復(fù)用,現(xiàn)代企業(yè)管理的復(fù)雜性決定了整體復(fù)用有其困難和障礙,但企業(yè)管理本身是人的管理,只要人性不變,那么管理模式其實(shí)本質(zhì)上很難改變,也就是由相似的業(yè)務(wù)、相似的過程、相似的任務(wù)和業(yè)務(wù)模塊組合而成,而人與機(jī)器或者說軟件系統(tǒng)打交道的方式和交互體驗(yàn)也是有限的模式可以探索的,通過模塊化抽象、并基于對(duì)組織、流程、業(yè)務(wù)協(xié)作模型的研究,形成標(biāo)準(zhǔn)件、組件、模塊、總成的結(jié)構(gòu),這些是可以期待的,并且隨著各種組件的豐富,軟件的搭建或者說生產(chǎn)將會(huì)變得越來越快捷,隨著從業(yè)人員的增多,對(duì)于這些知識(shí)、框架和模型的了解和學(xué)習(xí)越來越深入,各種類型的專業(yè)軟件的搭建都將成為可能,對(duì)此我們深信不疑。
這些這種目的,我們需要的是生態(tài),也就是更多懂得業(yè)務(wù)、領(lǐng)域應(yīng)用,對(duì)于管理創(chuàng)新和業(yè)務(wù)協(xié)作有思想、有認(rèn)知的企業(yè),有志于從事這些業(yè)務(wù)的實(shí)施人員、伙伴愿意投入資源從事這種生產(chǎn)性的活動(dòng),基于平臺(tái)去搭建系統(tǒng),形成豐富多彩的應(yīng)用和應(yīng)用組合,那么生態(tài)的活躍會(huì)反哺系統(tǒng)平臺(tái)的能力提升,并整合各種組件、資源和信息互動(dòng)的平臺(tái)化能力提升。
并且,不同的業(yè)務(wù)模塊、業(yè)務(wù)軟件之間如何信息互通,如何連接協(xié)作需要信息互換的協(xié)議,需要業(yè)務(wù)軟件(其實(shí)就是業(yè)務(wù)包)之間相互識(shí)別,相互通信,相互自動(dòng)協(xié)作,這需要:協(xié)議的定義,這是更高層面的自適應(yīng)、自動(dòng)化的有機(jī)組合,也可以稱之為智能化連接,這是未來發(fā)展的趨勢(shì)和方向。
未來:軟件不是應(yīng)該是這樣開發(fā)的
致遠(yuǎn)互聯(lián)在CAP上的探索已經(jīng)明確了大量定制的可行性,我們大量的實(shí)施人員和伙伴制作出來的數(shù)千個(gè)(也許更多)業(yè)務(wù)包已經(jīng)運(yùn)行在CAP的運(yùn)行器上,CAP分離了設(shè)計(jì)器和運(yùn)行器,就是將流水線的設(shè)計(jì)能力提交給了我們的伙伴和客戶,而軟件產(chǎn)品的業(yè)務(wù)包形成了各類客戶的按需定制的業(yè)務(wù)信息化實(shí)現(xiàn),成就了高績(jī)效組織。
另外一方面,設(shè)計(jì)器生產(chǎn)的業(yè)務(wù)包在最先的生產(chǎn)環(huán)境中已經(jīng)實(shí)現(xiàn)了業(yè)務(wù)包的版本迭代開發(fā)和修改的模式,這就使得軟件產(chǎn)品是可以不依賴代碼開發(fā)人員而進(jìn)化的。
這不是未來的模式,這是今天已經(jīng)實(shí)現(xiàn)的模式。對(duì)于有些特殊的功能、組件還需要重新開發(fā)組件,或者增加組件,這種低代碼的開發(fā)在一個(gè)相當(dāng)長(zhǎng)的階段還會(huì)持續(xù),但這同時(shí)會(huì)造就更多的業(yè)務(wù)組件、前端組件、界面組件,封裝出來就會(huì)成為未來可用的部件,從而降低未來的開發(fā)代價(jià),成為可復(fù)用的資產(chǎn)。
當(dāng)然,這些還不足夠,平臺(tái)、體系的能力還需要增強(qiáng),對(duì)于組織、流程的組合,對(duì)于人員、組織的描述能力,對(duì)于多端的識(shí)別,對(duì)于業(yè)務(wù)模塊組裝的限制等等,問題依然不少。
平臺(tái)化、生態(tài)化開發(fā)需要更大的產(chǎn)業(yè)分工,需要現(xiàn)代的實(shí)施交付人員和伙伴成為未來的生產(chǎn)線的設(shè)計(jì)師、師傅,成為制作以0代碼定制業(yè)務(wù)的先行者。
這也需要新的觀念,新的開發(fā)模式,也需要更多的組件開發(fā)者提供更多的標(biāo)準(zhǔn)件、組件和模塊總成,這些也許需要代碼,需要編程。
但這就像最初的汽車只有黑色,沒有空調(diào),沒有擋風(fēng)玻璃一樣,雖然簡(jiǎn)陋,但畢竟上路了。
只要走在正確的路上,目標(biāo)方向正確,經(jīng)過前仆后繼的眾多參與者的努力,未來一定會(huì)越來越好。
這就是致遠(yuǎn)業(yè)務(wù)定制兼顧規(guī)模的定制模式,我們堅(jiān)定不移地往前,往前,再往前。