關(guān)于產(chǎn)品架構(gòu)設(shè)計(jì)方法與核心設(shè)計(jì)原則,你需要知道這些

5 評(píng)論 13175 瀏覽 98 收藏 15 分鐘

編輯導(dǎo)讀:產(chǎn)品架構(gòu)是對(duì)商業(yè)模式中核心業(yè)務(wù)場(chǎng)景的抽象,是整個(gè)產(chǎn)品的“骨架”,體現(xiàn)了商業(yè)模式的運(yùn)作和實(shí)現(xiàn)方式。而對(duì)產(chǎn)品架構(gòu)的設(shè)計(jì)是通過(guò)業(yè)務(wù)規(guī)則來(lái)建立產(chǎn)品的內(nèi)在邏輯,是產(chǎn)品工作中重要的一環(huán)。本文作者根據(jù)自身工作經(jīng)驗(yàn),分享了一些產(chǎn)品架構(gòu)設(shè)計(jì)方法與核心設(shè)計(jì)原則,希望對(duì)你有幫助。

一、什么是產(chǎn)品架構(gòu)

產(chǎn)品架構(gòu)是對(duì)商業(yè)模式中核心業(yè)務(wù)場(chǎng)景的抽象,體現(xiàn)了商業(yè)模式的運(yùn)作和實(shí)現(xiàn)方式,產(chǎn)品架構(gòu)設(shè)計(jì)是抽象業(yè)務(wù)場(chǎng)景,通過(guò)業(yè)務(wù)規(guī)則建立產(chǎn)品內(nèi)在邏輯的過(guò)程。

二、以X產(chǎn)品為例介紹產(chǎn)品架構(gòu)分層

如下圖所示,首先對(duì)X產(chǎn)品做一個(gè)背景介紹,現(xiàn)在要設(shè)計(jì)一個(gè)電商平臺(tái)X,目前只支持自營(yíng)業(yè)務(wù),而且一部分系統(tǒng)已存在(支撐后臺(tái)及其服務(wù))。

圖中總共包含4部分: 應(yīng)用層、服務(wù)層、技術(shù)架構(gòu)層、支撐后臺(tái)。其中,產(chǎn)品架構(gòu)主要涉及的是應(yīng)用層、服務(wù)層、支撐后臺(tái),技術(shù)架構(gòu)層是一個(gè)簡(jiǎn)化的技術(shù)架構(gòu),添加其目的是為了展示一個(gè)全景,讓大家了解一下與產(chǎn)品架構(gòu)與技術(shù)架構(gòu)的關(guān)系。

應(yīng)用層和服務(wù)層體現(xiàn)了“小前臺(tái)、大中臺(tái)”的戰(zhàn)略思想,是產(chǎn)品架構(gòu)的核心。當(dāng)然,并不是說(shuō)沒(méi)有中臺(tái)就沒(méi)有產(chǎn)品架構(gòu),只是這是當(dāng)前主流的產(chǎn)品架構(gòu)。如果沒(méi)有中臺(tái),服務(wù)層就是單純的API,就需要把這部分的服務(wù)能力提到應(yīng)用層里,在此不做介紹。

產(chǎn)品架構(gòu)與技術(shù)架構(gòu)層的關(guān)系:

應(yīng)用層、服務(wù)層、邏輯層、數(shù)據(jù)層,4層體現(xiàn)了技術(shù)上MVC框架的設(shè)計(jì)思想,是一個(gè)邏輯遞進(jìn)關(guān)系,越往底層走越偏向技術(shù)實(shí)現(xiàn)。

技術(shù)架構(gòu)可以劃分的很細(xì),在此不做詳細(xì)說(shuō)明,主要介紹技術(shù)實(shí)現(xiàn)原理:應(yīng)用層通過(guò)一次用戶(hù)操作獲取數(shù)據(jù),然后通過(guò)服務(wù)層把數(shù)據(jù)傳輸?shù)竭壿媽樱壿媽油ㄟ^(guò)代碼實(shí)現(xiàn)的規(guī)則對(duì)數(shù)據(jù)層數(shù)據(jù)進(jìn)行處理,處理完之后再反向通知到應(yīng)用層,反饋給用戶(hù),這樣也就實(shí)現(xiàn)了一次用戶(hù)交互。

三、詳細(xì)介紹X產(chǎn)品的產(chǎn)品架構(gòu)組成

先解釋下“應(yīng)用層(小前臺(tái))”和“服務(wù)層(大中臺(tái))”中“大小”的意思,“小前臺(tái)”其實(shí)并不是真的小,只是相對(duì)中臺(tái)小而已,因?yàn)橹信_(tái)包含的服務(wù)特別多(如果不理解服務(wù)的意思,可以把“服務(wù)”改成“能力”),承載的業(yè)務(wù)也豐富,而不同前臺(tái)產(chǎn)品都是有不同定位的,可能一個(gè)中臺(tái)服務(wù)于十幾甚至幾十個(gè)產(chǎn)品,所以就是小前臺(tái)、大中臺(tái)。

