有人把报销单拖进共享文件夹,等了三分钟,系统没动。他以为是网络慢,重启了一遍,还是没动。后来发现,是文件名里多了一个空格——触发器认不出。这类小事在自动化工作流的日常里很常见,也最能说明问题:流程跑得通,往往不是因为设计得多聪明,而是因为所有输入都刚好长得一样。
先想清楚哪些事不该进流程
很多团队上手自动化,习惯从“最频繁的那件事”开始。频繁意味着收益可见,但也意味着例外多。审批、对账、内容分发这类动作,表面上步骤固定,实际每次都有细微差别:谁先签、附件放哪、临时加的一句话要不要同步。把这些差异全部塞进流程,流程会越来越长,判断分支越铺越密,最后维护它的人自己都说不清某条线为什么存在。
更稳的做法是先找“输入稳定、输出可验”的环节。比如把固定格式的表格汇总成一份清单,或者在某份文件更新后通知相关人。这类动作边界清楚,出错也容易发现。至于那些需要临场判断的部分,留在人手里并不丢人。自动化工作流的价值不在于替代判断,而在于把判断之前那些机械搬运挪走。
例外处理才是真正的成本
搭一个能跑的原型,可能只要半天。让它稳定跑三个月,是另一回事。流程一旦进入日常,就会遇到设计时没想到的情况:上游改了字段名,下游接口超时,某天数据量突然翻倍。每遇到一次,就要有人去翻日志、定位、补规则。这部分工作不出现在任何演示里,却决定了这套东西能不能活下去。
所以看一个自动化工作流是否成熟,不妨问三个问题:出错时谁会知道?知道后能不能快速定位到哪一步?修好之后,同样的错还会不会再来一次?如果答案含糊,说明它还在“能用”阶段,离“可靠”有距离。可靠的流程通常带着明确的失败提示和重试边界,而不是默默吞掉异常,等到月底对不上数才被发现。
人留在环里的位置
有些环节适合全自动,有些适合半自动。区别在于错误的代价和纠正的难度。发一封内部通知,错了补一封就行;对外提交一份材料,错了可能要解释很久。后者更适合在关键节点设一个人工确认,哪怕只花十秒钟看一眼。这不是对技术不信任,而是对后果的分配。
把人工确认设计得轻一点,也很重要。如果每次确认都要打开三个系统、对照两张表,人很快就会烦,然后想办法绕过它。好的做法是把需要判断的信息集中到一处,让人只看该看的,点一下就走。自动化工作流真正节省的时间,很多时候不是省在机器执行上,而是省在人不用来回找上下文。
别让流程比业务活得久
业务会变,流程却常常没人动。半年前合理的分支,今天可能已经没人走;当初为了绕开某个限制加的判断,限制早就不在了,代码还留着。这类沉积不会立刻出问题,但会让后来的人不敢改,也不知道该删哪一段。
定期回看是有必要的,不用很隆重。挑一个季度,把流程里每个节点问一遍:这一步现在还有用吗?如果去掉会怎样?答案不确定的,先标记出来观察。流程是为人服务的,人对它保持一点怀疑,它才不至于变成没人敢碰的黑箱。
说到底,自动化工作流解决的从来不是“要不要人”的问题,而是“人把时间花在哪”的问题。把搬运交出去,把判断留下来,把例外想在前头——这几件事做到,流程才算真的站稳。