流程文档与流程图的版本控制
版本控制如何应用于流程文档——程序、作业指导书和流程图——以及为什么一张过时的图误导的是干活的人,而不只是读它的人。
流程文档的版本控制,是给程序、作业指导书和流程图配上任何受控文件都有的标识符、修订号、权威位置和审查周期,再加一条额外要求:一张过时的图必须从作业现场撤下,而不只是在文件里替换掉。
简而言之
- 流程图需要和一份书面程序一样的四项控制:标识符和修订号、一个权威位置、旧版本撤回、带日期的审查周期。
- 新增一个步骤、重新指派负责人、给判断分支改标签,即使没有一段文字变化、字数也没变,仍然是一次修订。
- 在作业现场,图比文字更被信任,这正是为什么一张留在原处的旧图误导的程度,远不止“让人看错”。
- 追踪谁改了哪条泳道、哪一行或哪根连线,把任意两个版本并排比较,还原到更早的版本——文字文档能拥有的版本历史,图也一样能拥有。
- 撤回一张被取代的图,意味着找出每一张打印件和每一份内嵌副本,而不只是替换掉权威位置上的那个文件。
选择流程文档工具
图是被照着做的,不只是被读的
程序里的一段文字,是先被读、再被理解、再被采取行动——读者能在这三步的任何一步发现自己理解错了。而钉在工位上的流程图直接跳到了“采取行动”这一步。看一眼流程图的人,对它的形状的信任程度,会超过对一句话的信任程度,因为一张图读起来像是事实,而不是某人转述的事实,而正是这份信任,让一张过时的图变得危险:它误导的不只是看图的人,还会在干活的当下,直接误导正在干活的人。
流程文档——程序、作业指导书、流程图、RACI 表——需要任何受控文件都需要的同样四样东西:唯一标识符和修订号、一个权威位置、旧版本撤回、带日期的定期审查。/zh/guides/如何创建文件控制流程 走完了这四项属性所在的整个生命周期。对图来说,真正不同、也容易被忽略的地方要小得多:新增或删除一个步骤、重新指派一个负责人、给一个判断分支改标签——这些都不会动到字数,所以除非流程把每一次版面改动都当作一次修订来处理,否则它们都不会被识别成修订。
本文保持工具无关:不管流程图存在于绘图工具、维基页面还是图表里,这套原则都成立。/zh/guides/流程图版本控制 从一款具体产品内部,讲的是同一个问题更窄的一面——变更日志在一张真正的流程图上会逐字段记录什么。这里,下面的图表演示用的是 QueryChart 的文件控制流程图表,因为它是这四项属性一个真实、可运行的例子,由 /features/version-control 所述的版本历史自动追踪。
把一张流程图当作受控文件,逐阶段走一遍
把文件控制的生命周期用作流程图受版本控制的实例——同一张图表,一条泳道接一条泳道地展开,从变更的理由到重新开启它的审查日期。
一次修订从理由开始,不是从重画开始
起点行“识别文件需求或变更”,以及它之后的“提出文件变更申请”,都发生在任何人碰这张图之前——对流程图来说,变更的理由必须像对一段文字那样被同样记录下来。
重画就是起草
“起草或修订内容”现在也包括重画一个步骤、给一个判断分支改指向,或者把一个方框挪到另一条泳道,而“有待处理的意见?”会把这类版面改动送回“开展技术审核”,就像对待一条措辞意见一样。
一张图会被分配到的版本
文件管理员泳道分配版本和生效日期,写入“更新文件总清单”,发布,然后运行“回收已作废的副本”——对一张图来说,这一步回收的是贴在机台旁的打印流程图,不只是共享盘上的那个文件。
在用的图也有审查日期
培训或“阅读并确认新版本”排在“使用现行受控版本”之前,而计划审查“文件是否仍然有效?”给这张图和任何受控文件一样的三种结果:“有效”记录日期,“修订”回到变更申请,“废止”终止于“文件已回收并废止”。
运作方式
把版面改动当成一次修订
移动一个判断分支、重新指派一条泳道、给一个步骤改标签,改变读者接下来要做什么的程度,不亚于重写一段文字。给你的流程图和你的程序设置同一个触发修订的标准:任何改变了会发生什么的改动,而不只是改变了写了什么的改动。
把版本和日期印在图本身上
把标识符、修订号和生效日期印在图表上,而不只是留在文件名或引用它的登记册里。有人在屏幕上或打印件上看这张图时,不应该还要另外去查一份记录才能知道它是不是当前版本。
只保留一张权威的图,其他地方都是链接
维基、培训材料或供应商资料包里内嵌的每一份副本,都应该链接到权威版本,而不是持有一份粘贴导出的图像。粘贴的图像,一旦被导出,就不会再更新。
记录谁改了哪一行,而不只是记录“有改动”
一份有用的图表历史要点名具体字段:这个方框的文字、这根连线的目标、这条泳道的顺序,由谁、在哪一天改动。QueryChart 的变更日志在每张图表上都自动做到这一点,比较版本把两个版本并排展示——见 /features/version-control。
撤回打印件,而不只是旧文件
钉在工位上的流程图,寿命往往超过打印它时用的那个文件。像对待一份文字程序一样,走一遍所有使用点——告示板、机台工位、入职资料包——在发布新修订版时逐一替换或撤下。
应避免的错误
钉在墙上的打印件
贴在机台旁的流程图,是不受控打印件的图表版,也往往是审核员第一个找到的东西。在发布下一个修订版之前,先列出所有使用点,并在同一个回收步骤里替换掉打印件——从申请到退役的完整生命周期,见 /zh/templates/文件控制流程。
改了判断分支标签却没有变更记录
把“批准”改名为“有条件批准”,或者把一个判断行的“是”分支重新指向下游另一个步骤,会在不改动任何一句话的情况下改变整个流程。如果你的版本历史只追踪文件保存,这样的修订就是不可见的。
一次导出,多份过时副本
粘贴进维基页面或培训材料里的一张 PNG 或 PDF 是一张快照,不是一个链接——源头的图更新了,它不会跟着更新。每一处引用这张流程图的地方,都应该指向权威版本,而不是指向某人从旧版本导出的一个文件。
流程有负责人,图却没有
一个流程可以有一位具名负责人,而描绘它的那张图却谁也不管——这正是它能在三次组织重组之后都没被碰过的原因。给这张图本身指定一位评审人和一个审查日期,而不只是给它旁边的程序文字指定。
创建你自己受版本控制的流程图
把文件控制示例打开成你自己的图表,从此以后你改动的每一行、每一条泳道、每一根连线都会被记入版本历史。
相关指南
常见问题
流程图算受控文件吗?
如果它承担着受控文件承担的义务——标识符和修订号、审批记录、一个权威位置、审查周期——那它就是。格式不决定这个问题:流程图、RACI 表和一段书面程序都可以是受控文件,而如果一张图跳过了版本控制,旁边的程序文字却有,那这张图其实并没有真正受控,只是看起来整洁而已。
如果没有文字变化,流程图上什么样的改动算是版本变更?
新增或删除一个步骤、把负责人重新指派到另一条泳道、给一个判断分支改标签或改指向,或者交换两个步骤的先后顺序——即使没有一句话被重写,这些都是版本变更。判断标准是:这个改动会不会改变看图的人接下来会做什么。如果会,那就是一次修订,而不只是排版调整。
这和流程图的版本控制有什么不同?
本文讲的是任何流程图都需要的版本化原则,与画图用的工具无关。/zh/guides/流程图版本控制 从一款具体产品内部讲同一个问题——变更日志在一张真实的流程图上会逐字段记录什么,比较版本和还原在实践中是怎样运作的。
流程文档需要和一份文字 SOP 一样的版本控制吗?
需要——标识符和修订号、一个权威位置、旧版本撤回、带日期的审查这四项属性,与格式无关。真正不同的只是失败方式:一段过时的文字误导的是必须去解读它的读者,而一张过时的图会被直接照着执行,这正是为什么撤回这一步对流程图比对一页文字更重要。