那么前臺(tái)到底是什么?大家應(yīng)該對(duì)阿里中臺(tái)戰(zhàn)略有所了解,如果用阿里的產(chǎn)品矩陣來(lái)距離的話,就包含了天貓、淘寶、菜鳥(niǎo)物流、1688等等,但是這部分只是面向前臺(tái)用戶(hù)的產(chǎn)品,其實(shí)還有對(duì)應(yīng)產(chǎn)品的后臺(tái),可能面向各類(lèi)商家,也可能面向內(nèi)部管理,這些后臺(tái)對(duì)中臺(tái)來(lái)說(shuō)也都是前臺(tái)。說(shuō)白了,只要是由中臺(tái)提供服務(wù)的產(chǎn)品或系統(tǒng),對(duì)中臺(tái)來(lái)說(shuō)都是它的前臺(tái)。

這里存在一個(gè)誤區(qū),就是很多人認(rèn)為中臺(tái)在前臺(tái)和后臺(tái)之間,那就要分清“后臺(tái)”到底是名字上有“后臺(tái)”,實(shí)際是一個(gè)由中臺(tái)提供服務(wù)的前臺(tái),還是產(chǎn)品線上用于支撐該產(chǎn)品的后臺(tái)產(chǎn)品。這也就是為什么“平臺(tái)后臺(tái)”會(huì)出現(xiàn)在“小前臺(tái)”的原因了。

應(yīng)用層包含了各種各樣的前臺(tái),不同形態(tài)的產(chǎn)品,可能是App端、Web/PC端、H5、小程序,這些不同形態(tài)的產(chǎn)品可能面向2C也可能面向2B。

服務(wù)層主要包含兩部分:基礎(chǔ)服務(wù)(或者叫內(nèi)部服務(wù))和外部服務(wù)。

基礎(chǔ)服務(wù)就是要完成X產(chǎn)品需要設(shè)計(jì)的服務(wù),外部服務(wù)就是已經(jīng)存在于其他產(chǎn)品,可以直接使用的服務(wù)(該圖的內(nèi)外服務(wù)不代表實(shí)際設(shè)計(jì)時(shí)的劃分,要根據(jù)實(shí)際情況劃分,數(shù)據(jù)中臺(tái)也不是必須的,在這里占了個(gè)坑)。

服務(wù)中心提供的基礎(chǔ)服務(wù)可以單獨(dú)對(duì)應(yīng)用層提供服務(wù),也可以跟外部服務(wù)進(jìn)行組合,形成一個(gè)新的服務(wù),對(duì)應(yīng)用層提供服務(wù)。

對(duì)服務(wù)本身的設(shè)計(jì)不屬于產(chǎn)品設(shè)計(jì)范疇,但是為了能夠理解產(chǎn)品內(nèi)在的邏輯,都要對(duì)服務(wù)有所了解,這是中后臺(tái)產(chǎn)品經(jīng)理的核心能力之一,我會(huì)在后面做簡(jiǎn)單介紹。

支撐后臺(tái)分為兩部分:可直接提供外部服務(wù)的后臺(tái)系統(tǒng)和支撐X產(chǎn)品數(shù)據(jù)流轉(zhuǎn)的后臺(tái)系統(tǒng)。

在此解釋兩個(gè)概念:

  • 服務(wù)產(chǎn)品化:當(dāng)服務(wù)層的能力越來(lái)越強(qiáng)時(shí),就可以把不同的服務(wù)組合,打包成一個(gè)新的產(chǎn)品提供給愿意為其買(mǎi)單的用戶(hù)。圖中CRM就是服務(wù)產(chǎn)品化的結(jié)果。
  • 產(chǎn)品服務(wù)化:當(dāng)自身的產(chǎn)品做到極致,而且很多其他企業(yè)也想要擁有這種能力時(shí),就需要把自身的能力開(kāi)放出去,然后就出現(xiàn)了“開(kāi)放平臺(tái)”,這是一個(gè)典型的開(kāi)放能力的產(chǎn)品。在開(kāi)放平臺(tái)里,有企業(yè)內(nèi)各種各樣的產(chǎn)品能力,其他企業(yè)可以通過(guò)對(duì)應(yīng)的API獲取到對(duì)應(yīng)的能力,比如支付、地圖,這就是把支付產(chǎn)品和地圖產(chǎn)品服務(wù)化了。

四、產(chǎn)品架構(gòu)設(shè)計(jì)方法

X產(chǎn)品的產(chǎn)品架構(gòu)圖可以簡(jiǎn)化成下面這樣(服務(wù)中心內(nèi)的內(nèi)容體現(xiàn)了其可支撐的業(yè)務(wù)能力,在畫(huà)整體架構(gòu)圖時(shí)可以簡(jiǎn)化掉):

