產(chǎn)品窺探:什么是產(chǎn)品的底層邏輯?

16 評論 52084 瀏覽 220 收藏 11 分鐘

產(chǎn)品的底層邏輯設(shè)計(jì)其核心在于,對數(shù)據(jù)和模塊的分割,以及服務(wù)能力的設(shè)計(jì)和調(diào)用關(guān)系的搭建。

先啰嗦一下

產(chǎn)品的底層邏輯,指的是一個產(chǎn)品對所支撐的業(yè)務(wù)過程的抽象,是一個產(chǎn)品從數(shù)據(jù)維度對功能模塊的分割。

各模塊接收的外部數(shù)據(jù)(比如用戶通過頁面輸入的、作為被調(diào)用模塊從其他模塊接收的等等),維護(hù)的內(nèi)部數(shù)據(jù)(比如訂單模塊內(nèi)部維護(hù)的:訂單ID、訂單狀態(tài)、交易雙方ID即用戶的索引值、訂單時間、金額等等)和該模塊提供能的服務(wù)能力(依然用訂單模塊的例子,該模塊可提供各內(nèi)部數(shù)據(jù)的查詢服務(wù)、由外部觸發(fā)的更新訂單狀態(tài)的服務(wù)等等),將上述的服務(wù)能力,以模塊之間的調(diào)用關(guān)系結(jié)合起來,形成了一個產(chǎn)品支撐的各種功能的實(shí)現(xiàn)過程。

無論是直接面向C端用戶的產(chǎn)品(比如社交、媒體等等),還是一個To B的應(yīng)用(第三方支付、企業(yè)CRM、),甚至是一個產(chǎn)品體系中的分支,都包含了一個自有的底層邏輯,通過數(shù)據(jù)接口相互關(guān)聯(lián)。廣義范圍內(nèi)來看,個人認(rèn)為,To B的產(chǎn)品底層邏輯相對To C的產(chǎn)品,數(shù)據(jù)結(jié)構(gòu)與調(diào)用關(guān)系普遍更為復(fù)雜且到達(dá)前端的路徑更長。而C端產(chǎn)品,往往更關(guān)注前端交互,底層邏輯單薄,這也就是為什么,C端產(chǎn)品甚至只憑一個交互稿就可以完成與開發(fā)團(tuán)隊(duì)確認(rèn)需求的溝通(當(dāng)然這也沒什么錯,畢竟這只是溝通的手段)。但一個B端的產(chǎn)品經(jīng)理,如果只輸出原型,就請?jiān)谠u審會上注意人身安全,程序員爸爸們大概是不會甘愿從寥寥的原型批注上理解錯綜復(fù)雜的數(shù)據(jù)遷移和訂正邏輯的。

以下,是作為一個從To C向To B的業(yè)務(wù)轉(zhuǎn)型的產(chǎn)品經(jīng)理關(guān)于產(chǎn)品底層邏輯的一些經(jīng)驗(yàn),整理出來供諸君參考。

下面說正事

我們先來看節(jié)選自一個PRD的部分目錄結(jié)構(gòu):

1.模塊分解

2.模塊名稱:

2.1模塊功能描述

2.2模塊定義數(shù)據(jù)

2.3服務(wù)能力

2.3.1服務(wù)名稱

2.3.2服務(wù)業(yè)務(wù)含義描述

2.3.3適用場景

2.3.4前置要求與能力觸發(fā)機(jī)制

2.3.5數(shù)據(jù)及數(shù)據(jù)有效性要求

2.3.5.1外部數(shù)據(jù)

2.3.5.2內(nèi)部數(shù)據(jù)

2.3.6處理過程描述

2.3.7調(diào)用后續(xù)模塊

2.3.8數(shù)據(jù)輸出

2.3.9異常情況以及處理

上述目錄傳達(dá)了幾個概念:模塊、服務(wù)、數(shù)據(jù)

模塊:

模塊定義了以業(yè)務(wù)含義高度關(guān)聯(lián)的核心數(shù)據(jù)范圍,以及該數(shù)據(jù)范圍內(nèi)可能發(fā)生的處理過程,也就是服務(wù)能力。

比如,一個企業(yè)賬號信息模塊,包含了該賬號ID(即系統(tǒng)賦予此賬號的索引值)、企業(yè)名稱、賬號類型、角色標(biāo)識(與角色權(quán)限關(guān)聯(lián))、相關(guān)的注冊信息(聯(lián)系方式、地址、規(guī)模等等)、相關(guān)的系統(tǒng)行為信息(登錄歷史、操作歷史等等)。在上述前提下,在核心數(shù)據(jù)范圍的設(shè)計(jì)策略上,普遍遵循模塊間解耦的原則,也就是模塊之間維護(hù)的核心數(shù)據(jù)保持獨(dú)立和隔離,避免重復(fù)存儲和間接查詢。

