芥末堆芥末堆

我的一年中臺實戰(zhàn)錄

作者:InfoQ 發(fā)布時間:

我的一年中臺實戰(zhàn)錄

作者:InfoQ 發(fā)布時間:

摘要:干貨滿滿。

圖蟲創(chuàng)意-467417949461676639.jpg

圖源:圖蟲創(chuàng)意

轉(zhuǎn)載自InfoQ公眾號,ID:infoqchina    

市面上有關(guān)中臺的“應(yīng)景兒”文章越來越多,但是講概念的多、有干貨的少,畢竟中臺雖然熱,但是還缺少真刀真槍的實踐。而恰恰本文作者,就是一位中臺的實踐者。他所在的團隊用一年時間搭建中臺,雖然因為公司戰(zhàn)略和組織架構(gòu)調(diào)整,中臺項目被停止了,但是其間有太多的收獲、感悟和反思,借本篇文章分享給對中臺感興趣的朋友們。

令人唏噓的一年

故事的開端

2018 年 3 月份,我正式成為一名中臺產(chǎn)品經(jīng)理,在這之前的一兩個月,我已經(jīng)和 Sunner 就中臺的發(fā)展有了多次溝通。我們要做一個在線教育領(lǐng)域的中臺產(chǎn)品——愛多思(EduOS),顧名思義,就是一個在線教育的操作系統(tǒng)。線下教育的教學(xué)工具有桌椅板凳,黑板、粉筆、投影儀等教學(xué)設(shè)備,組合成物理世界的課堂,愛多思的目標(biāo)是構(gòu)建出線上教育里的桌椅板凳,讓其能夠自由組合成一整個在線教學(xué)管理系統(tǒng)(LMS),并形成標(biāo)準(zhǔn)。

這是一個有挑戰(zhàn)的活兒:

首先,當(dāng)時中臺在互聯(lián)網(wǎng)公司是個新概念,如何在互聯(lián)網(wǎng)公司里做一個中臺,業(yè)界并沒有太多的成熟經(jīng)驗可以參考;

其次,各條業(yè)務(wù)線里煙囪式的教學(xué)系統(tǒng)已經(jīng)分開跑了很久了,在這個基礎(chǔ)上搭建中臺,就好像在給飛行中的飛機換引擎(當(dāng)然,并不是每條業(yè)務(wù)跑得同樣快,這也是中臺能夠在各個業(yè)務(wù)產(chǎn)品間周旋的基礎(chǔ))。

17 年阿里出版的那本書「阿里中臺戰(zhàn)略」是我們當(dāng)時唯一找到的理論基礎(chǔ),阿里大中臺幾年的實踐,以及 17 年我們通過一支幾個人的別動隊在內(nèi)部對可行性的探索,最終讓我們在申請立項時說明這事可以做成。

中臺項目正式立項,我成為立項后第一個產(chǎn)品經(jīng)理,Sunner 是負責(zé)人和產(chǎn)品架構(gòu)師。我們計劃用兩年時間把中臺搭建好,讓愛多思能夠支撐各條業(yè)務(wù)線的發(fā)展,并且能快速孵化出新的業(yè)務(wù)。然而一年過后,2019 年 2 月底,因為公司戰(zhàn)略和組織架構(gòu)調(diào)整,中臺項目被停止了。

我依然清晰的記得那天,大家在會議室里討論已經(jīng)在線上跑的中臺服務(wù)未來何去何從,想想在云端本地?zé)o數(shù)的代碼庫中有一套打著那天的 tag,然后就沒有再更新過,讓人唏噓不已。

這一年的收獲

回顧這一年,我們做成了這幾件事兒:

完成了多個教學(xué)服務(wù)的中臺化改造。其中包括一些底層的基礎(chǔ)服務(wù),如賬號、權(quán)限、點播、直播等;也包括一些具備教學(xué)邏輯的模塊,如直播課、題庫、問卷等等。每個服務(wù)都可以單獨拿出來做成可直接給終端用戶使用的產(chǎn)品,類似于 CCtalk、問卷星,并且這些服務(wù)和模塊都已經(jīng)支持各業(yè)務(wù)產(chǎn)品了。

總結(jié)出來中臺化產(chǎn)品設(shè)計、產(chǎn)品研發(fā)、項目管理的一些標(biāo)準(zhǔn)規(guī)范和套路。依照這些標(biāo)準(zhǔn)和套路,沒有中臺經(jīng)驗的產(chǎn)品和技術(shù)人員也可以快速的開發(fā)出中臺服務(wù),并被業(yè)務(wù)產(chǎn)品接入使用。

當(dāng)然我們也還有一些沒做完的事兒,包括:

中臺教學(xué)系統(tǒng)的閉環(huán)。我們做了一些獨立的教學(xué)模塊,但還沒能夠用中臺化的標(biāo)準(zhǔn)把這些教學(xué)模塊完全組合起來,形成一個可以系統(tǒng)化學(xué)習(xí)的課程。

中臺價值的量化體系。只有做好了價值量化這一點,我們才算完成了中臺在商業(yè)世界里的實踐,并且經(jīng)驗可以被推廣到公司內(nèi)外。

中臺商業(yè)化的探索。我個人一直希望能夠把中臺做成一個可商業(yè)化的企業(yè)服務(wù),不僅僅只是一個內(nèi)部支持型的產(chǎn)品。中臺項目停止后,我也依然在教育 ToB 行業(yè)。時常在想:如果有了成熟的中臺能夠?qū)ΜF(xiàn)在的問題有什么幫助?現(xiàn)在看起來,在國內(nèi)目前的商業(yè)環(huán)境下,一個好的中臺,其對內(nèi)服務(wù)產(chǎn)生的價值還是遠遠高于對外直接輸出的價值,慶幸當(dāng)年 Sunner 壓制住了我想快速商業(yè)化的訴求。

