我的產(chǎn)品架構(gòu)觀:模塊化,高內(nèi)聚低耦合
編輯導(dǎo)語(yǔ):我們?cè)谡務(wù)摦a(chǎn)品結(jié)構(gòu)時(shí),一般會(huì)從哪些角度來(lái)探討這個(gè)問(wèn)題?其實(shí)從不同的視角看問(wèn)題會(huì)設(shè)計(jì)出不同的產(chǎn)品架構(gòu)。作者從模塊化、高內(nèi)聚低耦合幾個(gè)方面談?wù)撟约旱漠a(chǎn)品結(jié)構(gòu)觀,希望與你一同共勉。
當(dāng)我們討論一個(gè)產(chǎn)品架構(gòu)的時(shí)候,我們既不是站在用戶的視角去討論這個(gè)問(wèn)題,也不是站在老板的視角去思考商業(yè)模式,而僅僅是從一個(gè)工程師的角度,去討論這個(gè)產(chǎn)品應(yīng)該以怎樣的結(jié)構(gòu)去搭建,這是我之前很少思考過(guò)的命題。
從用戶視角看過(guò)去,這個(gè)產(chǎn)品是上線的,且這些產(chǎn)品信息是特地展示給用戶的,而與之伴隨的過(guò)程和后臺(tái)信息,用戶看不到。
從老板視角看過(guò)去,這個(gè)產(chǎn)品服從于某個(gè)戰(zhàn)略,身上貼著兩個(gè)標(biāo)簽:成本和收益。
而從工程師的視角看過(guò)去,這是一個(gè)系統(tǒng)。這個(gè)系統(tǒng)如何從圖紙到地基到高樓大廈,都是這個(gè)系統(tǒng)演化過(guò)程中的信息。
工程師固然要作為用戶去體驗(yàn)、要作為員工去思考成本和收益,但工程師的最大滿足,在我看來(lái),就是以一種高效和科學(xué)的方式,管理整個(gè)流程。流程管好了,和你配合的團(tuán)隊(duì)才算是管好了。
我以前沒(méi)有去認(rèn)真思考過(guò)產(chǎn)品架構(gòu)的問(wèn)題,一方面是因?yàn)槲易龅暮芏喈a(chǎn)品都不需要從0到1,絕大多數(shù)都是對(duì)現(xiàn)有的產(chǎn)品做優(yōu)化,而優(yōu)化的目標(biāo),要么是優(yōu)化用戶體驗(yàn),要么是改善成本和收益。
但在具體執(zhí)行的過(guò)程中,總是會(huì)出現(xiàn)研發(fā)過(guò)程的磨損。而這種磨損,往往對(duì)團(tuán)隊(duì)士氣是一種巨大的傷害,如果需求成功了,勝利會(huì)掩蓋一切矛盾,但如果失敗了,怨氣會(huì)在心里慢慢累積。
曾經(jīng)我以為這種研發(fā)過(guò)程的磨損,是項(xiàng)目管理上的問(wèn)題,能通過(guò)更好的過(guò)程管理來(lái)減少磨損,抑或是通過(guò)更好的溝通技巧來(lái)解決。
但我漸漸覺(jué)得,我似乎忽略了產(chǎn)品架構(gòu)設(shè)計(jì)對(duì)研發(fā)過(guò)程的影響。
如果一個(gè)結(jié)構(gòu)本身不合理,可能就會(huì)注定產(chǎn)品方案設(shè)計(jì)和技術(shù)方案設(shè)計(jì)之間,會(huì)產(chǎn)生更多的偏差和磨合,自然而然就反饋到了研發(fā)過(guò)程中
為了讓你能更容易理解,我以最近負(fù)責(zé)的一個(gè)講書(shū)會(huì)員產(chǎn)品的搭建過(guò)程為例,來(lái)說(shuō)明我的產(chǎn)品架構(gòu)觀以及這種觀念對(duì)研發(fā)過(guò)程的影響。
市面上有很多講書(shū)會(huì)員產(chǎn)品,比如樊登讀書(shū):
從用戶視角來(lái)看,這個(gè)產(chǎn)品就是能夠讓我可以用聽(tīng)的方式去了解一本書(shū)的精華內(nèi)容和講書(shū)人對(duì)這本書(shū)的分析。
從老板視角來(lái)看,這個(gè)產(chǎn)品的成本包括版權(quán)、講書(shū)人簽約、產(chǎn)品研發(fā)運(yùn)營(yíng)成本等等,收益主要來(lái)源于用戶付費(fèi)買(mǎi)會(huì)員資格。
但從工程師的角度來(lái)說(shuō),理解用戶視角和老板視角,都沒(méi)有辦法直接幫助自己去開(kāi)始一個(gè)講書(shū)會(huì)員產(chǎn)品的設(shè)計(jì)。
產(chǎn)品經(jīng)理需要把這件事情,變成程序員可以看的懂的圖、表、原型、描述等,而程序員又進(jìn)一步以更專業(yè)的方式開(kāi)展任務(wù)設(shè)計(jì)、拆分,最終到一行行代碼。
最近我在操盤(pán)公司一個(gè)新的講書(shū)會(huì)員產(chǎn)品,與更經(jīng)典的講書(shū)產(chǎn)品相比,它是日更的形式,跟傳統(tǒng)日更形式的付費(fèi)專欄相比,它又是以書(shū)籍的形式呈現(xiàn)出來(lái)。
剛剛接手這個(gè)產(chǎn)品的設(shè)計(jì)工作時(shí),我就在想我的設(shè)計(jì)需要用一張圖就可以說(shuō)清楚,清晰的結(jié)構(gòu),在跨團(tuán)隊(duì)的溝通中會(huì)讓大家快速形成共識(shí),并且當(dāng)問(wèn)題出現(xiàn)時(shí),也能快速定位到問(wèn)題。
一、先聊聊模塊化
拋開(kāi)產(chǎn)品本身不談,我們所在的社會(huì)本身就是模塊化的。無(wú)論是由無(wú)數(shù)家庭組成的整個(gè)社會(huì),還是由多個(gè)部門(mén)組成的整個(gè)公司,都是模塊化的。
模塊背后是秩序,秩序背后是邏輯,產(chǎn)品是講邏輯的,故產(chǎn)品的背后一定是模塊化的。
對(duì)于一個(gè)講書(shū)會(huì)員產(chǎn)品來(lái)說(shuō),我將它劃分為如下幾個(gè)主要模塊:資源、商品、用戶、體驗(yàn)、營(yíng)銷、訂單。下面分別做說(shuō)明。
(1)資源
這是對(duì)內(nèi)容的管理。對(duì)于一個(gè)日更的講書(shū)產(chǎn)品來(lái)說(shuō),資源管理的主要目標(biāo)是節(jié)目和書(shū)籍。
- 節(jié)目是最小播放單位,即單次播放是建立在節(jié)目上的。
- 書(shū)籍是節(jié)目的組合,在資源上配以自己的包裝內(nèi)容,例如封面、介紹、標(biāo)題等。
基本上管理好書(shū)籍和節(jié)目,也就管理好了一個(gè)講書(shū)產(chǎn)品。
(2)商品
這是從內(nèi)容到商品的轉(zhuǎn)變。商品是可售賣(mài)的,具有交易價(jià)值,這是資源和商品最重要的區(qū)分。
如果一本書(shū)可以單獨(dú)售賣(mài),那這個(gè)書(shū)既是資源、又是商品,但對(duì)于一個(gè)會(huì)員產(chǎn)品來(lái)說(shuō),用戶買(mǎi)的是會(huì)員身份,這個(gè)身份的權(quán)益是可以暢聽(tīng)資源。
(3)用戶
C端產(chǎn)品直面用戶,用戶的管理是核心。
從C端產(chǎn)品的角度看,用戶模塊主要是對(duì)用戶基本信息的管理和操作。
但從講書(shū)會(huì)員產(chǎn)品的角度看,用戶模塊更重要的是對(duì)用戶會(huì)期的管理和操作,在會(huì)期的管理上,我認(rèn)為可跟庫(kù)存產(chǎn)品對(duì)應(yīng)來(lái)看,用進(jìn)銷存的概念,去理解會(huì)期的新增、消耗和現(xiàn)值。
(4)體驗(yàn)
這是用戶所能感受到的全部。還記得我們前面說(shuō)的,從用戶視角看產(chǎn)品呢,其實(shí)看的就是對(duì)應(yīng)產(chǎn)品系統(tǒng)內(nèi)的體驗(yàn)?zāi)K。
對(duì)體驗(yàn)的進(jìn)一步拆分,我會(huì)劃分為“功能、頁(yè)面、端”三條線。
- 講書(shū)產(chǎn)品的功能體驗(yàn)包括播放、互動(dòng)、行為沉淀等;
- 頁(yè)面包括產(chǎn)品首頁(yè)、會(huì)員付費(fèi)頁(yè)、書(shū)籍詳情頁(yè)和節(jié)目詳情頁(yè);
- 端則主要是客戶端、web端、pc端、ipad端等。
(5)營(yíng)銷
這是從商業(yè)層面出發(fā)的模塊,營(yíng)銷的目標(biāo)是為了擴(kuò)大品牌知名度,促成交易。講書(shū)會(huì)員產(chǎn)品常見(jiàn)的營(yíng)銷方式有:優(yōu)惠券、禮品卡、免費(fèi)會(huì)期、組合銷售等。
(6)訂單
這是極其非常重要的一個(gè)模塊,怎么下功夫都不為過(guò)。
本質(zhì)上訂單就是一個(gè)記錄,在用戶付費(fèi)購(gòu)買(mǎi)會(huì)員的那一刻,這個(gè)記錄就生成了。
為什么說(shuō)它很重要呢,因?yàn)橛唵问歉X(qián)關(guān)系最大的一個(gè)模塊,訂單不準(zhǔn),業(yè)務(wù)基本就廢了。就好像你開(kāi)一家實(shí)體店,裝修、進(jìn)貨、陳列、動(dòng)線,你說(shuō)重要么,重要的,但是如果賬管不好,基本這家店存活不了多久。
講完這么多,你一定有疑問(wèn),為什么是這么幾個(gè)模塊?
二、再聊聊高內(nèi)聚和低耦合
我第一次聽(tīng)到這個(gè)概念,是我在學(xué)C語(yǔ)言的時(shí)候。對(duì)C語(yǔ)言來(lái)說(shuō),最重要的概念便是函數(shù)了。函數(shù)就是一個(gè)模塊,函數(shù)和函數(shù)之間可以互相引用,通過(guò)參數(shù)實(shí)現(xiàn)連接。
作為產(chǎn)品經(jīng)理,我跟技術(shù)打交道的第一堂課就是了解了前端和后端的區(qū)別。對(duì)于技術(shù)架構(gòu)來(lái)說(shuō),前端和后端是獨(dú)立的模塊,彼此通過(guò)接口產(chǎn)生連接。
高內(nèi)聚和低耦合,并不一定是最合理的模塊劃分原則,就像我們小時(shí)候做歸類題一樣,標(biāo)準(zhǔn)不同,歸類的結(jié)果也不一樣。
但是,高內(nèi)聚和低耦合是技術(shù)最友好的模塊劃分原則,我希望解決的是:減少產(chǎn)品方案和技術(shù)方案之間的偏差和磨合,先奠定一個(gè)合理的架構(gòu),再思考通過(guò)項(xiàng)目管理和非暴力溝通,來(lái)優(yōu)化整個(gè)產(chǎn)品研發(fā)過(guò)程的效率。
什么是高內(nèi)聚,我的理解是:?jiǎn)蝹€(gè)模塊是完整并且相似。如果這個(gè)模塊可繼續(xù)劃分為子模塊,那子模塊之前是相似的。
什么是低耦合,我的理解是:模塊與模塊之間通過(guò)類似“接口”這樣的概念產(chǎn)生連接,就像兩個(gè)島之間通過(guò)橋連接,而不是一個(gè)島和島上一個(gè)廣場(chǎng)的關(guān)系。
上面的話有點(diǎn)抽象,回到講書(shū)會(huì)員產(chǎn)品吧。
還記得么,資源包括節(jié)目和書(shū)籍,無(wú)論是哪一個(gè),他們都是一個(gè)內(nèi)容方向的概念,你絕對(duì)不會(huì)把節(jié)目和優(yōu)惠券放在一個(gè)模塊內(nèi),因?yàn)樗麄儙缀鯚o(wú)相似度,聚合度很差。
再者,商品和資源之間,通過(guò)一個(gè)配置項(xiàng)就可以解決。
當(dāng)然,具有會(huì)員身份的人可以暢聽(tīng)所有資源,這是一個(gè)業(yè)務(wù)規(guī)則,假使會(huì)員只能聽(tīng)其中的部分書(shū)籍,那在配置會(huì)員商品的時(shí)候,也只需要做添加書(shū)籍的配置就可以了。
另一方面,講書(shū)會(huì)員產(chǎn)品本身跟其他系統(tǒng)也是高內(nèi)聚和低耦合的關(guān)系,上面提到的優(yōu)惠券,一般是有現(xiàn)成的優(yōu)惠券系統(tǒng),而講書(shū)會(huì)員要可以使用優(yōu)惠券,只需要在優(yōu)惠券的配置上增加這個(gè)會(huì)員產(chǎn)品就可以了。
當(dāng)然,這也很考驗(yàn)優(yōu)惠券系統(tǒng)本身的擴(kuò)展性,這又是另一回事兒了。
三、為什么要寫(xiě)我的產(chǎn)品架構(gòu)觀
我經(jīng)常聽(tīng)很多人分享在大公司做螺絲釘?shù)捏w驗(yàn),其中最常聽(tīng)到的一句話就是,一個(gè)產(chǎn)品,無(wú)論誰(shuí)來(lái)做,最后總能做出來(lái)。
也就是說(shuō),很多時(shí)候我們太關(guān)注輸出和價(jià)值,但是對(duì)設(shè)計(jì)過(guò)程卻關(guān)注得不錯(cuò),但在我看來(lái)設(shè)計(jì)過(guò)程卻是極有魅力的,也非??简?yàn)產(chǎn)品基本功。
怎么跟大家說(shuō)這種感覺(jué)呢,我引用一段《三體》中的情節(jié)吧。
人類在未來(lái)的某個(gè)時(shí)刻,在太空的某個(gè)角落,意外的發(fā)現(xiàn)了四維空間碎片,某個(gè)宇航員意外的踏入了這個(gè)四維空間。
他說(shuō),那是一種有語(yǔ)言無(wú)法描述的感受,在四維空間里,一切三維世界中的物體都是透明的,這種透明是原子緯度的。
從三維到四維,這種信息的爆炸是如此之強(qiáng),以至于他們?cè)俅位氐饺S空間時(shí),都產(chǎn)生了空間幽閉感。因?yàn)槟莻€(gè)緯度的信息太豐富了,以至于眼前的世界像一方緊閉的高墻。
為什么要關(guān)注產(chǎn)品的設(shè)計(jì)過(guò)程中,又為什么要有自己的產(chǎn)品架構(gòu)觀呢,就是希望作為產(chǎn)品經(jīng)理,我看到的不再僅僅是用戶體驗(yàn)和商業(yè)價(jià)值,而是這個(gè)產(chǎn)品所走過(guò)的每一步,破除那方高墻,真正認(rèn)識(shí)你所負(fù)責(zé)的產(chǎn)品。
#專欄作家#
大力哥呀;微信公眾號(hào):大力哥求職,人人都是產(chǎn)品經(jīng)理專欄作家。正年輕的產(chǎn)品經(jīng)理,關(guān)注新零售、用戶體系,擅長(zhǎng)問(wèn)題抽象及拆解。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
一圖勝千言,全文只有一張配圖,還是多放幾張圖吧??
作者段位很高