服務(wù):

服務(wù)定義了以某個模塊維護(hù)的核心數(shù)據(jù)為基礎(chǔ),發(fā)生的初始化、查詢、刪除等等處理過程,可能存在相應(yīng)的外部數(shù)據(jù)輸入和內(nèi)部數(shù)據(jù),以及經(jīng)過服務(wù)處理過程的數(shù)據(jù)輸出。依然以企業(yè)賬號信息模塊為例,該模塊提供的服務(wù)可能包含,初始化服務(wù)(即創(chuàng)建某個新的企業(yè)賬號,也就是由用戶注冊行為觸發(fā)的底層數(shù)據(jù)行為)、對某個字段數(shù)據(jù)的查詢服務(wù)(通過外部輸入的索引值查詢該賬號的相關(guān)信息并給出輸出)、修改某個字段數(shù)據(jù)的服務(wù)(也可能存在不可修改的數(shù)據(jù),例如賬號ID)、刪除服務(wù)、更新賬號狀態(tài)服務(wù)、更新操作歷史服務(wù),以及可能存在的其他服務(wù)。服務(wù)的設(shè)計(jì)依賴對產(chǎn)品所支撐的業(yè)務(wù)過程的抽象,即該業(yè)務(wù)流中所包含的數(shù)據(jù),以及數(shù)據(jù)是以何種形式被輸入和被加工并輸出的。

數(shù)據(jù):

這里通過一個簡單的功能來闡述,某個社交類產(chǎn)品里面,存在一個加好友的功能,并且用戶可以自由定義是否允許我的好友瀏覽我的朋友圈。下面我們分析一下,這個看起來很簡單的功能所涉及到的數(shù)據(jù)。

首先,區(qū)分用戶的賬號類型,比如我們通常使用的個人微信號很明顯屬于同一類型的數(shù)據(jù)結(jié)構(gòu),且注冊方式、登錄方式、驗(yàn)證方式相同,微信公眾號的賬號體系卻有所區(qū)別(同時存在關(guān)聯(lián),這里暫時不討論復(fù)雜的情況)。在這樣的前提下,我們可以認(rèn)為發(fā)起好友申請的賬號和通過該申請的賬號屬于同一個模塊中維護(hù)的同一種類型的數(shù)據(jù),這里暫時命名為賬號信息模塊。同時,每個賬號都有一個與之關(guān)聯(lián)的好友列表,這里暫時命名為好友模塊。這兩個模塊中維護(hù)的部分核心數(shù)據(jù)見下圖:

通過對模塊的分解和對核心數(shù)據(jù)的定義,添加好友這個功能,我們可以將底層邏輯解析為:

1.查詢賬號信息服務(wù)

即通過登錄狀態(tài)的賬號ID(理解為該服務(wù)的外部輸入),查詢至關(guān)聯(lián)的好友列表ID,并輸出。該賬號的好友,也是通過調(diào)用該服務(wù),查詢關(guān)于賬號的其他信息(可能包括昵稱、性別、年齡等等)。

2.查詢好友信息服務(wù)

通過前述服務(wù)輸出的好友列表ID(索引值),查詢至關(guān)聯(lián)的好友信息,并輸出該模塊部分核心數(shù)據(jù):好友的賬號ID和是否允許其瀏覽朋友圈(布爾值)。

3.初始化好友信息服務(wù)

即通過外部輸入的賬號ID,是否允許其瀏覽朋友圈(通過用戶的設(shè)置),新建該賬號關(guān)聯(lián)的好友列表中的一條數(shù)據(jù)并保存。

4.更新設(shè)置服務(wù)

在該權(quán)限允許修改的前提下,即更新“是否允許瀏覽朋友圈”這個數(shù)據(jù),更改對某一個好友對該賬號的朋友圈的瀏覽權(quán)限。

通過上述幾個服務(wù)的設(shè)計(jì)和互為輸入輸出的調(diào)用,方可實(shí)現(xiàn)所謂的“加好友和屏蔽朋友圈”這個簡單的功能。且此處討論的是最簡單的情況,賬號類型唯一,好友申請不需要通過,僅有一個權(quán)限設(shè)置,考慮到實(shí)際設(shè)計(jì)過程中會出現(xiàn)更為復(fù)雜的情況,比如多種賬號類型的關(guān)系,是否采用雙向的好友關(guān)系,亦或是類似“關(guān)注”的單向關(guān)系,以及是否需要通過申請,是否存在多個權(quán)限設(shè)置,權(quán)限之間是否存在交叉關(guān)聯(lián)。則需要在上述模塊中設(shè)置更多的數(shù)據(jù)和服務(wù),以確保功能的正確實(shí)現(xiàn)。