假如我們能有兩年時間,不知道能否達成最初的目標(biāo),也不知道未來是否還有機會繼續(xù)?但我?guī)缀蹩隙ǖ氖牵褐信_會在接下來互聯(lián)網(wǎng)和傳統(tǒng)產(chǎn)業(yè)深度結(jié)合時,變得越來越重要。名字除了叫中臺外,還可能會被稱為平臺、中間件、共享服務(wù)等等。

此外對于我個人而言,應(yīng)該說我這一年的收獲良多:

進入互聯(lián)網(wǎng)行業(yè)后,小步快跑成了常態(tài)。而在中臺的這段時間,我難得能夠暫時放開業(yè)務(wù)的壓力,按照近乎理想化的標(biāo)準(zhǔn)去進行產(chǎn)品架構(gòu)設(shè)計、做抽象、畫 UML、花時間仔細思考。我本不是這樣的人,這也算是在刻意練習(xí)了。

作為一個在線教育行業(yè)的新人,通過中臺我能有機會參與整個事業(yè)部涉及的所有教育業(yè)務(wù),包括 K12、成人、ToC、ToB,讓我對在線教育行業(yè)有了一個更全面的認識,從中尋找興趣所在。

結(jié)識了一幫優(yōu)秀而有趣的小伙伴,大家一起做有挑戰(zhàn)的事情,也才有了這篇文章里的回憶。

都在談中臺,究竟什么是中臺?

中臺的概念

中臺是近年來 IT 行業(yè)非?;鸬母拍睿ㄟ@里最好加上一個”IT 行業(yè)“的限定,因為曾經(jīng)有商務(wù)同事以為我是研究兩岸關(guān)系的,哈哈),有很多的文章從產(chǎn)品、技術(shù)、組織等多個角度來解釋什么是中臺。對于一個快速變化的新概念而言,很難有標(biāo)準(zhǔn)定義,阿里中臺某高管都提到過現(xiàn)在阿里所做到的離他所定義的中臺還有一段距離。

給定義是非常謹(jǐn)慎的事情,但很多時候不給定義又沒辦法繼續(xù)聊,所以我也曾經(jīng)在一個內(nèi)部分享上給中臺做了定義「服務(wù)于某個垂直領(lǐng)域的工具平臺」。在做這個定義時,我是參考了云計算的概念的。云計算是一種通用服務(wù),那么中臺和云計算有什么差別呢?按照 IaaS/PaaS/SaaS 來劃分,服務(wù)的領(lǐng)域越來越垂直。參考這種方式,我會定義中臺在 PaaS 和 SaaS 之間,主要原因如下:

PaaS 提供了一種服務(wù),客戶的程序員通過二次開發(fā)使用 PaaS 服務(wù),最終完成某個功能給最終用戶。PaaS 的通用性需要非常強,這樣才能獲得足夠大的市場,比如 IM、視頻云服務(wù)等,也因此 PaaS 往往是沒有界面的。

SaaS 提供的服務(wù)不需要客戶進行開發(fā),只需要開通服務(wù),在管理后臺上配置一下就可以直接使用。但 SaaS 服務(wù)往往針對的是一個細分領(lǐng)域,其定制化能力也相對弱很多。即使是像釘釘,釘釘選擇 IM 這種企業(yè)中最通用化的服務(wù),同時做成企業(yè)服務(wù)的開放生態(tài),目標(biāo)客戶也主要是覆蓋中小企業(yè)。定制化需求強的大客戶,也往往會需要希望借助 IM PaaS 服務(wù)來自主研發(fā)內(nèi)部 IM 工具。

PaaS 和 SaaS 定位在服務(wù)外部客戶,必須具備很低的使用成本。即使是需要通過技術(shù)來接入的 PaaS 服務(wù),接入成本也一定要足夠低,接口清晰,文檔完善。

中臺首先是定位在服務(wù)公司內(nèi)部客戶,由于這個范圍的限定,導(dǎo)致中臺的通用性可以在很多約束條件下來實現(xiàn),可服務(wù)的領(lǐng)域比 SaaS 廣。比如即使同樣是電商,淘寶、天貓、聚劃算、閑魚、飛豬的站點都是不一樣的,而阿里共享事業(yè)部就在中臺層服務(wù)多個業(yè)務(wù)。此外,由于中臺的用戶是公司內(nèi)部的程序員,大家有相似的背景,也可以頻繁溝通,所以服務(wù)接入的成本可以做得比面向外部客戶的 PaaS 要高。

中臺 vs 第一性原理

很多資料在介紹中臺概念時都會引用這樣兩個例子:

美軍的特種部隊加航空母艦的策略:10 人以內(nèi)的一支特種部隊在戰(zhàn)斗的最前沿偵查,獨立決策,一旦發(fā)現(xiàn)目標(biāo),迅速呼叫強大的中臺航母群對其進行毀滅性打擊。

芬蘭著名的游戲公司 SuperCell,開發(fā)了部落沖突、皇室戰(zhàn)爭等現(xiàn)象級的手游。整個公司才 200 多號人,就被騰訊以 86 億美金收購。在 SuperCell 里,一個游戲開發(fā)團隊平均是 3-7 個人,但有一個強大的游戲中臺在做支撐,可以并行開發(fā) 50 款游戲,然后通過“內(nèi)部賽馬”產(chǎn)生出一到兩款經(jīng)典。據(jù)說馬云在帶領(lǐng)阿里眾多高官參觀了 SuperCell 后,回來就在阿里整個集團層面啟動了大中臺戰(zhàn)略。

