如何繪製流程圖

同一個名稱底下其實有三種圖。如何按用途決定層級、把這個層級貫徹到每一個方框,以及在一個方框脹起來時把它拆成第二張圖,而不是就地展開成六個。

流程圖以一個選定的層級,交代一個流程的步驟、決策與交接——可以是一項單一程序、一個跨越團隊的流程,或者一整條端到端周期。

簡而言之

  • 「流程圖」這個名稱底下有三種成品:一項程序、一個跨越團隊的流程、一整條端到端的鏈。
  • 層級來自這張圖將會被拿來做甚麼,永遠不是來自流程本身。
  • 顆粒度以交接來量度,不是以時間來量度——一個方框正當地容得下六個星期。
  • 決策不會抬高層級:菱形承載的是路向,不是工作。
  • 一個大到放不進這張圖的方框,應該變成第二張圖,而不是就地變成六個方框。

同一個名稱底下的三種圖

三種成品都答應這個名稱,而下面這張採購到付款圖,三種都可以是。程序層級的圖會抽起它其中一行——「按採購訂單登記收貨」——用十五個方框去講畫面、容差和催辦。流程層級的圖只畫核對和它的異常:四條泳道,由「應付帳款」一路到「採購」。真正畫出來的那張是整條鏈,由一項提出的需求到已納入報表的支出。天真的做法,是把三種一次過畫出來。

一個方框,是一項有人可以接下並完成的承擔,而且它內部發生甚麼都不會改變流程下一步去哪裡。這條規則要在第一行之前就寫下來,因為層級來自用途而不是來自流程本身:同一條採購到付款周期,對一位追查管控的審核員而言十五個方框剛好,對一位剛學開請購單的新採購員而言九十個才夠。兩者都對,而一張想同時兼顧兩者的圖,兩邊都不對。

下面這條採購到付款周期,六個階段、26 行,全程只守一個層級。「進行尋源並決標」是刻意保留成一個方框的,它涵蓋以星期計的工作,因為它內部發生的事不會改變流程下一步去哪裡。當「貨品或服務的收貨是否已登記?」發現沒有登記,它會把發票送回「按採購訂單登記收貨」——同一個層級,重複一次,而所謂迴環,從來就只是這麼一回事。

由一項需求到已納入報表的支出

採購到付款,由一項提出的需求到已納入報表的支出:26 行、六個階段、全程一個顆粒度——而一次完整的招標,只佔一個方框。

  1. 第一行之前先定顆粒度

    請購那段工作六行就完成:一個事件、「提交已填規格與編碼的請購單」,然後是「成本中心是否有預算餘額?」,它的「沒有」已經走到「請購單被否決或押後」。兩道關卡都沒有新增畫面或催辦——菱形承載路向,不承載工作。

  2. 一個方框,六個星期

    「是否已有合約或框架協議?」打開對外的路:走「有,直接下單」可以直達「向供應商發出採購訂單」,走「沒有,需尋源」則要經過「進行尋源並決標」——一個方框裝下一次完整招標,因為它內部不改變路向。

  3. 異常維持同一顆粒度

    交付、收貨、發票到齊,接著是連續三道關卡。「貨品或服務的收貨是否已登記?」把「欠缺,去催」送回「按採購訂單登記收貨」,而核對此刻只畫出「超出容差」那條出口,順利的一路稍後才匯回。

  4. 迴環在這裡合上

    餘下兩個迴環都在這裡合上,而且都沒有掉下一級。「異常是否已解決?」把「已解決,重新核對」指回「三方核對是否在容差範圍內?」,而「事後補開採購訂單並記錄在案」回到收貨那道檢查。「仍有爭議」止於「爭議依合約條款處理」。

  5. 一路守到最後一行

    付款入帳、批次放行,然後是「更新供應商主檔與支出紀錄」。這張圖有四行是終點——被否決的請購單、交回合約處理的爭議、一張無訂單的未付發票,以及「周期關閉,支出已納入報表」——每一個都是一個方框,而不是一段被概括過的路。