我說完了

產(chǎn)品的底層邏輯設(shè)計(jì)其核心在于,對數(shù)據(jù)和模塊的分割,以及服務(wù)能力的設(shè)計(jì)和調(diào)用關(guān)系的搭建?;貧w到諸位作為設(shè)計(jì)者身上,考驗(yàn)的是產(chǎn)品經(jīng)理對業(yè)務(wù)的抽象能力,以及對定義數(shù)據(jù)的高度透視。個人理解其,作為對需求的描述方式,需要結(jié)合與底層邏輯高度一致的交互說明以及前端信息結(jié)構(gòu)才能夠?qū)φ麄€產(chǎn)品做出清晰的闡釋。

簡潔的界面并不能代表最優(yōu)秀的設(shè)計(jì),清晰高效的底層邏輯,代表了一個產(chǎn)品經(jīng)理對自己作品的終極思考和對細(xì)節(jié)的考究。如何規(guī)避產(chǎn)出冗余的數(shù)據(jù),交叉重復(fù)的服務(wù)能力,模塊分解的顆粒度選擇等等諸多細(xì)節(jié),都是1-3歲的產(chǎn)品經(jīng)理們趟著渾水一步一步摸索和積累,從而內(nèi)化為我們所謂的“邏輯能力”。

過去曾經(jīng)面試過很多產(chǎn)品方向的新同學(xué),往往大家都存在著覺得自己的邏輯能力還不錯的幻覺,個人的經(jīng)驗(yàn)是,邏輯能力也許是可以天生的,但更多還是需要在實(shí)踐中慢慢打磨。近日無事,再回頭看自己曾經(jīng)做過的設(shè)計(jì),老臉一紅,不知當(dāng)初何來的勇氣敢用這種東西打發(fā)程序員爸爸。

感嘆前路漫長,與君共勉。

 

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

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 又看了一遍這篇文章,簡單的說,產(chǎn)品經(jīng)理懂點(diǎn)技術(shù)吧,比生硬的聽作者講所謂的虛頭巴腦的底層邏輯強(qiáng)多了

    來自浙江 回復(fù)
  2. 我曾經(jīng)做過聊天應(yīng)用,確如作者所說

    來自浙江 回復(fù)
  3. 寫得非常好!這是產(chǎn)品經(jīng)理需要具備的底層技術(shù)邏輯理解能力。底下評論說看不懂的自己給自己打嘴巴子吧

    來自浙江 回復(fù)
  4. 看不懂是不是因?yàn)槟闾肆四兀?/p>

    來自廣東 回復(fù)
  5. 產(chǎn)品的底層邏輯設(shè)計(jì)其核心在于,對數(shù)據(jù)和模塊的分割,以及服務(wù)能力的設(shè)計(jì)和調(diào)用關(guān)系的搭建。

    回復(fù)
  6. 閱讀的整個過程都很茫然。
    作者的題目是:什么是底層邏輯。
    于是我一直在尋找關(guān)鍵句:什么是底層邏輯?
    然而作者只定義了:什么是底層邏輯的核心。
    舉個栗子,什么是人類,和什么是人類的核心,這兩個問題差別很大的。

    來自廣東 回復(fù)
    1. 文章開門見山,產(chǎn)品的底層邏輯,指的是一個產(chǎn)品對所支撐的業(yè)務(wù)過程的抽象,是一個產(chǎn)品從數(shù)據(jù)維度對功能模塊的分割

      來自廣東 回復(fù)
    2. 謝謝提示。
      但看不懂。

      來自廣東 回復(fù)
    3. 那你可以來一篇懂的

      來自廣東 回復(fù)
  7. 真是啰嗦,繞來繞去不知道說些什么~

    來自廣東 回復(fù)
  8. 寫得這么拗口,真的是看不懂寫什么

    來自廣東 回復(fù)
  9. 等一個月以后,再來看看,希望理解更透徹些。

    來自廣東 回復(fù)
  10. 為什么我看不太懂 ??

    來自廣東 回復(fù)
  11. 看到最后一句話 太贊同了

    來自江蘇 回復(fù)
  12. 受益受益!看一篇不夠,得花些時間重讀再消化

    來自廣東 回復(fù)
  13. 2B產(chǎn)品經(jīng)理經(jīng)常是提出改版,優(yōu)化這樣的體驗(yàn)需求,而很多設(shè)計(jì)師能優(yōu)化的部分往往少之又少,就像最近炒的很火的手淘優(yōu)化,更多的只是 “耳目一新”實(shí)際上并沒有多少“優(yōu)化”和“創(chuàng)新”,文章也揭示了一些正解

    來自廣東 回復(fù)