同時我想要對比的是另一個概念「第一性原理」。第一性原理也是近幾年很火的一個詞,基本已經(jīng)成為完成顛覆式創(chuàng)新的大殺器。最典型的例子之一就是 Elon Musk 了。這個同時掌管 Solar、SpaceX 和 Tesla 的硅谷鋼鐵俠,從最基礎(chǔ)的物理學(xué)原理出發(fā),重新設(shè)計和制造的獵鷹火箭,正帶領(lǐng)著人類飛向火星。

在上述例子中,第一性原理和中臺都帶來了創(chuàng)新和成功,但其實這兩者在某種程度上是矛盾的。第一性原理往往是打破原有的經(jīng)驗,跳出舒適圈,從最底層邏輯去進行思考。而中臺是將通用的能力進行抽象和共享,將成功的經(jīng)驗固化下來,將有限的人力投入到創(chuàng)新中去。

第一性原理是物理世界運轉(zhuǎn)的本質(zhì),在沒有時間條件的約束下,可以推導(dǎo)出整個世界。假如地球要滅亡了,只有一張紙上的信息能夠保留下來,寫在這張紙上的就是地球文明的第一性原理。基于這些可以重塑地球文明,但可能需要幾千萬年。

但人類社會的運轉(zhuǎn)往往是有明確時間約束的,如果我只知道 1+1=2 時就要完成微積分,可能要窮盡一生。因此,依靠前人和自己的經(jīng)驗做事才是人類社會能夠高效運轉(zhuǎn)的基本要素,放在 IT 行業(yè),這些經(jīng)驗就叫中臺。經(jīng)驗往往能帶來效率提升、成本提升、質(zhì)量提高,同時也能帶來偏見、慣性思維模式,中臺也一樣。

我們?yōu)槭裁匆鲋信_?

隨著「阿里中臺服務(wù)」那本書在 17 年的出版,中臺開始走進更多人的視野,并且在 18 年逐漸熱門起來。但那時網(wǎng)上介紹中臺的文章和分享還不多,記得我在準(zhǔn)備公司內(nèi)中臺分享時,沒有花多大功夫就看完了幾乎所有相關(guān)內(nèi)容。

而到了 2019 年,中臺的熱度迅速攀升,火爆程度有點類似 16 年的 VR、18 年的區(qū)塊鏈。同時我也聽說有創(chuàng)業(yè)公司連核心業(yè)務(wù)的商業(yè)模式還沒摸清楚,上來就要搞中臺。這其實是沒搞清楚為什么要建中臺、中臺要解決什么問題:

首先,中臺是支撐公司多個業(yè)務(wù)產(chǎn)品的共享服務(wù),如果你的公司只有一個業(yè)務(wù)產(chǎn)品,能做的最多只能是良好的架構(gòu)設(shè)計,沒有多個業(yè)務(wù)產(chǎn)品的實際場景輸入,是難以直接做出中臺的。

其次,中臺的目標(biāo)是提高業(yè)務(wù)產(chǎn)品的研發(fā)效率,但為了達到這個目的,在一段時間內(nèi)是需要以降低「效率」為代價的,時間長短取決于系統(tǒng)復(fù)雜度和團隊能力的差距。

當(dāng)公司隨著業(yè)務(wù)發(fā)展,需要研發(fā)第二個、第三個產(chǎn)品時,在這種情況下可能會有兩種方式來構(gòu)建中臺:

新產(chǎn)品和技術(shù)架構(gòu)都是繼承自當(dāng)前產(chǎn)品,不斷的通過優(yōu)化當(dāng)前產(chǎn)品架構(gòu)來適應(yīng)新的產(chǎn)品,讓中臺服務(wù)自然沉淀出來。這種情況下的前提條件是在做第一個產(chǎn)品時就做好了服務(wù)架構(gòu)設(shè)計,即便如此,在第二個產(chǎn)品時很有可能還是要走彎路,不能滿足新產(chǎn)品快速迭代和試錯的渴望。但到了第三個、第四個產(chǎn)品時,就會變得越來越快了。

新的產(chǎn)品和技術(shù)架構(gòu)都是重新設(shè)計,這樣做每個產(chǎn)品的速度都差不多,靈活度也能做到最高。但每個產(chǎn)品都很難在技術(shù)上從前面的產(chǎn)品去借力。當(dāng)團隊人員發(fā)生變動、產(chǎn)品越來越多,多分支的維護和開發(fā)就凸顯了人力不足的問題,這時候就需要搭建一個中臺。這也是我們當(dāng)時所面臨的問題。

我所在的事業(yè)部發(fā)展了多年,有五條業(yè)務(wù)產(chǎn)品線。這五條產(chǎn)品線就是從一條產(chǎn)品線開始,隨著時間的推移逐步發(fā)展起來的。和大部分研發(fā)團隊的情況一樣,在應(yīng)對快速變化的市場環(huán)境時,我們沒有能夠做好系統(tǒng)的底層積累,而是選擇了一條在當(dāng)時看來是更簡單的路徑:從一套代碼 copy 出了另一套代碼來支撐新的產(chǎn)品。

多年后我們就有了五個獨立的系統(tǒng)來支撐五個業(yè)務(wù)產(chǎn)品。我無法判斷如果當(dāng)時做好了底層系統(tǒng)架構(gòu),整個部門實際會發(fā)展成什么樣。只知道當(dāng)五個產(chǎn)品要在五套系統(tǒng)上快速往前跑時,研發(fā)的復(fù)雜程度和成本都太高了。為了解決這個問題,我們決定做中臺。

