產品經理的架構思維

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當了幾年產品之後,對業務都有了一定程度的理解,需求做起來如魚得水問題都不大,但是這時候需要全局思考或者從0到1規劃一個完整產品的時候就有點摸不着頭腦,做起來感覺飄忽不定。這種情況可能有些同學也會碰到。可能就需要換個層面思考了,本文就近期做下小結,也談談產品架構的思考邏輯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"PS:本文以toB產品爲例闡述,與toC產品可能不同。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"什麼是架構?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"產品架構到底是個啥?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"技術架構我們就聽過,主要就是描述清楚一個應用羣系統的組成部分,各部分的層級關係和職能,那麼產品架構呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"沒那麼神奇,我們可以先簡單理解:產品架構就是對產品主要功能(先不說“能力”吧,得空我們再拔拔互聯網黑話)的抽象劃分。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"可能還是不好理解,我們先舉個更具象的例子,看看城市規劃是咋樣的:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/f3/f326da3d66e8934ac83ebffa53168bc2.jpeg","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這張規劃圖裏將一塊地劃分成了很多塊,不同的顏色地塊規劃了不同功能的建築片區,比如居住、商圈、教育這些。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這時候整體的看這些地塊,組成起來是不是就是一個綜合的小生態了,按這個規劃,這個片區未來可以滿足人們居住(功能1)、購物(功能2)、上學(功能3)等需求,理想情況下,這個片區規劃好,把其他日常生活所需的功能都規劃進來,我們基本都可以在這片區裏就完成大部分需求滿足了,這就可以理解爲一個完整的“產品”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"現在我們用產品的思維來解析下,上面這個場景裏用戶的需求是啥?也就是:居住、購物、辦公、醫療等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"而片區劃分配套了:居住區、商業區、辦公用地、醫院等"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個片區到了一定程度之後,我們就會自然而然給它起個名字,XXX區(非行政區,不糾結這個)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上面的思考邏輯,用戶的需求我們清楚了並且可以大致的劃分開->那麼就可以對各塊需求對應的劃分一塊規劃來滿足->最後這個片區完善成了一個“產品”XXX區。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"這其實就是產品架構的思考邏輯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"再回到前面說的定義,對產品功能的抽象劃分。結合上面的思考邏輯,可以將這裏的抽象劃分爲幾個方面:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、對需求的抽象。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、對產品功能的抽象,產品功能的抽象又再分爲邏輯和數據的抽象。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"所以這裏可以大膽地將產品架構的設計總結爲:對需求全盤理解之後,進行高度的抽象分類,然後對各個分類進行對應的產品設計,完成抽象的邏輯梳理和數據梳理,邏輯和數據最終組成一個有機體,成爲產品架構。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"產品架構示例"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/25/25a8420e8766d7b59b3264f92e40f4cd.jpeg","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上圖是一個產品架構圖例子。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"先覆盤下需求的抽象分類,本次背景是某司在籌備一個統一庫存中臺,需要在庫存中臺內完成對全渠道庫存的管理,實現全渠道庫存共享的目標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拆解下來,需求抽象爲幾類:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、統一的數據中心,管理各渠道銷售的產品共享使用庫存中臺內的庫存。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、統一承接庫存相關業務,與WMS完成業務對接。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、需要有共享、獨佔、跨倉共享等庫存分配的策略。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4、有前端界面完成業務操作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"依據抽象好的需求分類,最終出來的產品架構可以看到分了幾層,範圍從大到小表示出產品應該具備的功能和邏輯關係:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、產品跟其他產品之間的交互關係和邊界。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、產品內部主要涉及哪些方面,主要有哪些功能、數據。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"需要指出的是,初次構思產品架構時,容易陷入細節思考裏面,這是從基於單點需求思考到基於全局思考的轉變過程中碰到的問題,筆者在實踐中也碰到過這樣的情況,多嘗試,並且有意識地跳出侷限的領域來思考是個很好的解決辦法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同時還需要注意的是,跳出細節不代表對細節一無所知,架構思維是從具體實物中的抽象總結,切忌成爲只知道框架不知道具體的空中樓閣設計師。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"產品架構和技術架構該怎麼建立關係"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"產品架構與技術架構之間沒有太多直接的聯繫,根據上面的描述,應該可以理解到了產品架構主要用於講明白這個產品做什麼的、需要有什麼功能,轉化爲技術架構還需要技術架構師基於對產品、業務的理解進行架構設計。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是產品架構也並非和技術架構毫無關係,反而一些邊界需要產品對技術有一定理解的基礎上提前給到技術架構設計建議。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/9c/9c956aa7e88686deac4b8d565fa1d1e5.jpeg","alt":null,"title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"例如上圖,是與技術架構師充分溝通後,根據產品應用的場景特徵出具的更細緻的架構圖,爲更詳細地表明場景特徵。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"圖中的前臺查詢是高頻、高併發的查詢,業務的特徵已經決定未來會是這樣的,那麼產品架構裏面就可以將這特徵體現出,產品的結構層次就可以做一些設計,比如我們可以用無鎖化設計來應對高頻的庫存訪問請求,將扣減庫存和後續的單據處理在流程上區分開,這就不僅僅是技術架構師的事情,而是產品也應該開始考慮的事情。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"產品經理該懂技術嗎"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最後引申出網絡上經常討論的一個問題:產品經理需要懂技術嗎?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"我認爲需要懂,並且越多越好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原因很簡單,如果現在你不是產品經理,而是一家公司的創始人,產品要活下來活得好,碰到問題了就不管是什麼問題,作爲創始人都要解決,PM也一樣,越瞭解你的產品越能將產品做好。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外計算機科學作爲一門學科發展了幾十年,先輩們打下了無數的基礎,形成了多樣的、體系化的方法論,系統的學習能讓思維體系更加全面和系統,使得對產品的思考也全面而系統,甚至系統學習才能看到原來野生成長所永遠無法看到的高度。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"下半場,越專業走越遠。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章