把流程圖畫清楚,能解決很多問題——流程圖技法
在工作中,流程圖是我們常用的一種技能/方法,可以幫我們更好提升工作效率。本文系統整理了流程圖的方法、類型和案例,希望可以幫到大家。
在我們分析需求時,有一個很重要的東西——流程。
為了梳理業務流程,讓流程能走通,能夠形成閉環,不讓我們設計方案的邏輯缺失,這個時候就有一種很直接的方式——畫個流程圖。
一、流程圖的意義
對于流程圖,它的主要作用就是通過圖形化的方式,將業務流程清晰的展示出來。
下邊這幾張圖就是我工作中畫的,大家可以看下:
1)當藥品屬于某個分類時進行系統提醒流程:
2)某個指標的計算與應用流程:
3)某類產品的數據治理設計方案流程:
再開始說流程圖之前,我們不可避免的說下流程圖的好處:
對于產品經理的好處:
1)完成業務閉環:梳理流程,將各個業務節點能都串起來形成閉環,清晰全面的展示出系統流程,避免要出現走不通的流程。
2)發現流程問題,簡化問題流程:把流程畫出來后,產品經理可以從流程中發現不必要的、多余的流程,可以對流程進行優化;
流程出現問題,是一個很嚴重的情況。如果把流程圖畫出來,可以避免潛在風險。
當你的產品設計中,只要涉及到操作流、判斷邏輯時,就可以把流程畫出來。把流程確定完成,接著定義功能模塊、梳理頁面流程等,就很簡單了。
3)基于流程,確定每一步的功能點:確定流程后,就能明確知道用戶的每一步操作,這一點可以幫我們完成功能操作模塊的劃分。
對外的好處:
1)提高方案傳達效率,就是一個提高效率的溝通工具。
通過流程圖,大家可以清晰的了解整個系統的運轉順序和流程。這一點和原型圖很像,就是為了讓大家快速理解業務。
二、幾個重要的流程圖
流程圖有很多,比如業務流程圖、功能流程圖、數據流轉圖等等,再加上UML,這就更多了。
我們不必要糾結流程圖的種類,只要流程圖能夠清晰準確,畫的人可以梳理明白,看的人可以看懂流程,達到畫流程圖的目的就行。
在我工作中,用到最多的就 3 種流程圖即可:業務流程圖、系統流程圖、頁面流程圖。
1. 業務流程圖
表達出整個業務前后流轉關系,比如下邊的很簡單的業務流程圖:
業務流程圖突出的是業務中的流程,和系統流程、功能操作沒有關系。
2. 系統流程圖
系統流程圖用于描述系統的整體運行流程,包括用戶操作、系統判斷、數據處理等各個流程。
是為了梳理整個系統的全部邏輯,突出系統的運轉邏輯、各子系統/模塊之間的關系。
系統流程圖是梳理產品邏輯使用最多的,它處于「業務流程」與「功能流程」之間。
基于業務流程,來完成系統流程,然后基于系統處理流程,再輔助設計功能。
3. 功能流程圖
就是把用戶的每一步操作步驟、使用到的功能表達出來。突出的是功能操作,如進入頁面、點擊按鈕等。是為了讓整個功能交互能夠走通。
在功能培訓時,也經常用到「功能流程圖」,用來說明操作步驟。
在畫業務流程圖、系統流程圖、功能流程圖時,如果涉及到多個角色,為了突出不同角色的操作步驟與前后流程,可以使用泳道圖。
泳道圖就是有多行多列,每列展示對應的角色的操作動作。
4. 頁面流程圖
當我們把功能流程圖畫完后,需要將每個功能點放到頁面中,這個時候也就是畫原型,為了將頁面能夠前后串起來,我們可以使用頁面流程圖,是以將每個頁面通過箭頭連接起來。
下邊是我工作中的一個活動的頁面流程圖,因為比較簡單,所以將需求描述和頁面流程放一起了。
在我們的實際工作中,一般是先確定業務流程圖,然后根據業務,梳理系統的處理方式,轉化成功能后,再有功能流程圖,功能落到頁面上后,再有頁面流程圖。
不過我是不建議嚴格劃分出某種流程圖,只要是流程圖能夠清晰展示出整體流程,能讓大家理解所表達的意思,能夠達到目的就行。
對于如何畫流程圖,我們詳細看下。
三、如何畫流程圖
1. 確定目的
就是我們要先確定要畫的流程圖想要突出表達出什么內容。
1)如果想為了梳理業務,梳理需求流程,整合完善整體流程,我們則要繪制業務流程圖、系統流程圖。
2)如果是為了培訓用,讓用戶明白功能操作,我們就要畫功能流程圖。
無論是業務流程還是功能流程,這 2 者在畫的邏輯上是一樣的,我們接著看。
2. 劃分角色
先把涉及到的「角色」整理出來,可以是普通用戶、管理員、審核員等具體的人,也可以是所在的系統,也可以是其它協作的系統等虛擬的角色。
注意:
如果角色少,這一步可以忽略
如果角色多,就使用「泳道圖」;根據流程前后順序,將角色按照從左到右依次排列
可以把系統作為一個角色,寫出系統需要執行的操作步驟。
3. 確定整體流程節點
在畫流程圖之前,我們需要先大概清楚主要的流程節點。那就先把關鍵節點給畫出來,先粗再細。
確定流程從哪開始與到哪結束,關鍵節點的前后順序關系,將整體的流程節點串起來,先保證主流程順下來。
4. 確定每一個操作,補充支線流程與異常流程
將每個角色涉及到的操作與處理全部寫出來。
這個時候盡量的寫細致,不能漏。此時同步將存在的分支也寫出來。
分支流程一般是在需要進行「是/否」選擇時出現。
為了保證細節的完整性,每一步都要思考是不是有前置條件,比如是否有權限、是否登錄、數據是否為空等
可以這樣思考:
1)「當前這步」一定能操作嗎?是不是有前置條件?
2)「當前這步」一定能到「下一步」嗎?
同步的,思考每個流程節點的異常情況。
可以這樣思考:
1)「當前這步」會不會失???失敗如何處理?
2)「當前這步」用戶錯誤操作怎么辦?
把流程圖中的每一步都這樣思考,具體的可以看下邊的例子。
5. 最后過一遍流程
流程圖細節補充畫完后,一定要再過一遍流程,檢查全部的流程走向,判斷是否有遺漏、是否仍有異常流程沒有考慮到。
這一步很重要,非常重要。因為我們都可能會犯錯。
6. 優化下流程圖樣式
當流程圖畫完后,我們可以適當調整流程圖的美觀度。
這一步是不是必須的,但是清晰規范的排版傳達信息的效率會更高,所以我們還是可以讓自己的流程圖樣式好看點。
下邊的優化排版的方式可以參考:
- 圖形:按照標準使用流程圖的圖形,另外圖形大小保持一致,圖形要對齊。
- 排版:按照流程圖走向,從左到右,從上到下依次排布。當步驟是同級關系時,則平鋪展示。
- 間距:避免擁擠,間距盡量保持一致。
- 對齊:上下居中對齊,左右居中對齊
- 線條:線條用來展示連接2個圖形,盡量不要讓線條交叉。線條能直起來,就別彎。
- 文字:對于流程圖中形狀里的文字,語法一致,統一使用動詞+名詞。字體適中,文案簡潔易懂。當流程較復雜,或節點很重要時,可以添加文字進行輔助說明。
- 配色:色調統一,相同的圖形可以使用相同的顏色。重點突出重要的流程節點。
當一個流程圖很繁雜時,可以拆出多個流程圖,對不同流程圖進行分別說明。
存在多個判斷時,盡量將“是”的箭頭方向保持一致,“否”的方向保持一致。
四、流程圖的規范
對于流程圖最基本的就是使用適當的圖形來表達所含意思。
常用的圖形如下:
1. 開始/結束:常使用圓角矩形表示
上邊我們說過流程圖有很多種,在一些流程圖中會使用圓圈來表示開始與結束,其實都差不多。
還是建議直接用圓角矩形,圓圈很多人并不明白代表什么意思。
2. 判斷/決策:菱形
在進行判斷時,肯定會有「Yes or No」這兩個結果,在畫流程圖時需要將這兩個結果都畫出來。
我們可以在菱形里寫出來判斷的內容,然后直接用線指向下一個流程。
另外還有其他的表達方式,就是先用矩形表達要進行的判斷,然后在用箭頭指向一個小菱形,用小菱形去表達分支;
3. 子流程
子流程也很常用,當流程圖中的重點是突出一個處理流程,這是需要用到另外一個處理流程,我們就可以把子系統的流程通過「子流程」表示。
比如下圖中的「填寫個人信息、支付操作、醫患對話」,這些也有很多邏輯,但是在這個流程是為了突出整體流程,這些子流程并不重點,我們就可以使用子流程來表達。
當然在畫流程圖的時候并不一定要嚴格按照規范,一切圍繞流程圖的目的,只要能達到流程圖的目的,規范也并不是必須的。
五、具體畫流程圖例子
到這之后,我們說了畫流程圖的步驟+規范,我們看個例子再回顧下。
這個例子是一個同學的產品經理面試題,我們以這個面試題作為例子,輸出它的流程圖。
題目內容為:
3.微信小程序手機端:用戶收到審批通知,查看審批內容,包括審批單詳情及上游審批人的審批意見之后,可以采取評論、退回、拒絕、通過四種操作。
補充說明:需要設計對應的流程圖及原型頁面。
我們簡單分析下:按照題目描述,這個應該是個OA的審批系統。
角色分為:用戶、上游審批人。
(這里的用戶是指上游審批人之后的下一個審批人)
我們直接開始畫:
第一步:確定流程圖的目的,按照描述這里我們需要畫的是功能流程圖,需要將不同角色的功能操作給表達出來。
第二步:劃分角色分為:上游審批人、下游審批人(也就是題目描述的「用戶」);涉及到多角色的,我們就直接用泳道圖畫出來。
第三步:找到整體流程節點;
在這個流程里是以上游審批人完成審批作為開始點,用戶進行「評價、退回、通過、拒絕」這4個操作。
但是「評論」并不影響流程,只是一個中間動作,對流程沒影響我們就不用在流程中表現出來。
「退回、通過、拒絕」這3個操作,是直接影響流程的,我們需要在流程圖中表現出來。
對于「上游審批人」主要的流程節點是:完成審批
對于「用戶」主要流程節點是:收到審批通知、查看審批詳情、進行「退回、通過、拒絕」操作。
那我們就把整體流程節點畫出來:
第四步:確定每一個細節節點
對于上游審批人:也有審批操作,我們也加上;
對于用戶的「退回、通過、拒絕」之后的操作,題目中沒有進行描述。
對于OA審批,應該是:
通過:進入下一個審批人,如果沒有下一個審批人,則審批完成,流程結束
拒絕:審批完成,流程結束
退回:審批打回至上游審批人
我們把細節繼續進行補充:
接著我們再看每一步是不是有異常流程以及其它判斷條件。
對于登錄:這個是必須的,是整個大的前提條件,我們可以不用在流程圖上表示出來。
是否有權限:也就是 是不是在這個審批流里,按照題目的要求肯定是在的。
……
我們在接著看:為了能夠發現異常情況與其他分支,
我們按照下面的思考方式在盤一遍:
1)「當前這步」一定能操作嗎?是不是有前置條件?
比如:「點擊退回」一定能操作嗎?是不是有前置條件?
——(假設)不一定能操作,當后臺配置中的「允許退回」開關為「是」時,可以退回;當開關關閉時,退回按鈕不可點擊。
(如果后臺有這個配置,那我們就需要把這個配置在流程上表現出來,或者是在旁邊使用文字補充說明)
2)「當前這步」一定能到「下一步」嗎?
比如:「用戶點擊拒絕」一定能到「結束」嗎?
——(假設)不能,點擊拒絕必須要求填寫拒絕原因。如果沒有填寫拒絕原因,則進行提示;如果已經填寫完成,則直接進行下一步。
3)「當前這步」會不會失敗?失敗如何處理?
——(暫不考慮)
4)「當前這步」用戶錯誤操作怎么辦?
——(假設)用戶誤點擊「通過」?點擊通過后流程就繼續往下走了,會影響之后的流程。
——用戶點擊「通過」時,添加二次確認,用戶再次點擊通過后則最終通過。
同樣的,對于「退回」也是同理。
按照這個思考方式,我們把每一步都過一遍,這樣可以極大的提高流程圖的全面性。
雖然很費勁,但是多畫幾次圖,熟練就好了。
然后我們補充這個流程圖,同時進行規范化的調整。
實際上這個流程圖中還能有一些點需要考慮:
- 用戶長時間不進行審批如何處理?
- 退回時是不是也要填寫退回原因?
- 審批過程中申請人刪除了審批如何處理?
……
大家可以自己思考下,不再贅述了。
六、總結
上邊講解了流程圖的繪制方法,不過在實際工作中,流程圖也不是必須要畫的,比如說相當簡單的功能,不涉及到業務判斷等處理,我們只需要簡單梳理,并不一定要畫流程圖。
但是如果是B端復雜的業務流程,畫流程圖則是必須要有的。
希望這篇文章能幫到你。
本文由人人都是產品經理作者【王大鹿】,微信公眾號:【產品大鹿】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于 CC0 協議。
剛開始干的時候還畫畫, 后面直接上原型整(流程都在腦子里了{狗頭})
順便想請教一下,這個流程圖是拿什么軟件畫的
飛書
太干活了!以后就按照這個模板努力練手,絕對很棒啊
好貼dd,感謝大佬