流程文件與流程圖的版本控制

版本控制如何應用在流程文件——程序、作業指引與流程圖——之上,以及一張過時的圖表為何不只誤導讀者,還會誤導正在動手做的人。

流程文件的版本控制,即是為程序、作業指引與流程圖,配上跟任何其他受控文件一樣的識別碼、修訂、權威位置與檢討周期,再加一項額外要求:過時的圖表必須從作業現場撤走,不能只在檔案裡被替換。

簡而言之

  • 流程圖需要跟一份成文程序一樣的四項管制:識別碼與修訂、一個權威位置、一次被取代副本的撤回,加一個有日期的檢討周期。
  • 加一個步驟、改派一個負責人、幫決策分支改標籤,都是一次修訂,即使沒有一段文字改動、字數也沒有變。
  • 在作業現場,圖表比文字更受信任,這正是為甚麼一張留在原位的舊圖表,帶來的是誤導行動,而不只是誤導理解。
  • 追蹤是誰改了哪一條泳道、哪一列或哪一條連線,把任何兩個版本並排比較,並還原較早的一個——跟一份文字文件得到的是同一套版本歷史。
  • 撤回一張已被取代的圖表,代表要找出每一份列印本與每一份嵌入的副本,不只是替換權威位置上的那個檔案。

揀流程文件工具

圖表是用來跟從的,不只是用來讀的

程序裡的一段文字,要先被讀、再被詮釋、然後才被執行——三個獨立步驟,讀者可以在中途發現自己出錯。貼在工位上的流程圖,卻直接跳到執行那一步。掃一眼流程圖的人,對它形狀的信任程度,高於對一句話的信任,因為一張圖表讀起來像事實本身,不像某人對事實的轉述,而這份信任正正令一張過時的圖表變得危險:它不只誤導看着它的人,還會在動手的當下,誤導正在做這件工作的人。

流程文件——程序、作業指引、流程圖、RACI 圖——需要任何受控文件都需要的同一組四件事:一個獨立的識別碼與修訂、一個權威位置、一次被取代副本的撤回,以及一個有日期的定期檢討。這四項屬性坐落在其中的完整生命周期,見 /yue/guides/如何建立文件管制流程。專屬於圖表的改變較小,也容易被忽略:加一個步驟、減一個步驟、改派一個負責人、幫一條決策分支改標籤——沒有一項會動到字數,所以除非流程把每一次版面改動都當成修訂,否則沒有一項讀起來像修訂。

本頁與工具無關:無論地圖活在一個繪圖工具、一個維基頁面,還是一張圖表裡,這套紀律都成立。/yue/guides/流程圖版本控制實際運作方式 覆蓋同一個問題較窄、以特定產品為本的版本——變更日誌在一張實際流程圖上,逐個欄位記錄了甚麼。這裡下面的示例走一遍,用的是 QueryChart 的 document-control-process 圖表,因為它是這四項屬性的真實、可運作範例,並由 /features/version-control 所描述的版本歷史自動追蹤。

一張流程圖,當成受控文件逐階段走一遍

以文件管制生命周期,作為一張受版本控制的流程圖的實際範例——同一張圖表,逐條泳道展開,由變更原因一直到令它重開的檢討日期。

  1. 修訂由原因開始,不是由重畫開始

    起點列「識別文件需求或變更」,與其後的「提出文件變更申請」,兩者都在任何人動手改動圖表本身之前發生——對流程圖來說,變更原因必須以跟一段文字完全相同的方式記錄下來。

  2. 重畫就是起草

    「草擬或修訂內容」現在也包括重畫一個步驟、更改一條決策分支的去向,或者把一個方框搬到另一條泳道,而「有待處理的意見?」會把這種版面改動,像處理一則措辭意見一樣,送回「進行技術審閱」。

  3. 配給一張圖表的版本

    文件管理員泳道訂定版本與生效日期,寫進「更新文件總清單」,把它發佈,然後執行「回收已作廢的副本」——對一張圖表來說,這一步的回收,指的是貼在機台旁邊的流程圖列印本,不只是共用磁碟上的那個檔案。

  4. 在用的圖表,仍然有檢討日期

    培訓或「閱讀並確認新版本」發生在「使用現行受控版本」之前,而「文件是否仍然有效?」的既定檢討,給予圖表跟任何受控文件一樣的三個結果:「有效」記下日期,「修訂」循環返回變更申請,「廢止」以「文件已回收並廢止」結束。

