2020年2月28日星期五

需求分析入門 - 系統化流程

前一篇Blog 提到「流程化」,本篇為實戰教學,簡單介紹使用系統進行流程化管理的需求分析技巧,讀者需要對IT系統有最基本程度的認識,有需要的話建議可與修讀IT的朋友進一步討論。

使用系統進行流程化,一般需要有一些重覆性的流程程序,意即有不同的工作,當中存在既定的關連性及邏輯關係。透過系統整合,可以standardize整套流程,避免做錯、做漏。下面以一個申請入會的流程作為例子,牽涉的節點包括:
填寫資料 -》提交申請 -》內部審批 -》通過申請並保存紀錄資料

第一步 繪畫流程草圖(可以用BI Tool,更簡單則用白紙畫)
  • 按現有已知的流程,嘗試繪畫出流程的初稿
  • 繪畫時宜先針對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 的用法。

沒有留言:

發佈留言