根據(jù)上圖來(lái)分析產(chǎn)品架構(gòu)的設(shè)計(jì)方法(以下為一步步細(xì)化的過(guò)程):

1)確定當(dāng)前產(chǎn)品與其他產(chǎn)品的關(guān)系

該產(chǎn)品與哪些前臺(tái)產(chǎn)品有關(guān)系?是否涉及到建設(shè)中臺(tái)服務(wù)?哪些服務(wù)是可以直接用的?哪些是需要新建的?數(shù)據(jù)是否流轉(zhuǎn)到其他系統(tǒng)?

也就是把三層涉及的產(chǎn)品關(guān)系梳理出來(lái)

2)梳理涉及的業(yè)務(wù)場(chǎng)景與功能模塊

分析產(chǎn)品在各個(gè)業(yè)務(wù)場(chǎng)景下需要什么功能支撐,此處不需要像做前臺(tái)產(chǎn)品詳細(xì)設(shè)計(jì)時(shí)分析的那么細(xì)致。

3)抽象化服務(wù)中心的邊界,確認(rèn)其可提供的業(yè)務(wù)能力

根據(jù)第二步中涉及的實(shí)際業(yè)務(wù)劃分服務(wù)中心(也有稱(chēng)呼叫“子系統(tǒng)”或“服務(wù)領(lǐng)域”之類(lèi)的),并把能提供的核心業(yè)務(wù)能力填充到服務(wù)中心(劃分的原則后面介紹)。

4)將業(yè)務(wù)能力抽象出業(yè)務(wù)實(shí)體,轉(zhuǎn)化為支持前臺(tái)功能的服務(wù)

其實(shí)把前三步梳理清楚,整體的產(chǎn)品架構(gòu)也就出來(lái)了,這一步主要是為了詳細(xì)設(shè)計(jì)單個(gè)服務(wù)中心內(nèi)部的架構(gòu),這一步既體現(xiàn)出了你對(duì)業(yè)務(wù)的理解力,也體現(xiàn)出了你對(duì)產(chǎn)品真正的設(shè)計(jì)能力。

以下以促銷(xiāo)中心為例做分析:

先把各種方式的促銷(xiāo)業(yè)務(wù)流程畫(huà)出來(lái),如下圖所示,可以看出,前五種促銷(xiāo)的整體流程都是一致的,只是促銷(xiāo)的方式和條件不同。而優(yōu)惠券卻跟促銷(xiāo)不同,而且流程上并不兼容,所以促銷(xiāo)中心抽象出兩個(gè)業(yè)務(wù)實(shí)體:促銷(xiāo)活動(dòng)、優(yōu)惠券。

有了實(shí)體以后,最標(biāo)準(zhǔn)的基礎(chǔ)服務(wù)就是對(duì)實(shí)體的“增刪改查”,以下為促銷(xiāo)中心的產(chǎn)品架構(gòu)圖(包含了跟其他服務(wù)中心的服務(wù)關(guān)系) ,如下圖所示,什么“滿減、滿贈(zèng)、立減”已經(jīng)消失了。

通過(guò)這幾步細(xì)化下來(lái),也就對(duì)服務(wù)與服務(wù)的關(guān)系,服務(wù)與產(chǎn)品的關(guān)系比較明確了。這樣在做產(chǎn)品設(shè)計(jì)時(shí),根據(jù)實(shí)際的業(yè)務(wù)設(shè)計(jì)前臺(tái)功能就行了,端到端考慮每個(gè)產(chǎn)品應(yīng)該如何設(shè)計(jì)。

五、因產(chǎn)品增加導(dǎo)致架構(gòu)變化示例

按上面的思路來(lái)分析,現(xiàn)在X要支持其他商家入駐到平臺(tái)銷(xiāo)售商品,而且要做一個(gè)CRM產(chǎn)品,就形成了如圖所示的X產(chǎn)品體系的產(chǎn)品架構(gòu)圖:

通過(guò)圖中添加的綠色字體部分可以看出,因?yàn)闃I(yè)務(wù)范圍擴(kuò)大了,所以補(bǔ)充了對(duì)應(yīng)的商家中心,而且平臺(tái)后臺(tái)變成了商家后臺(tái),雖然新增了一個(gè)CRM,但是服務(wù)層并沒(méi)有變化。中臺(tái)在新的業(yè)務(wù)到來(lái)時(shí)在進(jìn)化(增加了商家中心),而在支撐一個(gè)新的產(chǎn)品時(shí)中臺(tái)卻可以不變,因?yàn)樵谡w架構(gòu)設(shè)計(jì)上中臺(tái)已經(jīng)支持了多前臺(tái),除非新的前臺(tái)有特殊需求,這就體現(xiàn)了“小前臺(tái)、大中臺(tái)”的靈活性。

