上篇文章講了《頁面流程圖如何繪畫》,這篇文章講講PM畫得最多的圖形“功能流程”。下一篇講如何畫業務流程圖。
這就是我所理解的産品架構三部曲。
常見的錯誤畫法
先梳理一下大部分PM畫功能流程的常見錯誤,方便理解其邊界。
混入業務維度
特别容易把業務模塊也畫到功能流程圖裡面。
區分你的功能流程圖裡面有木有業務模塊并不難。唯一的判斷标準是該圖中的每個節點都應該是這個産品中真實存在的功能名稱,否則應該是混入了其他東西。
真正的難點在于如何将業務流程映射成合理的功能流程,以及功能流程如何映射成恰當的業務流程。
混入頁面維度
其次容易将頁面寫到功能流程圖裡面。比如某頁面隻是某個功能的子集,你非要把它寫到功能流程圖裡面,是不合适的。
比如微信裡面,發送照片給好友是一個功能,但是涉及到的頁面“照片”、“選擇相冊”、“某一相冊詳情”以及操作“選中某一照片”,他們都不是功能,完全不應該顯示在功能流程圖裡面。
當然某些功能的命名,有可能和頁面是一樣的。
混入操作維度
每個功能可能包含很多操作,比如微信中發送照片給好友,包含了”點擊相冊”,”滾動照片列表”,”選擇照片并發送”等操作。需要正确區分操作不是功能。
功能流程是什麼
講了一些常見的錯誤畫法之後,再次定義一下功能流程的概念。
功能流程是指産品的所有功能以及相互間關系。
功能間關系
注意功能是相互獨立的,但是通過合理組合,可形成新功能。不太建議用一級功能二級功能,父功能子功能的叫法。
包含哪些元素
功能,使用矩形表示。
功能流向,使用有線箭頭表示。
條件,使用有線箭頭上的文字表示。
已定義流程,使用組合矩形表示。不是必須的,如果整個産品的功能太複雜,可能需要。
詳見我整理的功能流程圖資料,。
功能命名
要麼是名詞,比如購物車。可加定語,比如我的紅包。
要麼是動賓短語,比如确認訂單。
要麼是通用叫法、比如我的。
可以參考同行業的TOP5競品。
如果功能簡單,産品層面的1個功能盡量對應着Axure的1個Page。如果很複雜,請拆分到多個頁面。
功能定位
功能是邏輯意義上的概念,用戶是感知到該産品具備哪些功能。一個功能可能是跨越多個頁面,也可能存在于某頁面裡。而頁面是物理意義上的概念,用戶可以在産品裡面看到包含哪些頁面。
另外功能本身是相互獨立的。但是通過合理組合,可形成新功能。不太建議用一級功能和二級功能,父功能和子功能的說法。
如何畫功能流程圖
羅列所有功能
按照PM設定的用戶使用産品流程,來畫出每個節點的功能。從首次打開APP開始算起,進入首頁會有多種走向,均需分别畫出來。
請注意不要随意把頁面名稱畫進來,除非你确定含有一個同名的功能。
比如上圖乍一看,好像這幾個都是功能,畫得好像并沒有錯。點擊對應的原型地址,方便理解下文。
可事實上,首頁隻是頁面的叫法,而不是功能。另外它至少包含了發布邀約,查看邀約列表,頻道列表三個功能。
用有向箭頭關聯
使用有向箭頭将功能之間聯系起來。注意箭頭方向代表用戶的使用步驟。
如果你是使用Axure,請不要傻乎乎的使用默認模式拖一根線到2個功能矩形框上,而是切換到連接線模式然後鼠标移動到矩形框連接紅點并關聯到另外一個。
增加條件判斷
很多功能是有前置條件的,請使用有向箭頭并輔以文字表示。
所謂的條件就是前後端需要判斷的邏輯。常見的條件有3種邏輯結構。
檢查是否犯錯
上面說的幾個常見錯誤,最好檢查一下有沒有犯。
得到功能流程圖
根據上面的步驟,我大概畫了一下微信客戶端主要的功能流程圖。
完整的圖形可以點擊源地址查看。
總結
如果你們的産品比較複雜的話,可能需要根據用戶角色、前後端不同來分别畫出對應的功能流程圖。
比如微信的功能流程圖,至少有用戶使用微信,用戶使用小程序,自媒體使用公衆号,開發者開發公衆号,開發者開發小程序等很多個。
簡單來說,你先得清楚你們的業務需要多少個産品來支持,産品間的關系是什麼,每種産品需要多少種用戶角色,相互間的關系,有多少個端。
下篇文章《如何正确的畫出業務流程圖》會細講這方面的知識。
,