把“交文档”当成一个正式交付物,而不是合作的终点:双方接口要围绕文档能否被第三方独立执行来设计。判断标准只有一条——拿文档给另一位实施者,在不追问原作者的前提下能否完成上线并验证。能,接口重心放在验收与责任边界;不能,接口重心放在补全信息与联调支持,否则文档只是看起来完整。
这是决定接口形态的第一个岔路。可独立执行的文档通常包含:改动对象的精确定位(模板、组件、样式或配置项)、改动前后的对照、依赖关系、回滚方式、验证步骤。只可阅读的文档则大量出现“建议优化”“视情况调整”这类描述,缺少具体位置和判定标准。
两种局面下的接口设计完全不同:
一个可操作的动作:抽取文档中三条最具体的改动建议,交给未参与撰写的同事按文档操作。如果他能在不提问的情况下完成并说明验证方式,说明文档接近可独立执行;如果卡在“改哪里”“改成什么算对”,就属于第二种局面,接口要按补全流程设计。
当文档可独立执行,双方接口可以简化为三个节点。第一,交付清单:明确文档覆盖的范围(页面类型、模板、功能模块)和不覆盖的范围。第二,验收标准:不是“文档写了多少页”,而是“随机抽取若干条建议,执行者能复现且结果可验证”。第三,答疑窗口:约定一个明确的响应时限和答疑次数上限,超出部分如何计费。
这里有一个容易被忽略的取舍:答疑窗口越长,供应商越倾向把文档写粗,因为后续可以口头补。反过来,把答疑次数压得很低,又会逼出过度保守的文档——只写不会出错的内容,避开真正需要判断的部分。折中做法是把答疑分为“文档歧义澄清”和“新增实施支持”两类,前者不计次,后者计次。这样供应商没有动机留模糊点,你也不会为正常澄清付费。
动作与结果:把上述分类写进合作确认文件后,再抽查文档的歧义密度。如果歧义澄清请求集中在少数几处,说明文档质量可接受;如果分散在大量条目上,说明接口设计得再细也救不了文档本身,应回到交付标准重新谈。
只可阅读的文档,接口要按“执行方主导、供应商配合”来设计。具体包括:
这个流程的关键在于把责任切开。假设一份文档建议调整某类页面的标题结构,但没写清哪些页面属于该类。执行方按自己的理解批量处理后,发现部分页面被误改。此时如果接口里没有“补全清单”环节,责任会纠缠在“文档没写清”和“执行方理解错”之间;有了补全清单,误改属于执行方未确认就动手,责任清晰。
需要说明的是,这种切分只在文档确实无法独立执行时成立。如果文档本身已经写明页面范围,执行方仍误改,那就是执行问题,不应借此把责任推给供应商。
合作中出现“改了但没变化”或“执行后反而更乱”时,直觉往往指向供应商文档质量。但归零的结果不能单独证明任何一方有问题,至少还有几种合理解释:改动未真正上线、缓存或构建流程未刷新、改动对象与预期页面不是同一批、验证方式本身不成立。
区分方法是用可核对的证据逐层排除:
如果三层都排除后问题仍在,才回到文档本身找原因。这个顺序的意义在于:先排除执行与验证环节,能避免把接口问题误判成文档问题,也能避免反过来把文档缺陷当成执行失误。
再完整的接口也有覆盖不到的情况,提前写明例外比事后争论更省成本。常见例外包括:文档交付后目标页面结构发生变更、执行方引入文档未涉及的新需求、供应商在答疑中给出的口头建议与文档不一致。
对最后一种,处理原则是口头建议不构成交付内容,除非双方书面确认补充。对前两种,处理原则是超出原范围的补全或联调按新增工作处理,而不是默认包含在原接口内。把这些写在前面,双方在遇到例外时都有据可依,不必每次重新谈判。
接口设计的最终目的不是把责任分得滴水不漏,而是让文档在离开撰写者之后仍然能被使用。先判断文档属于哪种局面,再选择对应的接口形态,最后用可核对的证据定位问题,这套顺序能让合作在供应商不实施的前提下依然可控。