當(dāng)然我們也可以有另外的選擇——砍掉大部分產(chǎn)品,只專注做到一、兩個。但大家都知道,其實真正困難的不是決定做什么,而是決定不做什么,這種決策其實比做中臺更加困難。此外,作為一家成熟的公司,一定是需要有能夠形成合力的產(chǎn)品矩陣來支撐整個公司戰(zhàn)略推進的,所以多產(chǎn)品并行是公司發(fā)展到一定階段的必然選擇,而做中臺也絕不是站在其中某一個產(chǎn)品的角度來解決問題,而是站在多產(chǎn)品協(xié)同的角度來看公司的戰(zhàn)略發(fā)展。

從公司戰(zhàn)略來看,阿里巴巴的曾鳴在「智能商業(yè)」一書中提出了看十年、做一年的觀點。在日益復(fù)雜而又快速變化的市場環(huán)境中,公司已經(jīng)無法做到一個五年的準(zhǔn)確的規(guī)劃,并執(zhí)行下去。而需要通過看十年的終局思維來看到行業(yè)最終會成為什么樣子,從而制定公司愿景和方向。

通過做一年的方法來制定計劃,快速落地一些事情,然后根據(jù)效果來迅速調(diào)整方向、更新計劃,朝著終局推進。要想做到這點,基礎(chǔ)能力的積累就非常重要,而中臺也是其中非常重要的部分。

站在產(chǎn)品團隊的角度來看,一個搭建完成的中臺基礎(chǔ)框架,能夠帶來的直接價值就是:

成本節(jié)省。需要開發(fā)新功能時,很可能這個功能中臺已經(jīng)提供了,產(chǎn)品經(jīng)理提供配置參數(shù),研發(fā)直接接入服務(wù)就可以用起來了。

效率提高。在中臺上開發(fā)新功能,只需要參考標(biāo)準(zhǔn)和文檔,一個新人也可以快速上手,并且這個新功能還可以被其他產(chǎn)品直接使用,產(chǎn)生復(fù)利效應(yīng)。

質(zhì)量提升。從兩方面來看:

設(shè)計質(zhì)量。中臺團隊通常會以功能模塊為劃分,專職負責(zé)某功能模塊的團隊往往會更有意愿去突破一些難點,成為最懂此功能模塊的團隊。比如現(xiàn)在教育領(lǐng)域最熱門的授課方式就是直播課,而直播功能就是一個有較高門檻的功能模塊。要想做出適合業(yè)務(wù)發(fā)展的直播功能,需要對云計算、計算機網(wǎng)絡(luò)、直播授課方法、直播運營等多個方面都有較為深入的了解。這需要團隊能夠有一定程度的積累,不是從某一個業(yè)務(wù)產(chǎn)品研發(fā)團隊里找?guī)讉€人就能很快突擊出來的。

研發(fā)質(zhì)量。中臺的服務(wù)往往提供給多個業(yè)務(wù)產(chǎn)品使用,出現(xiàn)故障就會造成大面積的問題。所以質(zhì)量保障往往是中臺服務(wù)的生命線。每一個下沉到中臺的服務(wù)不但會經(jīng)過常規(guī)的測試,還會在 Code review、單元測試覆蓋率等指標(biāo)上有更為嚴(yán)格的要求,力保高質(zhì)量的交付。

我們是怎么做中臺的?

產(chǎn)品設(shè)計層面

隨著中臺的日益火爆,如何做一個中臺產(chǎn)品經(jīng)理也成了一個新的職業(yè)發(fā)展熱點,最近也看到有了線上的中臺產(chǎn)品經(jīng)理課程。中臺產(chǎn)品經(jīng)理是 B 端產(chǎn)品經(jīng)理的一種類型,有 B 端通用的能力要求,比如擅長做抽象建模、具備一定的研發(fā)技術(shù)功底、懂 UML 等,我在這里就不一一展開了。但就中臺服務(wù)多個內(nèi)部業(yè)務(wù)產(chǎn)品為主的特點來說,會對中臺產(chǎn)品經(jīng)理有些不一樣的要求。在我個人的經(jīng)歷里,我認為有三點非常重要:

中臺產(chǎn)品經(jīng)理如何設(shè)計出用戶體驗好的功能?由于教育中臺對其服務(wù)的要求是從前端到后端的完整服務(wù)(具體原因在技術(shù)部分介紹),因此教育中臺的產(chǎn)品經(jīng)理所設(shè)計的功能需要直接面對最終用戶,也需要保有良好的用戶體驗。

640-2.jpeg

在上圖中,業(yè)務(wù)產(chǎn)品經(jīng)理的能力要求偏向市場側(cè),中臺產(chǎn)品經(jīng)理的能力要求偏向研發(fā)側(cè),綠色部分是兩類產(chǎn)品經(jīng)理都需要掌握的。教育中臺對產(chǎn)品經(jīng)理一直有要求,必須走到需求的源頭不能只接二手需求。拋開個人能力而言,這對其提出的難度在于:必須花大量的精力去熟知不同的場景。

中臺產(chǎn)品經(jīng)理是按照功能模塊來劃分職責(zé)的(如題庫、直播),但實際的使用場景是用戶使用整體產(chǎn)品的全流程,并不會只看某個功能模塊,因此每個模塊的產(chǎn)品經(jīng)理需要了解所支持的所有業(yè)務(wù)的全部場景,才能做好相關(guān)模塊的設(shè)計。同時教育行業(yè)是碎片化的,不同業(yè)務(wù)之前的場景差異性比較大,某模塊的中臺產(chǎn)品經(jīng)理如何才能快速的熟知所有業(yè)務(wù)的全部場景?這是一個難題。

