先给结论:供应商只交文档不实施时,接口设计的关键不是把文档写得更厚,而是把“谁在什么条件下执行哪个动作”写成可验收的边界。若你能自行或另找团队落地,选“文档加验收样例”的接口;若后续实施仍依赖同一供应商,选“文档加阶段交接”的接口,并把每次交接与付款或确认挂钩。
第一种是文档加验收样例:供应商交付结构说明、字段定义、页面模板说明和一组可运行的静态样例,你方或第三方按样例实现。它成立的条件是:你方有能读文档并独立部署的人,且后续改动不需要供应商配合。代价是文档歧义会在实施阶段暴露,返工由你方承担;好处是责任清晰,供应商交付完即可退出。
第二种是文档加阶段交接:供应商仍不写生产代码,但按阶段把文档、配置说明、数据字典和测试要点交接给你方指定人员,每阶段结束后你方确认可继续。它成立的条件是:实施方与文档方需要持续对话,且你方愿意为沟通投入时间。代价是交接周期拉长,供应商可能以“已交付文档”为由拒绝额外解释;好处是歧义能在交接会上被当场追问,而不是等到上线前才发现。
判断选哪种,先看一个可观察信号:如果你方实施人员能在不联系供应商的情况下,仅凭文档完成一个最小页面并跑通数据读取,第一种接口可行;如果每次都要追问字段含义或模板变量来源,就应改用第二种。这个信号比文档页数更能说明接口是否够用。
无论选哪种,接口文档都应落到三类可执行条目,而不是停留在“提供技术支持”这类描述。
例外接口是这类合作最容易漏掉的部分。只交文档不实施的供应商,往往默认“文档写完即结束”,若不提前约定追问路径和答复时限,实施方会陷入等待。
假设你方拿到一份页面结构文档,其中列出首页、列表页和详情页的模块顺序,但没有说明列表页数据来自静态文件还是接口。此时不要先争论文档是否合格,而是先做动作:让实施人员只实现列表页的一个模块,用文档中出现的字段名去取数。
结果会有两种。若一次跑通,说明字段和结构足够明确,可以继续按第一种接口推进,把剩余页面按同样方式实现。若跑不通,且原因是文档未说明数据来源,就把这个缺口写进例外接口,要求供应商补充或改为阶段交接。这个动作的价值在于:它把“文档够不够”从主观判断变成一次可复现的尝试,后续是否追加沟通成本也有了依据。
如果选择阶段交接,建议把确认动作与付款节奏对齐:每阶段交接后,你方在约定工作日内书面确认“可继续”或列出缺口清单;未确认前不进入下一阶段。这样做的影响是,供应商知道解释文档属于交付的一部分,而不是额外善意;你方也知道每笔支出对应哪一段可验证的交接。
如果选择文档加验收样例,则把确认点放在样例验收上:样例能跑通、字段能对应、模板变量有出处,即视为该阶段完成。此时不必强求供应商参与后续实施,但应在文档中写明“后续实施问题不在本合同范围”,避免双方对责任产生不同预期。
有两种情况不适合硬套上面的选择。其一,若你方完全没有实施能力,只交文档的供应商无法支撑项目,此时应优先寻找能实施的一方,而不是在接口条款上继续细化。其二,若文档涉及你方无法自行维护的专有配置或账号权限,即使选了第一种接口,也应要求供应商在交接时提供权限转移或配置说明,否则样例跑通也不等于后续可维护。
接口设计的目标不是让文档看起来完整,而是让下一个执行动作有明确归属。先确定谁执行、执行到什么程度算完成,再决定文档要写到多细,这比先争论交付物清单更有效。