每日干货分享

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合


上一篇:產品經理如何基於需求迭代產品(上篇):需求調研的四個步驟


需求調研是用來明確當下要解決的問題的,產品設計則是根據需求提出解決方案,通常解決方案有多種,先選擇合適的方案進行執行。然而,需求也不一定一次就可以解決,通過上線后的復盤判斷問題的當前情況,若仍有問題則繼續需求調研。

產品迭代的流程和解決問題的流程很像,但是需求不只是問題,這裡也抽象了很多,大家可以有自己的理解。不要總說這裡面沒有競品分析、數據分析、用戶訪談等等,這些都是為流程服務的,每一個都值得好好寫幾篇文章,但是不值得放到高度抽象的簡易流程內。

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

這裡說的產品設計不僅僅只是界面設計,還包括產品架構、系統架構、功能模塊、實體結構、角色、邏輯等等。對!就是你手上的PRD!

很多公司特別是創業公司都低估了產品設計的重要性,特別是前期架構的地基沒打好,就往上面蓋樓,以後重構所花費的精力和成本都是難以想象的。

假設現在有個商家的管理平台,一開始都沒有【應用】這個實體,所有功能都放在一起甚至互相之間還有關聯,那麼應用商店根本沒法做,做應用商店之前要對舊功能進行拆分,還很有可能會涉及到舊數據的處理問題,例如舊數據與新功能不兼容,那麼其噁心程度和時間成本是無法估量的。舊功能用舊介面,新應用走新介面呢?這也是種解決方案,具體用哪種還是得看具體情況,這種方案得維護兩套介面,如果不care也是可以接受的。

產品設計實際包括理念和流程,本文中主講理念次講流程,先講宗旨(下篇1),再講具體設計中整體和局部(下篇2)。

PS:產品設計是基於需求調研的,是已經確定了做什麼的情況之下的。其實還缺了很多內容,例如如何確定產品/功能/模塊的情感和調性、產品迭代的節奏感、如何判斷產品核心功能、大場景和小場景的關係、用戶體驗和用戶價值等等。我在這幾方面的理解還不夠深刻,就不拿出來獻醜了。這三篇文章(上、下1、下2)都只是初級產品教程。

宗旨:高內聚低耦合塑造產品認知

什麼是產品和產品認知?

產品是指能夠供給市場,被人們使用和消費,並能滿足人們某種需求的任何東西。

而我們的整個產品和系統通常並不是只為了某個角色/人群/需求設計的,產品本身要滿足用戶需求、業務需求、公司需求等等。一個產品在不同層面(用戶、業務、運營人員、企業、客戶等)的認知是不一樣的,產品是個每個面都不一樣的魔方。做產品不僅要讓功能滿足需求,更要讓產品在用戶心中留下認知,功能可以抄襲,但是認知抄不了。

在用戶層面上,產品是一種載體,承載情感和服務,並通過某種線索結合到一起。

以ofo舉個栗子,在用戶層面上,ofo的產品是自行車、ofo共享單車APP、海報等等,自行車提供騎行服務,APP提供找車、支付、開鎖服務,很多款截然不同的產品基於統一的線索(例如主色黃、副色黑)提供著同樣的輕鬆、年輕、健康、綠色等情感。各類共享單車產品邏輯和流程都差不多,此時就靠情感取勝。ofo通過產品在用戶心中樹立起了認知,霸佔了用戶心中的某個角落,用戶看到小黃車就知道是ofo,這種認知優勢是其他競品很難趕上的。

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

在企業層面上,產品不是簡單的基於需求的技術實現,而是企業綜合資源的市場載體和價值體現。

還是以ofo舉例子,ofo如此建立認知,說得容易做起來很困難的。ofo「走進城市」這組海報,ofo選擇了evernote、kindle、杜蕾斯等10家品牌作為自己的聯合品牌營銷合作方。這些品牌並不都面對大眾,也並不都來自本土或者異邦,但是他們都有兩點共同的特質:品牌年輕化+具備全球化概念。

像ofo這種做法,一方面,在宏觀上對公司高層的價值觀、格局、眼界有很高要求,這種品牌方向和決策都不是隨便一家公司能做出來的。另一方面,在微觀上對公司的執行力也有很高的要求,無論是短時間聯繫10家品牌進行營銷,還是在供應鏈上對自行車的供應商統一要求,還是在UI、海報等有品牌規範並嚴格執行,其中所遇到的困難都是我們外人難以想象的,這就是企業綜合資源的體現,我表示很佩服。

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

什麼是內聚和耦合?

內聚和耦合其實是軟體工程上的術語。

高內聚低耦合是一個優秀系統的基本要求。內聚描述的是模塊內部各個元素彼此結合的緊密程度,越緊密,內聚性越高,單一責任原則越強,單一責任指一個模塊負責一項任務。