中臺產(chǎn)品經(jīng)理和技術(shù)的分界線在哪里?也許這不僅僅是做中臺產(chǎn)品經(jīng)理才需要考慮的問題,但在教育中臺的很長一段時間內(nèi),我的疑問比以前任何時候都強烈。中臺里有太多的產(chǎn)品設(shè)計,可以由具備產(chǎn)品思維的研發(fā)人員來考慮,但更多時候,還是需要向技術(shù)深入一步的產(chǎn)品經(jīng)理來組織研發(fā)人員一起設(shè)計。

舉個極端的例子:為了降低各個業(yè)務(wù)產(chǎn)品在各個端(前端、后端、移動端)接入中臺服務(wù)時的配置管理難度,我曾考慮改進中臺服務(wù)里零散在各端代碼中的配置管理,做到集中管理并且可靈活配置。此外還拓展出支持未來可能的中臺服務(wù)付費需求。為了描述清楚需求,我寫的 PRD 里除了描述各種場景和功能外,還用偽代碼描述了如何使用。雖然偽代碼的水平可能會被研發(fā)同事鄙視,但達到了清晰表述問題的目的。

本文我無意提倡 PRD 里要寫偽代碼,主要想要說明的是中臺產(chǎn)品經(jīng)理不要指望能夠和技術(shù)有清晰的界限,應(yīng)該堅定的跨過去一步,同時也把產(chǎn)品思維帶到技術(shù)中去,搭起一座橋。

中臺產(chǎn)品經(jīng)理如何設(shè)計一個新功能模塊,讓它能夠滿足各方需求,且推動其在各個業(yè)務(wù)產(chǎn)品上使用起來?除了要求產(chǎn)品經(jīng)理有極強的專業(yè)能力外,還需要具備極強的主動性、溝通能力、甚至是商務(wù)能力,在各個業(yè)務(wù)之間想盡辦法把中臺的種子種下去。相關(guān)的經(jīng)驗在在本文的「中臺策略對組織架構(gòu)的挑戰(zhàn)」部分做了介紹。

技術(shù)層面

在中臺架構(gòu)的設(shè)計之初,我們就定位了教育中臺需要提供的不僅僅只是后端服務(wù),一方面純后端服務(wù)和 PaaS 服務(wù)就沒太多區(qū)別;另一方面由于教育中臺所希望提供的服務(wù)的業(yè)務(wù)屬性非常強,提供的服務(wù)復(fù)雜程度遠高于常見的 IM、視頻云等常見 PaaS 服務(wù),如果完全通過后端開放接口來使用,接口的數(shù)量會非常多,調(diào)用的邏輯關(guān)系也會很復(fù)雜,使用成本會遠高于常見的 PaaS 服務(wù)。

因此我們希望教育中臺提供的是前后端一體的服務(wù),最終展現(xiàn)給用戶的是前端模塊 / 組件。理想的情況下,業(yè)務(wù)產(chǎn)品的前臺頁面只要嵌入中臺某功能服務(wù)的前端模塊,就可以使用該模塊的完整功能。這種方式最大限度地拓展了中臺服務(wù)的價值,但也給中臺服務(wù)在設(shè)計中帶來巨大的難度。經(jīng)過一年反復(fù)的煎熬,我們也整理出了幾條設(shè)計原則:

 1. 數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一是底線

理想情況下,教育中臺搭建完一個模塊,各個業(yè)務(wù)產(chǎn)品一接入就能完美的用起來。但實際情況下沒有產(chǎn)品經(jīng)理和研發(fā)具備這樣的能力,反復(fù)是一定要的,甚至于有時候教育中臺需要去做一個需求還不明確的功能(我通常反對中臺新做功能來完成業(yè)務(wù)產(chǎn)品的需求驗證,ROI 太低了)。當(dāng)面對這樣的情況時,一定要堅守的底線是數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一。研發(fā)同學(xué)都知道數(shù)據(jù)遷移是一個大坑,所以只要數(shù)據(jù)結(jié)構(gòu)是統(tǒng)一的,任何邏輯和交互的變化都是可以接受的。

 2. 前臺界面通用的邊界

數(shù)據(jù)結(jié)構(gòu)的統(tǒng)一、后端服務(wù)的共享,是容易在思想上達成一致的,難的部分只是在執(zhí)行。但前端界面統(tǒng)一的觀點自始至終都在激烈的辯論中。對于一個 ToC 產(chǎn)品的產(chǎn)品經(jīng)理和設(shè)計師來說,往往對交互、視覺都非常敏感,這也是 ToC 產(chǎn)品能夠在第一眼就留住用戶的最重要原因。

但中臺服務(wù)為了做到重用,往往很難在一些細節(jié)的交互上和視覺層上,百分之百的滿足每個業(yè)務(wù)的需求。并且在這種用戶體驗的層面,往往沒有誰能夠說服誰。對于設(shè)計型的產(chǎn)品經(jīng)理而言,不能把控自己產(chǎn)品界面里的設(shè)計,簡直就是被褻瀆,因此在前端界面統(tǒng)一這件事情上的爭論有多激烈,可想而知,我自己在這件事情的立場上也有搖擺。在多個 case 的糾葛后,我們推動了幾件事情,不敢說解決了這個沖突,至少是改善了問題:

