需要重估的不是合同总价,而是那些与旧技术栈绑定的交付物:主机与运行环境、构建与发布流程、安全策略、备份恢复、监控告警、以及按页面数量或模板套数计价的维护口径。换栈后如果这些部分照旧执行,通常会出现“钱照付、事没做对”的错位。
假设某遵义本地企业原站点用开源CMS搭建,服务方案按“主题模板数量、插件安装、主机空间、每月内容更新条数”报价。现在决定改为前后端分离的自研栈,前端静态构建、后端提供接口。此时原方案里至少有三处不再成立:一是“主机空间”对应的是能跑PHP的虚拟主机,而新栈需要能部署静态产物与接口服务的环境;二是“模板与插件”变成了组件与依赖版本管理,谁来升级、升级后谁回归测试,原方案没有对应条目;三是“内容更新条数”若由后台编辑器操作,新栈的编辑入口和权限模型不同,工作量口径随之改变。
这个情境的重点不是换栈本身对错,而是提醒:报价单上的名词没变,背后的工作量已经变了。
可以沿用的部分通常与具体技术无关:域名与备案主体信息、内容归属与账号所有权、服务响应时段、双方对接人、验收的总体标准(可访问、内容正确、表单可用)。这些不因换栈而失效,重谈时不必推翻。
必须重估的部分,可以用一个简单判据:该条目是否直接依赖旧栈的运行时、目录结构或操作界面。依赖的,就要重估。常见的有:
第一种做法:保留原服务方案框架,只替换技术名词,把“主机空间”改写成“云资源”,其余条目和价格不动。这种做法成立的条件是,服务方同时承担运行环境与发布流程,客户不接触构建和部署,且新旧栈的维护工作量接近。代价是口径模糊,一旦出现构建失败或依赖漏洞,容易在“这算不算在服务范围内”上扯皮。
第二种做法:把方案拆成“运行环境与发布”“应用维护”“内容运营”三段分别报价。成立的条件是客户内部有技术人员能接手其中一段,或者愿意为明确的边界多付一点管理成本。代价是合同条目变多,需要更清楚地定义每段的验收动作。
判断依据可以看一个信号:换栈后,谁能在故障发生时第一时间动手。如果只有服务方能动手,第一种做法更省事;如果客户自己的开发能改代码、发版本,第二种做法能避免为不需要的服务付费。
具体动作:拿旧方案逐条对照新栈,给每条标注“沿用、改写、删除、新增”四种状态,并注明责任方。例如“每月内容更新10条”若在新栈中由客户自行在管理端完成,就标为删除;若仍需服务方代为录入,则标为改写并重新估算单条工时。
这个动作的结果会直接影响下一步谈什么:如果“新增”条目集中在运行环境和发布流程,说明谈判重点应放在运维责任与响应时间,而不是继续纠缠页面数量;如果“改写”条目集中在内容与权限,说明需要重新约定操作培训和账号交接。反过来,如果对照后发现绝大多数条目都能沿用,那么换栈对服务方案的实际冲击有限,不必为重构合同投入过多精力。
一类是并行期成本。换栈往往不是一次性切换,旧站还要在线一段时间,此时可能出现两套环境同时维护、内容双份录入的情况。原方案若按单站点计价,这部分需要单独说明。
另一类是回退成本。新栈上线后若出现严重问题,能否快速切回旧环境,取决于数据与配置是否保留。这项能力是否包含在服务方案内,应在重估时明确,而不是等出事再谈。
把这两类成本写进重估清单,比单纯比较新旧报价高低更能反映真实负担。