耦合描述的是模塊外部各個模塊彼此結合的緊密程度,越緊密,耦合性越強,模塊的獨立性越差。

怎麼做到產品的高內聚和低耦合?

內聚和耦合不僅適用於軟體工程,也適用於產品設計及其他方面。此處討論的產品以互聯網產品為主,暫時不討論其他的產品。內聚強調的是內部的聯繫,耦合強調的是外部的聯繫。

高內聚

在互聯網產品(例如一款app)中的高內聚是指,在系統、模塊、功能、實體等層面保證每個系統、每個模塊、每個功能、每個實體在用戶認知中的統一且單一,並符合整體特徵、邏輯和自然。

以唯品會舉個例子,唯品會平台化后,在平台層面,各個平台都有其獨特性,具有極高的內聚性。在模塊層面,單從交易平台來看,商品展示、購物車等模塊也有其獨特性,商品展示模塊包括商品卡片、商品詳情等頁面只做展示用途,購物車模塊會進行拆單合單、優惠計算等是下單前的預處理。在功能層面,單從商品卡片來看,封面、小圖、價格、標題等各司其職,但是有「滿1件打7折」和「3.6折」兩個折扣,此處折扣聚合度不夠,就會讓用戶不明白到底打幾折。

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合


產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

低耦合

在互聯網產品(例如一款app)中的低耦合是指,在系統、模塊、功能、實體等層面保證每個系統、每個模塊、每個功能、每個實體之間的聯繫是簡單而不是複雜的。

以微信公眾號群發為例,當前方案為方案A,方案A的群發對象的維度只有三種,標籤、性別和地區(中國可精確到市),維度內不可多選,維度間為與關係。方案B則是用了個【群發對象】彈窗,把所有用戶列出來進行多選,維度則作為篩選條件。方案A的耦合度就比方案B要低,因為方案A只是與【維度】有聯繫,和【用戶】無聯繫,不展示用戶也不計算用戶數量;方案B與【用戶】【維度】均有聯繫,要通過【維度】去篩選【用戶】,還要把用戶數量算出來。(PS:其實要不要直接選用戶也是一種需求,需求調研時也需要注意。)

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

產品經理如何基於需求迭代產品(下篇1):產品設計的高內聚低耦合

高內聚和低耦合,具體多高多低是需要基於業務需求(特別是需求調研中的邊界確定)考慮的,要追求合適較高的內聚和合適較低的耦合,而不是「全內聚「和」無耦合「。」全內聚「是指內部關係極其單一,模塊粒度細到極致,什麼都是模塊,這種情況會導致耦合度極高,因為什麼都得調用,一般都是部分調用部分關聯的。」無耦合「是指外部關係極其簡單,幾乎沒有模塊,就是一個整體,這種情況會導致內聚極低,什麼都是=什麼都不是。

整體上看,隨著業務的發展,產品會基於初期的產品架構,在上面搭建很多模塊,模塊越多導致內聚逐漸降低,耦合逐漸增高,達到某種程度就不得不進行系統重構。達到必須要重構的時間,不僅取決於業務發展,更取決於初期產品架構的健壯程度和產品迭代時是否遵循宗旨有關。唯品會資深架構師官華:唯品會系統演變架構歷程,在這篇文章中大家可以清楚地感受到唯品會的系統演變歷程,其中每一次演變的背景都值得我們思考。

為什麼高內聚低耦合能塑造產品認知?

為什麼人看到貓就知道它是只貓?因為人對貓建立了認知。人是怎麼對貓建立了認知?因為人知道了哪些是貓的特徵。人是怎麼知道貓的特徵的?因為人小時候媽媽教他認了幾隻貓。

這整個流程 看到貓→知道這是貓→總結貓的特徵→對貓建立認知,就是人的學習和認知路徑。

其實這不僅是人的學習和認知路徑,也是人工智慧的學習路徑,感興趣的同學可以自行了解下,我們也可以交流交流。

相對應,人的認知產品路徑如下:體驗產品→知道這是XX→總結XX的特徵→對XX建立認知。而高內聚使得人更容易總結出單個模塊的特徵,低耦合使得人更容易理解整個產品,從而對整個產品建立認知。同樣,也適用於產品、模塊、功能、系統等產品的各個層面,不要自我局限。

高內聚低耦合能塑造產品認知,這就是它成為宗旨的重要原因。



這些都是我自己的自我總結,也是我對世界的認知和總結,每個人的認知或多或少有所不同,希望能夠幫助大家更好地認識這個世界。

Vency,兩年經驗產品經理,歡迎交流微信號:vency277136551,追求用戶、技術、商業、社會價值的統一

下一篇《產品經理如何基於需求迭代產品(下篇2):產品的整體和局部設計》,敬請期待