推動更新整個事業(yè)部產(chǎn)品的交互視覺規(guī)范。對于建立規(guī)范大家都是沒有疑問的,在交互規(guī)范不完善且沒有被嚴(yán)格執(zhí)行的情況下,很多時候產(chǎn)品經(jīng)理都需要為了一些交互細節(jié)大傷腦筋:比如編輯框里字?jǐn)?shù)超出了限制應(yīng)該怎樣提示?諸如此類。當(dāng)交互規(guī)范完善,且做成了 Axure 組件后,普通產(chǎn)品經(jīng)理都有了升級成產(chǎn)品設(shè)計師的可能,基于規(guī)范和組件就可以做出一個完成度很高的交互稿。而視覺規(guī)范是整個事業(yè)部各產(chǎn)品統(tǒng)一品牌形象的條件,也是統(tǒng)一前端組件的基礎(chǔ),設(shè)計在前端組件級達成一致是可以的。

根據(jù)用戶前臺和管理后臺加以區(qū)別對待。用戶前臺是給終端用戶使用的,也是大量 C 端用戶直接接觸產(chǎn)品的入口,不同業(yè)務(wù)的用戶往往在交互和視覺上有不同的需求。而管理后臺往往是給一些特殊用戶、比如管理員使用的,這類用戶首先數(shù)量相對少,后臺操作也不那么頻繁。且這類用戶在操作管理后臺時具備 B 端用戶的屬性,很多時候是部門內(nèi)的運營,對功能是否強大的敏感度高于視覺體驗。

因此教育中臺盡量能在管理后臺的前端界面上保持統(tǒng)一,而用戶前臺頁面會考慮放開讓各個業(yè)務(wù)產(chǎn)品自己做。當(dāng)然這一點很容易就可以找出反例,因此也只是在設(shè)計過程中的一個指導(dǎo)方向,并不是定理。

根據(jù)業(yè)務(wù)的目標(biāo)用戶年齡層次進行區(qū)分。事業(yè)部有面向成人、K12、年齡更小的兒童等各個不同年齡階段用戶的產(chǎn)品。年齡越小的用戶對交互和視覺的要求越高,愛奇藝還專門推出了面向兒童的奇巴布。整個交互和視覺都做了重新設(shè)計。因此教育中臺盡可能在面向成人的產(chǎn)品里去做到前端界面通用,不考慮和面向低齡人群的產(chǎn)品有任何前端界面的復(fù)用。

 3. 前后端直連

教育中臺的用戶是部門其他業(yè)務(wù)產(chǎn)品線的程序員,雖然都是內(nèi)部用戶,但降低用戶的使用成本是非常重要的,我在組織架構(gòu)部分會詳細介紹。要想推動教育中臺在內(nèi)部業(yè)務(wù)的使用,必須要最大程度的降低用戶的使用成本。

第一年我們教育中臺的別動隊在搭建服務(wù)驗證可行性時,服務(wù)的架構(gòu)設(shè)計是這樣的:

640-3.jpeg


業(yè)務(wù)產(chǎn)品的后端從教育中臺的后端獲取數(shù)據(jù)后,通過業(yè)務(wù)產(chǎn)品的前端拼裝好再傳給教育中臺的前端模塊進行顯示。這種方案其實等同于把一個模塊的開發(fā)按照人頭分工到兩個團隊來開發(fā),理論上來說可以滿足任何業(yè)務(wù)的需求。早期在需求還不那么確定、業(yè)務(wù)也比較少的時候,這樣去進行探索是可行的。但當(dāng)接入的業(yè)務(wù)產(chǎn)品多起來,這種架構(gòu)會帶來幾個很麻煩的問題:

業(yè)務(wù)產(chǎn)品的前端和后端都分別需要和教育中臺的前端和后端直接對接,需要對教育中臺的接口有很深入的了解,服務(wù)的接入成本非常高。

由于教育中臺后端暴露的接口太多,很容易在后續(xù)更新時發(fā)生變動,從而導(dǎo)致所有已經(jīng)接入的業(yè)務(wù)產(chǎn)品都需要發(fā)生代碼改動,并進行回歸測試。

為了解決上述問題,我們改成了前后端直連的架構(gòu)設(shè)計:

640-4.jpeg

在這種方式下:

教育中臺的前后端是直接交互,可獨立運行的。

只需在前端層進行接入,接入成本大大降低。

只要有限的接口保證穩(wěn)定,教育中臺的升級對于業(yè)務(wù)產(chǎn)品是無感知的。

直連的架構(gòu)在某些特定情況下會增加功能實現(xiàn)的難度,比如要在教育中臺前端模塊里去顯示其后端服務(wù)沒有的數(shù)據(jù)時,會面臨拿數(shù)據(jù)困難的問題。但總體來講帶來的好處遠遠大于增加的難度,我們也基本確定了前后端直連的架構(gòu)是教育中臺服務(wù)首選的方式。

中臺策略對組織架構(gòu)的挑戰(zhàn)

高層的支持重要嗎?

看過一篇文章「重新理解中臺—中臺的戰(zhàn)略和困境」,對中臺在組織架構(gòu)層面的需求做了比較好的介紹,其中最關(guān)鍵的就是:中臺是自頂向下的,中臺一定需要得到高層的支持。

和絕大多數(shù)商業(yè)化的事業(yè)部一樣,我所在事業(yè)部的 KPI 一直是可量化的營收數(shù)據(jù)。而中臺項目在啟動運轉(zhuǎn)的相當(dāng)長一段時間內(nèi),我們所做的很難對 KPI 有直接幫助,甚至于在局部較短時間內(nèi)是阻礙當(dāng)年 KPI 達成的。