在此,解釋另外一個(gè)概念:

SaaS(軟件即服務(wù)): X產(chǎn)品剛開(kāi)始用戶(hù)量很小,但用戶(hù)量大增后需要做一個(gè)新產(chǎn)品“CRM”用于管理用戶(hù)。如果這個(gè)CRM是給平臺(tái)管理全部2C用戶(hù)的產(chǎn)品,就是一個(gè)平臺(tái)級(jí)“CRM”,如果這個(gè)CRM是給所有2B客戶(hù)單獨(dú)管理自己的2C用戶(hù),那么這就是一個(gè)“SaaS CRM”。SaaS的關(guān)鍵特點(diǎn)是數(shù)據(jù)隔離,雖然各個(gè)商家用的同一個(gè)產(chǎn)品,但是不同商家的數(shù)據(jù)不共享。釘釘、企業(yè)微信都是典型的SaaS產(chǎn)品。

六、服務(wù)劃分和核心設(shè)計(jì)原則

最后回顧一下整體架構(gòu)圖,來(lái)看一下服務(wù)的劃分和設(shè)計(jì)原則:

1)服務(wù)重在定邊界,遵循高內(nèi)聚、低耦合原則

高內(nèi)聚是從服務(wù)中心的業(yè)務(wù)來(lái)說(shuō)的,在一個(gè)服務(wù)中心內(nèi)的業(yè)務(wù)應(yīng)該是相關(guān)性和依賴(lài)性很高的;而服務(wù)中心之間應(yīng)該是業(yè)務(wù)隔離性比較大的,即追求盡可能的低耦合。

2)服務(wù)抽象化,盡量通用

抽象是從眾多的事物中抽取出共同的、本質(zhì)性的特征,而舍棄其非本質(zhì)的特征的過(guò)程。將業(yè)務(wù)能力轉(zhuǎn)化成對(duì)應(yīng)的業(yè)務(wù)實(shí)體就是抽象的過(guò)程,即對(duì)相同或相似的業(yè)務(wù)能力提取出共性的特征,抽象出可以提供給不同前臺(tái)的公共服務(wù),盡量做到服務(wù)通用,個(gè)性化需求由不同的前臺(tái)實(shí)現(xiàn)。

3)可擴(kuò)展性

在服務(wù)的設(shè)計(jì)時(shí)不能只滿足當(dāng)前業(yè)務(wù)需求,還要考慮服務(wù)對(duì)未來(lái)業(yè)務(wù)的支撐,這樣可以減少未來(lái)對(duì)服務(wù)的修改。比如說(shuō)對(duì)商品品類(lèi)層級(jí)的設(shè)計(jì),理論上來(lái)說(shuō)可以無(wú)限層級(jí)擴(kuò)展,但是考慮到前臺(tái)的易用性和實(shí)際應(yīng)用,不會(huì)設(shè)計(jì)很多層級(jí)也不會(huì)只有一層,而三級(jí)就能滿足絕大部分業(yè)務(wù)場(chǎng)景了。所以在設(shè)計(jì)時(shí)也要注意另外一個(gè)原則:不過(guò)度設(shè)計(jì)。

4)可復(fù)用性

即服務(wù)可以多次重復(fù)使用,服務(wù)的抽象化程度高,可復(fù)用性也會(huì)越強(qiáng)。在支撐新的業(yè)務(wù)能力時(shí),優(yōu)先看是否存在可以復(fù)用的服務(wù),如果沒(méi)有,再考慮現(xiàn)有服務(wù)是否可以通過(guò)改造(再次抽象服務(wù)或擴(kuò)展服務(wù)能力)達(dá)到這一目標(biāo),最后才考慮設(shè)計(jì)新的服務(wù)。

5)漸進(jìn)性建設(shè)

漸進(jìn)性的建設(shè)原則是從降低風(fēng)險(xiǎn)和實(shí)施難度這個(gè)角度出發(fā),推薦小步快跑的方式逐步推進(jìn),而不是轟轟烈烈地推翻重來(lái),試錯(cuò)的成本更低。

 

本文由 @Zurl 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)允許,禁止轉(zhuǎn)載

題圖來(lái)自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 后半部分寫(xiě)的很不錯(cuò),我的產(chǎn)品架構(gòu)方法論要更新了

    來(lái)自江蘇 回復(fù)
  2. 這個(gè)圖用什么工具畫(huà)的呢?

    回復(fù)
    1. PPT…

      來(lái)自香港 回復(fù)
  3. 如果用阿里的產(chǎn)品矩陣來(lái)“距離”(舉例)的話

    來(lái)自美國(guó) 回復(fù)
    1. 優(yōu)秀…給你點(diǎn)贊

      來(lái)自北京 回復(fù)