運作方式

  1. 點名讀者和用途

    寫一句話:誰會打開這張圖,他打開它是為了回答甚麼問題。培訓一個人去做一份工作、修好兩個團隊之間的交接、找出一條周期在哪裡蝕掉幾個星期,是三條不同的問題,同一件工作也會因此畫出三種大小不同的圖。

  2. 把顆粒度定成一條寫下來的規則

    動手打字之前先說清楚:一個方框是一個有單一負責人、單一結果的工作單位,而且它內部發生甚麼都不會改變流程下一步去哪裡。同時定一個方框預算——一項程序十至二十個,一個跨越團隊的流程二十至四十個——並把超支當成分層出錯,而不是當成做得周全。

  3. 按這個顆粒度把步驟輸入成行

    每一行的「方框文字」欄就是一個方框,圖表會隨著行一起長出來。按次序把流程走一遍,忍住不要把自己最熟悉的那一段展開;一個你想拆開的步驟究竟是不是兩個,答案由顆粒度規則給出。版面是自動生成的,所以事後沒有東西需要重新排列。

  4. 為路線編號,並為分叉加標籤

    「連線至」欄填的是一個步驟通往的行號,多於一個時以逗號分隔,而「連線文字」按同樣次序承載分支標籤。一個比它所在行更小的數字會畫出一條回頭的迴環——一張圖就是這樣說出工作被重複了一次,而不必因此掉到更細的層級。

  5. 填好泳道欄,再把鼓起來的那塊拆出去

    「水平泳道」承載階段,「垂直泳道」承載負責人。然後去找鼓起來的地方:方框數目是鄰居三倍的那個階段。把它的內容搬進第二張更細層級的圖,在母圖裡只留下一個以結果命名的方框,並在那一行的備註裡引用子圖。

  6. 拿點名的那位讀者來測試層級

    帶著第一步點名的那位讀者把完成的圖走一遍,對每一個方框只問一件事:對他來說,這個方框是不是大小不對?預期會得到兩種答案——有一個他想打開,有三個他從來不需要。然後把讀者和層級寫進圖表標題,讓下一個提議加方框的人,有一個寫明了的範圍可以拿來爭論。

應避免的錯誤

  • 沒有點名讀者,於是沒有東西算超出範圍

    沒有點名的讀者和點名的問題,任何提議加進去的東西聽起來都合理,圖就一直堆積到再沒有人打開為止。那場爭論從來不是關於流程;它是關於這張圖到底為誰而畫。

  • 靠刪掉菱形來簡化

    被要求把圖弄簡單一點,大部分人會去拿掉決策,而不是去收窄方框。刪掉「發票是否引用採購訂單?」,整條無訂單的支路會跟著一起走:圖是短了,層級沒有變,而它現在在描述一條路,實際上卻有兩條。

  • 就地把一個方框展開

    一個後來發現很複雜的步驟,會在原地收集六個方框,於是它周圍的每一個方框現在讀起來都像摘要。把它搬進自己的圖,原地只留下那一個方框,這樣母圖守住一個層級,細節守住另一個層級。

  • 拿時間長短當作拆分理由

    花掉多少時間不是顆粒度。一次招標內部不改變路向,它就是一個方框;而一項兩分鐘的檢查如果決定工作下一步去哪裡,它已經值得擁有自己的菱形。

繪製你自己的流程圖

把採購到付款周期收為你自己的圖表,再按你心目中的讀者定下顆粒度,並讓每一個方框都收在這個層級之下。

繪製你自己的流程圖

相關指南

常見問題

甚麼是流程圖?

以一個選定的詳細程度,把一個流程的步驟和決策畫出來的圖。這個名稱涵蓋三種不同的成品:描繪單一工作的程序層級圖;描繪跨越多個團隊的工作、通常用泳道呈現的流程層級圖;以及描繪一整條端到端周期(例如採購到付款)的鏈層級圖。它們共用一套符號,回答的卻是不同的問題,所以層級必須明確說出來,而不是假定大家都知道。

流程圖(process flow diagram)和一般流程圖(flowchart)一樣嗎?

在商業語境裡兩者可以互換:流程圖就是一個流程的流程圖。在化工與製程工程裡則不然。在那裡,process flow diagram 是一份特定的工程交付物,顯示設備、物流、流量和主要控制迴路,並由 ISO 10628 標準化;而大部分人真正想要的那種活動圖,會被稱為 process flowchart 或流程地圖。動筆之前先弄清楚對方要的是哪一種。

怎樣把一張流程圖拆成子流程?

在母圖裡留下一個方框,讓子圖擁有它下面那一層。示例裡的接縫是「進行尋源並決標」:母圖把它保留成一個方框,標籤以下一條箭嘴所依賴的那個結果收尾——決標——而子圖由這個方框收到的事件開始,並剛好結束在那個結果上。這樣邊界就可以被檢驗:讀子圖的最後一行,它必須說出母圖那個方框承諾過的事。沒有東西被畫兩次,每張圖也各自守住一個層級。

應該先畫哪一個層級的流程圖?

與你眼前那個問題相稱的那一層,而那通常是跨越團隊的流程層級。工作卡住的地方就在職能之間的交接,而只有這一層會把交接顯示出來。當問題是一整條周期在哪裡蝕掉幾個星期,就畫鏈層級;只有當有人必須被培訓去做一份具體工作時,才畫程序層級。一開始就把三層都做出來,等於得到三張圖,而它們會在一個季度之內開始互相矛盾。

本指南所用的範本

採購到付款(P2P)流程圖(由需求到付款) — 採購到付款流程圖,由識別出需求到付清供應商款項:請購、預算與授權額度審批、合約查核、發出訂單、收貨、三方核對、無訂單異常與付款批次。

Browse all 流程圖同業務流程繪製指南

採購到付款流程: 請購 → 審批 → 尋源與訂單 → 收貨與發票 → 核對與異常 → 付款與報表
如何繪製流程圖