作者:玲子
來源:玲子奮斗史(ID:lingzifds)
編輯:Verna
由于產品架構圖通常用于比較復雜的產品項目中,目前介紹產品架構圖的相關書籍和資料也是極少,之前的工作中一直沒有接觸到,但是產品架構圖卻是設計復雜產品時不可或缺的文檔之一。
由此開始各種關于產品架構圖的資料尋找與學習思考,此文是站在巨人的肩膀上,在學習有鹿前輩的《一張圖講清楚產品架構,手把手教你畫產品框架圖》總結文章,而后自我思考合理運用,產出的一篇學習筆記,同時,分享給你們,希望能為你在思考產品架構圖提供思路。
什么是產品架構圖?
產品架構圖是產品經理用來表達自己產品設計機制的一張概念圖:
它將可視化的具象產品功能,抽象成信息化、模塊化、層次清晰的架構,并通過不同分層的交互關系、功能模塊的組合、數據和信息的流轉,來傳遞產品的業務流程、商業模式和設計思路。
為什么要畫?
1、梳理自己對產品方向的判斷
思考這張圖如何設計的過程,也是幫助你梳理“半年內自己的產品該往何處去、需求應該如何分期和落地、和其他產品的依賴&競爭關系是什么、未來的可拓展性在哪里”等問題的過程。
2、為技術&運營的輸出形成支撐
當這張圖被設計出來后,按照產品架構圖的結構和路徑,項目的里程碑(RoadMap)就可以被清晰的拆解出來,同時項目成員也可以根據這張架構圖產出運營計劃、技術系統架構方案等強依賴產品方向的方案。
3、讓他人可視化的理解你的產品架構
能較為清晰簡單的呈現自己的思路、明確自己的產品邊界、指明發展的方向,常用于在項目規劃或項目總結中進行演示,幫助不了解你的產品的人快速的建立對你的產品結構、功能、復雜度的認知。
何時需要畫?
1、建議在復雜項目開始前寫
當你要開始設計一個系統性、完整的需求時,如果跳過畫產品架構圖的步驟,直接開始畫原型、寫PRD、kick off,就很容易發生“改了又改”、“做了一版需求然后又推翻”的情況。
2、但“種一棵樹最好的時間是十年前,其次是現在”
以下是玲子結合前幾天寫的微信紅包之紅包雨,再結合有鹿前輩的文章,思考學習,做一個產品架構圖的分享延續。
之前玲子分享的微信紅包文章,可以在公眾號歷史文章上查看
如何畫?
列出問題域
在需求初期,產品經理得到的往往只是一句比較模糊的需求描述,它們可能來自于老板、運營或用戶。
直接把這句話作為核心產品功能是不恰當的,合理的做法是先把這個產品所有的問題域列清楚。
“問題域”是指自己的產品能夠解決的所有問題的空間集合。從核心需求出發,將所有當前需要解決、未來可能要解決的問題放入產品框架的范圍,能夠幫助你的產品架構圖擁有更高的可拓展性,在后續具備迭代和優化的空間。
以紅包雨的需求為例,問題域是這樣一個集合:
詳細操作步驟:
1. 找到收到的需求中,跟產品形態、產品目標相關的詞句,去列出“XX的流程會是什么樣”、“XX該怎么達成”之類的問題,直到如果這些問題解決,能夠實現核心需求的方向和業務目標。
2. 去逐次尋找這些問題需求被解決的過程中,是否有其他要先解決掉的問題、或者其他跟業務相關的問題能夠被解決/改善。
3. 按照層級去羅列出所有的問題,并附上自己的初步回答,從而形成一個初步的、自己的產品能夠解決的“問題域”。
確定產品方向
在經過問題域的羅列后,你應該能夠得到一個模糊的產品方向和功能范圍。把這些問題域的答案抽象總結成一個確定的產品需求。
以紅包雨的需求為例,根據問題域,我們發現需求不只是搶紅包雨功能這么簡單,整個需求里需要引入各種業務系統還有運營管理的角色,并且需要和各個部門配合審核團隊合作。最終得到的產品方向描述是這樣的:
詳細操作步驟:
問題域的環節非常發散,這一步需要回歸基礎,把模糊的需求補充、拓展和翻譯成一個在商業模式和用戶體驗上能夠形成閉環的產品需求。
核心需求確定:我的產品核心解決的是哪批用戶、哪個用戶需求?
產品目標:如果以一個數字指標衡量我的產品,它應該是什么?
3.用戶場景:核心需求基本的產品形態、用戶使用的路徑是怎樣的?
清晰的業務流程
這一步需要根據核心產品需求和問題域的答案,畫出簡單的業務流程。業務流程是產品設計中常見的圖表,繪制方法就不再多做說明。
以紅包雨的需求為例,從運營準備活動,到用戶搶紅包的互動,到賬戶系統的動態變動,整個業務流程如下:
搭建基礎框架
基礎的產品框架脫胎于業務流程,但相比業務流程,更加注重產品功能的枚舉、功能模塊之間的分界。
詳細操作步驟:
1. 對照業務流程,根據自己設想的產品機制、基本產品形態和用戶的使用路徑,列出需要的頁面&功能&模塊等前后端邏輯。
- 將剛剛得到的多個流程圖中所有功能類似或者范圍有包含關系的機制/功能放在一起,以模塊化的形式形成一張簡單的矩陣圖。
3. 將明顯是同一個產品范圍、同一組產品功能的模塊放在同一層級,得到一個基礎的產品框架。
明確架構分層
一個具備前后臺關系的產品架構圖至少分為三層:
用戶感知層:在何種場景下通過何種方式觸達用戶;
功能模塊層:通過哪些功能模塊實現產品的核心功能、和哪些外部平臺功能有信息交互;
數據層:產品的數據從哪里來、產品的數據沉淀到何處去。
在上一步進行簡單分層后,我們已經得到一個初步框架,但是難免會有分層不明確的問題。此時需要按照兩種維度來處理架構圖的層級:不同信息層級的邊界、同一層級內模塊和模塊的邊界。
1. 處理不同信息層級的邊界:
架構圖的層級表達的其實是信息之間的流轉關系,不同信息層級之間一定是有邏輯關系的。
其中用戶感知層和數據層通??梢院喕癁橐粚樱ㄓ脩舳说墓δ鼙磉_往往邏輯簡單、數據的來源問題則不是自己產品的核心功能),而功能模塊層則需要按照自己產品的邏輯去將功能模塊層內的主要模塊變成新的層級。
2. 處理同一層級內子模塊的邊界:
各層次之間雖然相關,但同一層次內的子模塊之間一定是互相獨立、界限分明的(常常對應著不同的開發團隊和系統應用)。將解決不同問題的功能拆分成兩個子模塊,做到一個問題只在同一層解決,避免牽一發而動全身的情況出現。
3. 明確產品間的邊界:
產品邊界對于開發設計系統架構、業務間的合作模式都非常重要。用不同顏色標識清楚產品框架中,各個部分所屬產品的邊界,通常其中屬于自己團隊的部分用亮色表示。
加入信息流轉機制
產品架構圖在表達產品的核心功能外,也應該體現信息流動的路徑:當前層級數據的交互形成產品功能,產品功能又產生新的數據,從而推動下一層級的功能運轉起來。
如果當前產品的主要使用角色只有一個,則只需要用箭頭標明模塊間信息流動的方式即可。如果當前產品會涉及的主要角色比較多,則需要用不同顏色的線條將他們和各個模塊之間的信息交互關系外化出來。
最終檢查
一張好的產品架構圖,應該具備以下特點:
清晰的模塊功能邊界
功能經過抽象,做到標準化、互相獨立
上下游產品功能邊界清晰,架構分層明確合理
具備迭代優化的能力
最后
以上圖皆學習自有鹿前輩文章后自我思考所做,還有待指點,望各位懂的前輩多指點,多糾正,有好的案例歡迎多分享給我,感謝。
- 本文僅做學習分享,已標明文章公眾號出處(詳見1),不做任何商業使用