修訂控制與版本控制的真正分別
修訂控制與版本控制,是大部分從業者互換使用的近義詞。本頁指出兩者之間唯一真實存在的細微分別,不去發明一個實際上不存在的區別。
修訂控制與版本控制,是同一套底層做法的兩個名稱——隨時間追蹤文件有日期的變更——確實存在的分別,只在於側重點,不是兩套互相競爭的系統。
簡而言之
- 「修訂控制」與「版本控制」描述的是同一種做法;大部分從業者把兩個詞互換使用而不損失任何意思。
- 真正存在細微分別的地方:修訂通常指個別、有日期的變更項目,版本通常指整份文件所處的結果狀態。
- 不要為同一個概念建立兩本紀錄冊——一份版本歷史,無論叫哪個名字,就已經足夠。
- QueryChart 免費的版本歷史(變更日誌、比較版本、還原),無論你的機構偏好哪一個詞,運作方式都一樣——見 /features/version-control。
- 這個細微分別,對一本獨立的變更日誌最為重要;建立一本,見 /yue/guides/如何建立文件修訂紀錄。
一份紀錄,兩種說法
一位品質經理問,自己的登記冊應該叫做「修訂紀錄冊」還是「版本歷史」,得到三位同事三個自信滿滿、卻互相矛盾的答案。三人講的其實是同一份文件。這不是一個值得修正的術語落差——這是一個訊號,顯示兩個詞在同一句話裡都在做真正的工作,只是為同一項活動命名不同的顆粒度,不是兩項不同的活動。
顆粒度,是唯一值得保留的分別。「修訂」是描述一次有日期、有歸屬的變更較自然的字眼——變更日誌裡一行記錄的那個東西。「版本」則是描述那次變更套用之後,整份文件所處狀態較自然的字眼——讀者打開來讀的那個東西。修訂是一步;版本,是那些步驟走到的地方。下面的圖表之所以叫做文件修訂紀錄,正是這個原因:裡面每一行都是一次修訂,而「現行版本」,就只是最新一次修訂結案之後,那份文件所處的狀態。
這是這一組配對裡,比其他幾組更窄的一個問題。變更控制與文件管制,是真正較廣泛、把版本化當成其中一種機制的流程——見 /yue/guides/版本控制與變更控制的分別 與 /yue/guides/版本控制與文件管理。修訂控制與版本控制不屬於那一類配對:大部分從業者、大部分標準、大部分軟件,都把兩個詞互換使用而不損失任何意思,而 QueryChart 自己免費的版本歷史——變更日誌、比較版本畫面、一鍵還原,見 /features/version-control——無論你的機構偏好哪一個名詞,運作方式都完全一樣。
如果你要找的其實是那個一般定義,/yue/guides/文件sop與流程的版本控制是甚麼 有完整覆蓋。本頁假設那個定義已經成立,回答的是它底下較窄的問題:用詞的選擇,是否重要,重要在哪裡。
一本修訂紀錄冊,逐行拆解
看着單一項變更,以一次有日期、有歸屬的修訂身份,走過五條泳道——並看清楚紀錄冊在哪裡不再談論這條項目,開始談論文件的現行版本。
一項申請,還未成為一次修訂
圖表由「針對一份受控文件申請變更」開始,移到「提交變更申請,附上原因與目標文件」,然後到達關卡「變更是否獲批准記錄?」——這裡答「否」就會結束於「申請被拒絕,不予記錄」,永遠不會成為一條項目。
開立項目,不是編輯文件
「開立一條待處理紀錄項目」開始這份紀錄,「編配項目編號並連結文件」給予這次修訂一個跟文件本身分開的獨立識別碼,「把變更指派給一位作者」點名誰將要做出這次變更——這是紀錄冊多了一行,發生在文件本身有任何改動之前。
改動,然後對照自己的描述查核
「在文件中實施變更」與「記錄前後描述、作者與日期」,就是修訂本身;「把紀錄項目對照已實施的變更查核」、「是否已對照文件核實?」與「差異出在文件還是紀錄項目?」,則攔截項目所聲稱的內容,與文件實際顯示的內容之間的不一致。
結案這條項目,產生現行版本
「結案紀錄項目」與「通知申請人變更已完成」完成這次修訂,「在定期審核中抽查已結案項目」是這本紀錄冊隨時間贏得信任的方式,而「修訂紀錄項目已結案並可供審核」,正是讀者此刻會稱之為文件現行版本的那個狀態。
運作方式
為你自己的登記冊選定一個字眼,不再重新爭論
為你機構的登記冊,決定用「修訂紀錄冊」還是「版本歷史」,把它放進登記冊自己的標題與欄位標頭,然後往前走。任由不同團隊為完全一樣的行,用不同詞彙各說各話,浪費的時間遠多於這個選擇本身的價值。
每一次修訂都有它自己的一行,絕不是一個被覆蓋的欄位
在示例圖表裡,每一次修訂都是它自己一列「檔案」形狀的列,帶有自己的編號,在「編配項目編號並連結文件」配給,而不是一個你不斷覆寫的計數器。用同樣的方式建立你的紀錄冊:一次變更是一條新紀錄,不是對上一條的編輯。
在項目裡記錄改了甚麼,不只是有東西改了
「記錄前後描述、作者與日期」,是值得原封不動照抄的一列:點名那個欄位或條款、它的舊值、它的新值、誰做的變更,以及何時。一行有日期、卻沒有寫明改了甚麼的紀錄,不是一條修訂項目,只是一個時間戳。
結案之前,對照文件核實項目
「把紀錄項目對照已實施的變更查核」與它的「是否已對照文件核實?」關卡之所以存在,是因為項目與文件會漂移——一段在改動完成之前寫好的描述,或者一次比申請所講的走得更遠的改動。在結案這一行之前,把不一致送回出錯的那一方。
文件已經活在 QueryChart 裡時,讓紀錄自己記錄自己
如果那份受控文件本身就是一張 QueryChart 圖表,它的變更日誌已經在每一次修改時,自動記錄誰改了哪個欄位、由甚麼改成甚麼,無須任何設定。你不用把上面那些修訂行,另外手動維護成一張獨立的表格——見 /features/version-control。
應避免的錯誤
為同一個概念準備兩本紀錄冊
為同一份文件,同時維護一本獨立的「修訂登記冊」與一份獨立的「版本歷史試算表」,保證兩者在有人只更新其中一份的第一天就會出現不一致。只保留一本紀錄冊;叫它機構偏好的任何一個名字都可以。
把用詞爭論,當成交付成果本身
花一小時決定一個欄位應該寫「修訂」還是「版本」,就是一小時沒有花在記錄審核員或同事真正需要的前後值上。挑一個詞,然後去記錄那個欄位。
因為項目「明顯」相符,就略過核實
「是否已對照文件核實?」存在的原因,是項目與文件有時會不一致——描述在改動完成之前就寫好了,或者改動比申請所講的走得更遠。略過這個查核,會把紀錄冊變成一個願望,而不是一條紀錄。
刪除一條錯誤項目,而不是用新項目更正它
一條結果是錯誤的修訂項目,應該用一條新的、有日期、寫明這件事的項目去更正,而不是被移除。一本連自己的錯誤都不見了的修訂紀錄冊,一旦有人發現有東西缺失,就不再值得信賴。
在 QueryChart 建立你自己的修訂紀錄冊
QueryChart 裡每一張圖表都會自動保留這份紀錄,無論你用哪個詞去稱呼它——打開一張,親自看看它的變更日誌。
相關指南
常見問題
「修訂」跟「版本」是同一回事嗎?
在大部分用法裡,是——兩個詞描述的是同一份底層紀錄,兩者互換使用,機制上沒有任何改變。真正出現分別的地方,是顆粒度:修訂通常指個別、有日期的變更,版本通常指那次變更套用之後,整份文件所處的結果狀態——在上面圖表裡,每一行是一次修訂,另一端走出來的那份文件,就是現行版本。
我應該把我的紀錄冊叫做「修訂紀錄冊」還是「版本歷史」?
跟從你機構、標準或軟件已經在用的那一個——ISO 9001 文件通常說「修訂」,大部分 SaaS 產品則說「版本」(包括 QueryChart,見 /features/version-control)——而你自己登記冊內部的一致性,遠比你挑哪個名詞重要。不要為同一項成品,同時並行使用兩個詞。
這個分別對審核重要嗎?
不是大家想像的那種重要。審核員查核的是每一次變更有沒有日期、有沒有歸屬、可不可以取回——不是登記冊用哪個名詞標記。更重要的是不要把「修訂控制」跟完整的文件管制生命周期混為一談:為一次變更編號,跟由頭到尾管制一份文件,兩者的分別見 /yue/guides/如何建立文件管制流程。
這個細微分別,實際上在哪裡最重要?
最直接的場合,是一本獨立的變更日誌或修訂登記冊——一項成品,它存在的全部目的,就是列出有日期的個別項目,而「修訂」描述這一點,比「版本」更精準。建立一本,見 /yue/guides/如何建立文件修訂紀錄;本頁假設的那個較廣泛定義,見 /yue/guides/文件sop與流程的版本控制是甚麼。
