有个做运营的朋友跟我抱怨,他们团队上个月接了一套自动化工作流,本意是把每周的数据汇总交给机器。结果三周过去,她花在核对上的时间反而多了。流程确实会自己跑,但跑出来的表格里,总有几行字段对不上,她得一个个翻回去找原因。
这不是工具的问题,也不全是配置的问题。它更像一个提醒:当我们说“把这件工作自动化”时,说的往往不是同一件事。
被执行的部分,和被判断的部分
日常工作中被叫作“流程”的东西,其实混着两种成分。一种是确定动作:把文件从A目录移到B目录,按固定格式拼接字段,到点发出提醒。这些动作有明确输入和输出,机器做起来稳定且不知疲倦。另一种是判断:这条数据算不算异常,这封邮件该不该现在回,这个客户的备注要不要保留。判断依赖上下文,而上下文常常没写进系统里。
自动化工作流擅长的是前者。它把一串确定动作串起来,按触发条件依次执行,人不用盯着。问题出在很多人希望它顺带把后者也解决掉。于是流程里塞进越来越多的条件分支,试图用规则穷举判断。规则一旦超过某个复杂度,维护成本就开始反噬——改一处条件,别处跟着出问题,最后没人敢动。
一个更实际的做法,是先承认流程里有“必须人来判断”的节点,把它显式标出来。比如在自动汇总之后插入一步人工确认,而不是让系统直接对外发布。这样机器负责搬运和整理,人负责放行。听上去不够彻底,但它保住了流程的可维护性。
异常才是真正的成本中心
顺利路径上的自动化,通常第一天就能跑通。真正让人头疼的是异常:源数据格式变了,接口偶尔超时,某条记录的必填项为空。这些情况在演示时很少出现,在真实环境里却天天发生。
所以评估一套自动化工作流是否值得接,比起看它顺跑时多快,更该看它出错时会发生什么。有没有失败重试,失败后有没有留下可读的记录,报错信息能不能让人一眼看出是哪一步、哪条数据出了问题。这些不起眼的细节,决定了出问题时你是花十分钟修好,还是花半天排查。
我见过一种常见误区:把异常处理当成后期再补的活。可一旦流程开始承担实际业务,改动它的心理门槛会变高,补异常这件事就容易被无限推后。比较稳妥的顺序是,先让流程在小范围内跑,专门收集它出错的样子,再决定要不要扩大范围。
先想清楚谁在维护
还有一件容易被忽略的事:流程上线之后,谁来改它。
如果只有一个人懂那套配置,那么这个人休假或离职时,流程就成了一份没人敢碰的资产。相比之下,把流程拆成几段职责清楚的小块,每块做一件说得清的事,反而更容易交接。名字起得直白一点,注释写清楚触发条件和预期结果,这些琐碎功夫在半年后会显出价值。
另一种选择是把配置权交给最接近业务的人。有些团队会让实际使用流程的同事参与搭建,哪怕只是改改字段映射和通知对象。这样做的代价是需要一些培训和规范,好处是流程不会变成只有技术侧能理解的黑箱。
它改变的是节奏,不是人数
回到开头那位朋友。后来她们的做法是:把自动汇总保留,但删掉了几个试图自动判断的分支,改成每天上午由人过一遍异常清单,五分钟内处理完。总耗时没有明显下降,但她的注意力从“盯流程有没有跑”变成了“处理真正需要判断的事”。
这大概是自动化工作流比较诚实的价值。它不会让人从流程里消失,而是把人的时间挪到更靠前或更靠后的位置——前面定规则,后面处理例外。中间那段重复搬运,交给机器。想清楚这一点,再接工具,会少走不少弯路。