使用系統進行流程化,一般需要有一些重覆性的流程程序,意即有不同的工作,當中存在既定的關連性及邏輯關係。透過系統整合,可以standardize整套流程,避免做錯、做漏。下面以一個申請入會的流程作為例子,牽涉的節點包括:
填寫資料 -》提交申請 -》內部審批 -》通過申請並保存紀錄資料
第一步 繪畫流程草圖(可以用BI Tool,更簡單則用白紙畫)
第二步 整理流程節點清單 (建議用Excel 整理)
- 按現有已知的流程,嘗試繪畫出流程的初稿
- 繪畫時宜先針對Normal Positive Case,即正常情況下完成的流程,作為流程基礎
- 在基礎上加入特殊情況,對出現Branch的情況,配上condition
- 一般做法正常流程節點使用長方形標示,出現 condition 則使用菱形標示
- 盡量把所有想得到會出現的各種情況加入流程
- 太複雜的地方可先留白,後續再補上(記著80-20 rule)
第二步 整理流程節點清單 (建議用Excel 整理)
- 按第一步繪畫的流程,以文字列出整個流程的所有步驟
- 同樣地,先列出Positive Case所牽涉的步驟,即正常情況下完成的流程
- 再加入特殊情況的流程節點
- 為所有節點配上編號,編號盡量是由小到大排
- 流程太長的話,編號可使用點數分隔 (e.g. 2.1, 2.2),以便將幾個關連節點整合
- 流程節點旁邊加入Action Owner,可以為內部人員或客戶
- 每個節點標上所使用的系統
- 加入Dependency資料,即開始進行本項節點前,必先完成的上一個部驟的編號
- 一般來說,較大的編號通常depends on 較小的編號
在經過第二步後,項目團隊應已更深入地想到流程上各種可出現的情況
而對於在第一步留白的地方,在第二步內一般能以文字詳細列出現有做法
有了第一步和第二步基礎,正式可以整合出仔細的流程圖
以下做法是筆者在一次項目中跟日本人所學,再進行了一些優化
第三步 整合仔細流程圖 (可用專門畫流程的軟件如Visio,但筆者也只是用Excel)
- 將整體流理以橫向平坦形式顯示 (X-Axis)
- 流程所牽涉系統以直向形式分類 (Y-Axis)
- 將流程節點放在對應系統的列上
- 正常流程節點使用長方形標示,邏輯判斷則用菱形
- 以不同顏色分辨角色 (i.e. Action Party),例如客戶,內部用戶及系統操作
- 配上Step No. (最好跟第二步的編號一致)
- 為每個牽涉人為操作的節點配上狀態名稱
- 補上 Start 及 End 後,理論上所有箭咀都一定要有頭有尾
下面為一流程製成示圖
當然以上這個例子是極為簡單的一個流程圖,僅作參考展示用途,實際上一個入會申請流程應牽涉更多步驟及系統。
以下為一些較common 要注意的地方
- 在第三步的流程圖,盡量要做到流程從左向右及從上到下發展,不要回帶
- 較多使用到的系統應盡量置頂
- 如果系統做判斷的邏輯較為繁複,可考慮在附頁詳細列出criteria,以保持流程圖整潔
- 畫箭咀時必須與圖形相連,確保移動步驟時可連帶箭咀一齊移動
做系統流程化項目是需要多做多學的,在做這類型項目的同時也會不斷學習,所以如果機構內有專門負責流程的部門,應可整合出更好的經驗,事半功倍。
關於電子表格的需求分析技巧,可參與這篇Blog
最後要特別點出的是,Workflow Diagram 跟State Diagram 並非一樣,也並不可共用,下次可開另一個Post 寫State Diagram 的用法。
最後要特別點出的是,Workflow Diagram 跟State Diagram 並非一樣,也並不可共用,下次可開另一個Post 寫State Diagram 的用法。