做过企业系统实施的人,大概都熟悉这样的场景:业务部门一轮轮接受调研,提供现有表格、制度和流程;实施人员据此配置字段、审批节点、角色和权限;试用之后,再根据反馈继续调整。

少一种情况,就加一个选项;有人处理不了,就补一个权限;流程走不通,就增加一个分支。等到系统终于上线,已经很难有人完整说清:这些配置之间有什么关系,哪些可以修改,改了以后会影响哪里。

而在产品演示里,这一切往往被概括成一句话:支持自定义,可以灵活配置。

配置能力确实降低了软件适配业务的门槛。但为什么工具越来越灵活,实施仍然如此费力?为什么企业换一套系统,往往又要重新经历一遍调研、配置和返工?

因为大量看起来属于“配置”的工作,实际上在决定业务如何进入数字世界。工具让这些决定更容易被实现,却没有自动解决它们应该怎样被作出。

一、拖一个字段,背后可能是一次业务建模

假设企业需要管理销售合同。新增合同已经有一张表单,现在又要支持合同变更。最方便的做法,似乎是在原表单上增加一个“业务类型”:新增或变更,再根据类型设置不同的字段和审批分支。

但继续往下问,问题很快就超出了表单配置。

变更关联的是哪一份合同?提交变更以后,原合同是否仍然有效?变更尚未批准时,履约应该依据哪个版本?如果交付物、付款安排或服务等级约定发生变化,哪些团队需要重新评估,哪些后续计划需要调整?

这些问题会决定系统里究竟需要表达什么。

合同本身需要持续维护当前有效的约定;一次变更则有自己的提出时间、变更内容、评估过程和生效条件,需要与原合同建立关系。如果只把它们压进一个类型字段,后面就可能不断补充判断:什么时候能改原值,什么时候保留旧值,哪些字段在什么情况下可见,审批通过后再更新哪里。

表面上增加的是字段和分支,实际处理的是对象边界、状态变化与业务规则。

配置工具可以让人快速完成操作,但不会仅凭一个下拉框,就替企业决定这些结构。无论最后通过代码实现,还是拖拽配置,这份建模工作都需要有人完成。

二、“支持自定义”,也把设计问题留给了客户

当产品提供自定义字段、自定义流程和自定义权限时,它看起来把一部分设计空间交给了客户。

这就像装修公司提供了丰富的材料和施工能力:墙可以拆,水电可以改,柜子也能定制。但空间怎么划分、动线怎么安排、各项设施如何配合,需要业主自己决定。施工越来越方便,并不意味着设计工作已经完成。缺少设计,业主就可能一边住、一边发现问题,再不断返工。或者想象一下只卖积木、不给图纸的乐高:使用者还得先学一波设计。

企业之间当然存在差异,图纸需要根据实际业务调整。但如果产品给出的答案始终停留在字段级的“可以自己配”,就相当于把建材和施工工具交到了客户手里,整体设计仍然没有着落。

业务人员熟悉自己的工作,但将这些工作抽象成一套跨部门、可运行的业务模型,需要另一种能力。业务人员通常会从当前使用的表格、已经形成的习惯和眼前的不便出发,提出“加一个字段”“多一个审批人”“这里允许修改”。

实施人员则熟悉产品能力,能够将这些要求转换成配置。但如果项目的工作方式主要是收集、确认和实现需求,那么谁来判断:这个字段是否属于另一个对象,这两个流程是否在重复表达同一项业务,这个审批节点究竟承担什么责任?

客户获得了配置能力,也被要求作出建模判断,却未必意识到自己正在承担这项工作。

于是,客户可能以为软件方会给出合理的业务设计,软件方则认为客户已经确认了需求。双方都完成了各自理解中的工作,中间那些决定系统结构的问题,却没有被充分处理。

三、局部都合理,放在一起却越来越难维护

这种缺口不会只在上线前出现,它会在日常使用中持续积累。

例如,为了知道采购服务于哪个项目,企业在采购单上增加一个“所属项目”字段,填写项目名称。页面上看起来已经有了关联,但一笔采购可能同时满足多个项目的需求,各项目分配多少、已经到货多少、还有多少缺口,这个字段并没有表达。

