合作中途业务缩减时,交付范围不能简单按比例砍功能,而应按“已上线且被使用的部分、已投入但未交付的中间件、尚未启动的模块”三类重新划分。多数返工和尾款争议,来自把第二类当成第一类继续维护,或把第二类当成第三类直接退款。下面从两个矛盾解释入手,给出可核对的判断证据。
业务缩减后,双方通常会把原合同里的功能清单划掉一部分,期望工作量同步下降。但实际接手时经常出现相反结果:功能少了,维护和沟通反而更重。常见原因是原方案里存在大量共用基础层,比如账号体系、权限模型、内容结构、数据字典。这些部分只要有一个模块上线,就必须整体保留,砍掉几个页面并不能减少它们的存在。
另一种解释是缩减动作本身引入了新工作:拆分代码、迁出已购的第三方服务、重做导航和信息架构、补做数据清理。这些工作不在原清单里,却会消耗交付时间。两种解释对应完全不同的处理方式,所以先要区分是哪一种。
解释一:基础层不可拆。如果缩减后剩下的功能仍然依赖同一套账号、权限、内容模型或支付流程,那么基础层必须保留,交付范围只能按“继续维护哪些入口”重划,不能按“删掉多少页面”折算。
解释二:缩减动作产生新工作。如果缩减意味着把原本合并部署的模块拆开、把共用数据分开、把已接入的外部服务停用或替换,那么新增的拆分、迁移、回归测试就是真实工作量,需要在重划范围时单独列出。
这两种解释可以同时存在,但主次不同。判断主次,决定了后续是压缩功能范围,还是追加一段收尾工作量。
不要凭感觉争论,用下面几类可核对记录来定位:
这些证据的作用是区分“功能数量下降”和“实际工作量下降”。功能数量下降不等于工作量下降,这是重划范围时最容易被忽略的一点。
证据齐了之后,把原交付项重新归入三类,分别约定处理方式:
一个假设例子:原计划做商品展示、在线咨询、会员积分三块,缩减后只保留商品展示。如果商品展示和会员积分共用同一套账号体系,账号体系属于第二类且被依赖,应保留并补完登录与权限的最小闭环;如果在线咨询独立接入外部服务,且商品展示不依赖它,就归入第三类直接停用。这个划分的结果会直接影响下一步:保留账号体系意味着后续仍要做权限回归测试,停用咨询则要确认没有残留的接口调用和页面入口。
范围重划完成后,只改功能清单是不够的,还要同步三处,否则后续仍会返工:
先做依赖清单和变更前后目录对比,再按三类归位,最后同步验收、排期和费用。这个顺序能让缩减后的交付范围可核对、可验收,也避免把基础层维护误当成可以一并砍掉的部分。