把流程圖畫清楚,能解決很多問題——流程圖技法

5 評論 6148 瀏覽 84 收藏 21 分鐘

在工作中,流程圖是我們常用的一種技能/方法,可以幫我們更好提升工作效率。本文系統整理了流程圖的方法、類型和案例,希望可以幫到大家。

在我們分析需求時,有一個很重要的東西——流程

為了梳理業務流程,讓流程能走通,能夠形成閉環,不讓我們設計方案的邏輯缺失,這個時候就有一種很直接的方式——畫個流程圖。

一、流程圖的意義

對于流程圖,它的主要作用就是通過圖形化的方式,將業務流程清晰的展示出來。

下邊這幾張圖就是我工作中畫的,大家可以看下:

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 協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 剛開始干的時候還畫畫, 后面直接上原型整(流程都在腦子里了{狗頭})

    來自上海 回復
  2. 順便想請教一下,這個流程圖是拿什么軟件畫的

    來自廣東 回復
    1. 飛書

      來自上海 回復
  3. 太干活了!以后就按照這個模板努力練手,絕對很棒啊

    來自廣東 回復
  4. 好貼dd,感謝大佬

    來自上海 回復