大部分員工是很難站在一定的高度去做一個”看十年、做一年“的規(guī)劃,特別是當(dāng)一件事和眼前的 KPI 難以達成平衡時,中臺的工作會受到各個方面的挑戰(zhàn)。因此高層的堅定支持是中臺戰(zhàn)略的第一必要條件。中臺的價值是有條件的,搭建完成后還得有機會來享受成果,這個判斷也需要高層來完成。

此外高層還需要推動一些規(guī)范的建設(shè),如交互規(guī)范、視覺規(guī)范、視覺配套的前端組件規(guī)范等,在這些規(guī)范的約束下,中臺服務(wù)搭建的難度會大大降低。

各業(yè)務(wù)產(chǎn)品的支持重要嗎?

高層的支持是基礎(chǔ),但在中臺和業(yè)務(wù)產(chǎn)品實際工作中,無數(shù)次的碰撞都需要靠中臺自己的影響力來推進。因此中臺如何在各業(yè)務(wù)中獲得影響力,并推動各業(yè)務(wù)接入服務(wù)也是至關(guān)重要的。那么如何推動業(yè)務(wù)產(chǎn)品接入中臺服務(wù)呢?

直接利益就是人力成本節(jié)省。針對單個業(yè)務(wù)而言,他們最關(guān)心的就是接入中臺服務(wù)能夠為其節(jié)省的成本,這個計算方式在后面的「中臺價值量化」部分會介紹。

理念的灌輸。除了高層的直接支持外,中臺的各負責(zé)人會時不時的在各種場合給業(yè)務(wù)的負責(zé)人和小伙伴「洗腦」,鼓吹共享服務(wù)的思想。

首先拉動的一定是研發(fā)人員,好的研發(fā)人員是有代碼潔癖的,即使他不得不在某些情況下寫出惡心的代碼。如果跟他們?nèi)チ某橄?、架?gòu)和重用,天然就會產(chǎn)生親切感。

面對業(yè)務(wù)產(chǎn)品經(jīng)理就往往需要做交換了——我可以在中臺功能設(shè)計里支持你的一個偏定制需求,但你得答應(yīng)要接入我的另一個服務(wù),我甚至于可以出人力幫你接入。

形成生態(tài)系統(tǒng)。當(dāng) iOS 和 Android 已經(jīng)成為世界上最大的兩個移動端操作系統(tǒng)后,無論開發(fā)者多么希望按照 Windows Phone 的標(biāo)準(zhǔn)做開發(fā),也只能選擇 iOS 或 Android,這就是生態(tài)系統(tǒng)的力量。同理,當(dāng)中臺統(tǒng)一了各個業(yè)務(wù)的基礎(chǔ)服務(wù)后,上層的業(yè)務(wù)功能無論有多么個性化的需求,都不能跳出基礎(chǔ)服務(wù)的限制。

而對于一個業(yè)務(wù)而言,放棄中臺的底層服務(wù)、自己重新搭建一套系統(tǒng)也幾乎是不可執(zhí)行的,這太不劃算了。無論該產(chǎn)品經(jīng)理的主觀意愿多么強烈,在 ROI 的壓力下也很難獲得支持。當(dāng)然,每個產(chǎn)品最初都需要一批種子用戶來實現(xiàn)冷啟動,中臺服務(wù)最初也需要能有種子客戶來打磨產(chǎn)品,那么應(yīng)該找誰來合作呢?大家習(xí)慣性會想去找戰(zhàn)略型的重點業(yè)務(wù)產(chǎn)品,做成標(biāo)桿客戶。但實際上重點業(yè)務(wù)產(chǎn)品往往人力充足,并且跑得飛快,一個還不太完善的中臺服務(wù)想要直接跟此類產(chǎn)品合作是非常難的。

重點業(yè)務(wù)不在意成本,也不那么在意質(zhì)量,他們更在意的是速度,這和中臺本身的定位是有矛盾的。因此,中臺服務(wù)反而應(yīng)該去找潛力型的業(yè)務(wù)產(chǎn)品進行合作。此類業(yè)務(wù)有著表現(xiàn)自己、贏得關(guān)注的欲望,但又苦于資源不足了,是非常有意愿去借助中臺的力量做事情的。

當(dāng)然,中臺支持此類業(yè)務(wù)產(chǎn)品需要承擔(dān)的風(fēng)險就是:這個業(yè)務(wù)產(chǎn)品可能活不了多久就被老板砍掉了。因此如何選擇具備潛力的產(chǎn)品,這就是需要中臺負責(zé)人在戰(zhàn)略上能有敏銳判斷的地方了。

保留力量,去做重要不緊急的事情

由于互聯(lián)網(wǎng)公司多年來信奉的就是「唯快不破」,團隊在做優(yōu)先級排序時,往往會傾向于去做業(yè)務(wù)價值最明顯的事情。有很多重要不緊急的工作就被壓在后面,永遠沒有再被提起過。但對中臺產(chǎn)品團隊需要有不同的要求,中臺產(chǎn)品一定要保留力量始終去做一些基礎(chǔ)的、重要不緊急的事情。

就好像公司如果想要做得長久,除了在商業(yè)上的持續(xù)投入外,一定要保留足夠的人力來做基礎(chǔ)性的研究,近期華為的海思芯片和鴻蒙操作系統(tǒng)就是最好的例子。

我們在做中臺時,無論外部各個業(yè)務(wù)需求的壓力有多大,都應(yīng)該始終保持有一個小隊在做基礎(chǔ)組件和規(guī)范建設(shè)。比如在各套業(yè)務(wù)產(chǎn)品里的權(quán)限體系都還能跑、但某些功能始終無法完美支撐時,我們按照 RBAC 的方式進行一個新的角色權(quán)限系統(tǒng)的設(shè)計,并提供了數(shù)據(jù)遷移方法,也最后為新的業(yè)務(wù)模塊功能開發(fā)打下了基礎(chǔ)。

 中臺價值的量化