于是,采购延期时,系统仍然算不出哪些项目会受到多大影响;统计项目采购成本时,也无法准确分摊。这里需要明确采购明细与项目物料需求之间的分配关系,并记录相应数量。单据上多了一个项目名称,距离能够支持业务计算还差着一层结构。

到了系统对接时,这个问题会再次出现。API 可以把“所属项目”传给项目系统,但传过去的名称能否唯一对应一个项目?一条采购明细分给多个项目时,分别对应多少数量?如果这些关系从未被定义,接口也无从还原。数据虽然传过去了,业务关系仍然接不上。

流程和权限也一样。

某个节点找不到合适的负责人,就先指定一个人;担心遗漏相关部门,就再加一层审批;遇到特殊情况,就复制一条流程单独处理。每个配置都解决了当时的问题,时间久了,却形成一套只有少数老员工能够解释的运行方式。

业务调整后,维护人员需要逐项排查:哪张表用了这个字段,哪条流程判断了这个状态,哪些权限还绑定着原来的岗位。这些配置由一次次局部决定累积而成,背后未必形成过一套一致的业务定义。

跨系统以后,问题会进一步放大。同一份责任,在 OA 中体现为审批人,在业务系统中体现为操作权限,在项目系统中体现为任务负责人。各处分别维护,人员和分工一变,就得重新修改多遍。

配置地狱由此形成:局部需求不断得到满足,整体关系却越来越难以辨认和维护。

企业付出了大量调研和实施成本,得到了一套能够运行的配置,却未必形成了对业务结构的共同理解。下一次建设,仍然需要从旧表格、旧流程和人的经验里重新梳理。换了软件,原有的定义问题又出现一遍。

四、业务定义,本来就需要企业自己负责

走到这里,需要进一步问:业务建模究竟是谁的工作?

建模涉及企业如何理解自己的业务:什么是一份订单,什么条件下算交付完成,合同变更会影响哪些承诺,以及谁有权作出相应决定。这些定义最终需要企业自己确认,并随着业务变化持续调整。

从责任归属上说,业务定义本来就是甲方自己的工作。 外部团队可以提供方法和协助,但企业需要有能力承接这些判断,并对它们的长期后果负责。

软件实施通常围绕特定产品和项目范围展开,工作目标是让系统按确认的需求上线。持续理解整家企业、协调跨部门定义、维护跨系统的业务结构,很难自然落在某一个软件供应商的实施职责里。

互联网公司在这方面通常更容易形成承接机制。业务、产品和技术团队都在组织内部,产品人员将业务问题转化为对象、规则和系统行为,技术团队参与设计,并在上线后继续维护。业务变化与系统调整之间,存在一条相对连续的工作链路。

传统企业则往往拥有熟悉现实的业务团队,也购买了成熟的软件产品,却缺少持续连接这两端的职能。业务部门各自提出需求,IT 部门可能主要承担采购、运维和供应商协调,具体建设由不同乙方分项目完成。至于企业整体的业务应该怎样被定义、又如何被系统承载,未必有人明确负责。

可配置工具进入这样的组织后,这份缺失的工作就落到了无数个字段、流程和权限选项上,变成“请客户确认怎么配”。

因此,配置地狱最终暴露的是一个组织问题:企业需要持续定义自己的数字业务世界,却没有为这项工作建立相应的职能。 这正是《传统企业数字化里的隐形断层:谁来定义业务如何进入数字世界?》讨论的建模真空。

这个缺口也会延续到 Agent 落地中。过去,业务对象、状态和责任之间的含混,可以由熟悉业务的人在操作时补齐;现在希望 Agent 接手,它就必须知道:应该操作哪个对象,依据什么规则,谁有权确认,以及怎样才算完成。如果这些定义连企业内部都没有形成共识,Agent 就只能在每次任务中重新猜测。

今天让系统实施陷入配置地狱的业务定义缺口,也在阻碍 Agent 从演示走向日常运行。