運作方式

  1. 把版面改動當成一次修訂

    一條被搬動的決策分支、一條改派的泳道,或者一個改了標籤的步驟,改變讀者接下來要做的事,程度不亞於一段被重寫的文字。給你的流程圖跟程序一樣的修訂觸發點:任何改變了會發生甚麼的變更,而不只是改變了寫了甚麼的變更。

  2. 把版本與日期放在圖表本身上

    把識別碼、修訂編號與生效日期印在圖表上,不要只放在檔案名稱或引用它的登記冊裡。有人在螢幕或列印本上看着這張圖表時,不應該要另外去找一份紀錄,才知道它是否現行。

  3. 只保留一張權威圖表,其餘地方只放連結

    維基頁面、培訓簡報或供應商資料包裡的每一份嵌入副本,都應該連結到權威版本,而不是貼上一份匯出的圖片。一張貼上的圖片,一被匯出就停止更新。

  4. 記錄誰改了哪一列,而不只是有東西改了

    一份有用的圖表歷史,會點名那個欄位:這個方框的標籤、這條連線的目標、這條泳道的次序,由這個人在這一天改動。QueryChart 的變更日誌會為每一張圖表自動做到這一點,比較版本則把兩個版本並排顯示——見 /features/version-control。

  5. 撤回列印本,不只是舊檔案

    貼在工位上的流程圖,壽命比它印出來所依據的那個檔案長。像處理一份文字程序一樣,逐一走訪使用點——告示板、機台工位、入職資料包——並在每一次修訂發放時,替換或撤走每一份。

應避免的錯誤

  • 貼在牆上的列印本

    貼在機台旁邊的流程圖,是不受控列印本在圖表世界的對應物,通常也是審核員最先找到的那一份。在發放下一次修訂之前,先列出所有使用點,並在同一個回收步驟裡替換列印本——由申請到退役的完整生命周期,見 /yue/templates/文件管制流程。

  • 改了決策分支標籤,卻沒有變更紀錄

    把「批准」改名為「有條件批准」,或者把一列「決策」的「是」分支改指向另一個下游步驟,會改變流程本身,卻沒有動到任何一句文字。如果你的版本歷史只追蹤檔案儲存,這次修訂就會隱形。

  • 一次匯出,多份過時副本

    貼進維基頁面或培訓簡報的一張 PNG 或 PDF,是一張快照,不是連結——來源圖表更新時,它不會跟着更新。每一個引用流程圖的地方,都應該指向權威版本,而不是某人從舊版本匯出的一個檔案。

  • 流程有負責人,圖表卻沒有

    一個流程可以有一位具名負責人,而描繪它的地圖卻不屬於任何具體的人——這正是它經歷三次重組都沒有人碰過的原因。給圖表本身一位審閱人與一個檢討日期,不只是給它旁邊的程序文字。

建立你自己的版本受控流程圖

把文件管制示例開成你自己的圖表,從此你改動的每一列、每一條泳道與每一條連線,都會被記錄在它的版本歷史裡。

建立你自己的版本受控流程圖

相關指南

常見問題

流程圖算是受控文件嗎?

如果它帶有受控文件應有的義務,就算:識別碼與修訂、一份審批紀錄、一個權威位置,以及一個檢討周期。格式不是決定因素——流程圖、RACI 圖與一份成文程序都可以是受控文件;而一張略過版本控制、旁邊的程序文字卻有版本控制的圖表,其實並不受控,只是看起來整齊而已。

如果沒有文字改動,甚麼才算是流程圖上的一次版本變更?

加一個步驟、減一個步驟、把負責人改派到另一條泳道、幫一條決策分支改標籤或改去向,或者對調兩個步驟的次序,即使沒有一句話被重寫,都算是一次版本變更。判斷準則是:這次改動有沒有改變讀圖的人接下來會做的事——如果有,那就是一次修訂,不是排版微調。

這跟流程圖的版本控制有甚麼不同?

本頁覆蓋的是任何流程圖都需要的版本紀律,與畫圖所用的工具無關。/yue/guides/流程圖版本控制實際運作方式 則從一套特定產品內部覆蓋同一個問題——變更日誌在一張實際流程圖上,逐個欄位記錄了甚麼,以及比較版本與還原實際上如何運作。

流程文件需要跟一份文字 SOP 一樣的版本控制嗎?

需要——那四項屬性,識別碼與修訂、一個權威位置、被取代副本的撤回,以及一個有日期的檢討,無論格式為何都適用。分別只在於失效模式:一段過時的文字,誤導的是要去詮釋它的讀者;而一張過時的圖表,卻會被直接跟從——這正是為甚麼撤回這一步,對流程圖來說,比對一頁文字更加要緊。

本指南所用的範本

文件管制流程圖 — 文件管制流程圖,設有撰寫人、審閱人、審批人、文件管理員與最終用戶五條泳道:起草、審批、發放與定期檢討。

Browse all 流程管治同版本控制指南