把接口设计成“文档输入—你方执行—对方确认”的三段式,而不是要求对方补做实施。核心是让供应商的文档成为可执行规格,并让每一段都有明确的输入、输出和退回条件。这样,旧合作关系可以保留文档价值、改写协作方式,或在成本不划算时有序退出。
供应商只交文档不实施时,最容易犯的错误是把所有文档都当作待接管的资产。先按“可执行程度”分三类:
判断依据不是文档厚薄,而是“一个没参与过项目的人能否据此写出可运行的代码或配置”。如果不能,就进入改写流程;如果连改写成本都高于重新定义,就退出。
文档交付型供应商通常不再承担实施,所以接口不应设计成“你问他答”的即时沟通,而应设计成异步的规格传递。假设一个场景:供应商交付了旧系统的数据同步文档,但不再负责部署。你可以把接口拆成三段:
这个设计的实际动作是:把每次提问都附上文档页码或字段名,并写明你方的默认处理方式。结果是供应商的回复从“我看看”变成“按第 3.2 节,你的默认处理正确”或“该字段已废弃,以新版为准”。下一步就能据此决定是继续执行还是触发文档更新。
接口如果没有退回条件,文档问题会无限循环。建议在双方接口中写明:
这些条件的作用是让“保留、改写、退出”三个选项有触发点。例如,某接口文档连续出现字段冲突,改写成本已经高于重新抓取数据,就应退出该文档的依赖,而不是继续修补。
如果供应商只交文档不实施,且文档质量持续不达标,退出是合理选择。但退出不等于全部丢弃。可保留的部分包括:数据字典、已确认的字段映射、部署拓扑图。需要重写的是需求描述和验收标准,因为它们原本依赖供应商的上下文。退出前做一个动作:用一份最小可运行配置或脚本验证文档中的关键字段是否仍然有效。如果验证通过,保留该部分;如果失败,记录失败点并停止在该文档上继续投入。
这个动作的结果会直接影响下一步:验证通过的部分可以进入你方实施队列;验证失败的部分则触发重新定义需求,而不是继续向原供应商追加文档要求。
双方接口最终要落到一份可交接的清单上,至少包含:文档名称与版本、负责确认的角色、输入格式、输出格式、退回条件、保留或退出的结论。清单不需要复杂,但每一项都要能回答“谁在什么条件下做什么”。如果供应商只愿意提供文档而不愿确认接口,那么接口设计应偏向你方单方面可执行:所有假设写进配置注释,所有未定义行为按你方默认值处理,并在后续实测中修正。这样,即使对方不参与实施,你方也能保持推进,而不是被文档缺口卡住。