即使我們都認為一件事情是正確的,價值量化依然是最重要的事情之一。中臺是一個 ToB 服務(wù)本質(zhì)上是成本的節(jié)省和效率的提升,但由于中臺的客戶是內(nèi)部業(yè)務(wù)產(chǎn)品的程序員,這個價值的量化就變得比一個給銷售用的 CRM 系統(tǒng)要復(fù)雜了。

中臺是提供給多個業(yè)務(wù)服務(wù)的共享服務(wù),任意一個中臺服務(wù)都可以為業(yè)務(wù)節(jié)省成本,因此被越多的接入,整體節(jié)省的成本越大。同時由于每個業(yè)務(wù)在整個事業(yè)部里都有不同的優(yōu)先級,被高優(yōu)先級業(yè)務(wù)接入的中臺服務(wù),能夠產(chǎn)生的價值就更越大。這是符合直覺的,但如何去量化這樣的價值呢?提供以下的計算方法:

假設(shè):

各個業(yè)務(wù)在事業(yè)部的優(yōu)先級系數(shù) = a1、a2、a3....;

中臺服務(wù)被某一個業(yè)務(wù)接入后給業(yè)務(wù)節(jié)省的成本(人天) = 業(yè)務(wù)自研此服務(wù)的成本 + 業(yè)務(wù)自己運維 - 業(yè)務(wù)產(chǎn)品接入中臺服務(wù)的成本。

可以推導(dǎo)出每個服務(wù)開發(fā)出來后對整個部門節(jié)省的成本是:

總體成本節(jié)省 = (a1*業(yè)務(wù) 1 節(jié)省 + a2*業(yè)務(wù) 2 節(jié)省 + ...)- 中臺開發(fā)成本 - 數(shù)據(jù)遷移(適配層開發(fā)))- 中臺運維。

由于中臺團隊要同時面對多個業(yè)務(wù)的需求,根據(jù)以上公式,我們也可以得出一些判斷需求優(yōu)先級的基本規(guī)則:

部門戰(zhàn)略,也就是業(yè)務(wù)的優(yōu)先級的系數(shù)。顯然來自戰(zhàn)略級業(yè)務(wù)的需求優(yōu)先級是高于其他普通業(yè)務(wù)的;

需求靠譜程度。這里面包括兩個層次:

是否是核心的需求?是否是偽需求?

提出需求的業(yè)務(wù)是否靠譜?是否可能很快就被干掉了?

與中臺自身目標(biāo)的契合程度。這也很好理解:中臺不是業(yè)務(wù)的外包團隊,中臺需要有自己的思想和規(guī)劃。

需要說明的是,雖然有了這樣的計算公式,但我們在實際工作中并沒有直接去量化每一個功能。主要原因在于教育中臺正式立項一年的過程中,團隊一直在探索中臺設(shè)計的套路,比如如何才能較好的滿足需求,快速的被接入,并且在運維層面對業(yè)務(wù)做到無感知。只有在搞清楚這些討論之后,中臺服務(wù)才有可能會對節(jié)省成本有明顯的幫助。因此量化只是少數(shù)幾個團隊核心成員做規(guī)劃時的參考,而沒有直接做為產(chǎn)生的價值而公布出來。

青山綠水,江湖再見

從教育中臺組的解散到今天,已經(jīng)過去差不多五個月了。在寫此文時回憶起中臺這一年,感慨萬千。

感謝兩位主管 Sunner 和 Genify,Sunner 作為中臺業(yè)務(wù)負責(zé)人和產(chǎn)品架構(gòu)師,親手搭建了整個教育中臺的底層基礎(chǔ)和業(yè)務(wù)抽象,包括「愛多思」在內(nèi)的很多特有的名字都是他取的。他是我直接的老師,他對愛多思能夠成功的信念、是我在多次迷惑中能堅持到最后的最主要原因。Genify 是研發(fā)負責(zé)人和技術(shù)架構(gòu)師,從抽象的業(yè)務(wù)模型到實際可執(zhí)行的技術(shù)方案,再到技術(shù)規(guī)范的形成,中間依然需要有一條靠經(jīng)驗和想象力來架設(shè)的橋梁,而他就是這座橋梁。

感謝一起戰(zhàn)斗過的和沒來得及深入合作的同事,這些思考和追憶屬于我們每一個人。

感謝部門老大,沒有他的支持,中臺根本不可能立項。

青山不改,綠水長流,他日江湖再見,自當(dāng)把酒言歡,就此別過。

作者介紹

何少甫,網(wǎng)易有道中國大學(xué) MOOC 資深產(chǎn)品經(jīng)理,所關(guān)注領(lǐng)域主要為在線教育和企業(yè)服務(wù)。

(標(biāo)題有修改)

1、本文是 芥末堆網(wǎng)轉(zhuǎn)載文章,原文:我的一年中臺實戰(zhàn)錄:都在談中臺,究竟什么是中臺?;
2、芥末堆不接受通過公關(guān)費、車馬費等任何形式發(fā)布失實文章,只呈現(xiàn)有價值的內(nèi)容給讀者;
3、如果你也從事教育,并希望被芥末堆報道,請您 填寫信息告訴我們。
來源:我的一年中臺實戰(zhàn)錄:都在談中臺,究竟什么是中臺?
芥末堆商務(wù)合作:王老師 18710003484
  • 我的一年中臺實戰(zhàn)錄分享二維碼