判断返工归属,不看谁提出修改,而看这项修改是否属于原报价已经明确承诺的交付范围,以及返工原因能否归到某一方的可核实动作上。工时计费本身不判定责任,它只记录时间;归属要靠需求记录、验收记录和变更记录三样东西来对齐。
按工时计费时,返工通常落在两类里,处理方式完全不同。
真正难的是中间地带:需求写了“支持手机访问”,但没写清具体机型;客户在真机上看到错位,开发方认为已按标准实现。这类分歧不能靠争论解决,要靠可核对的项目。
当多个角色对同一事实理解不同,先别谈钱,先把事实固定下来。
做完这三步,返工要么被证明是范围内缺陷,要么被证明是范围外变更,中间地带会大幅缩小。
判断依据不同,选择也不同。
如果原文档写明“表单提交后显示成功提示”,而实际提交后页面无反应,这属于范围内缺陷。此时应要求开发方先修复,再讨论后续工时。若开发方主张这是环境或第三方服务问题,就回到第二步的可复现验证:换一个环境是否仍复现。仍复现,则归属开发方;只在特定第三方条件下复现,则需先确认该条件是否在原约定范围内。
如果客户在验收时提出“提示要改成弹窗,并且三秒后自动关闭”,而原文档只写了“显示成功提示”,这属于范围外变更。此时按工时计费成立,但前提是先补一条变更记录并确认。动作是:让提出方书面确认新做法,开发方给出预估工时,确认后再开工。结果会直接影响下一步——确认了,这笔工时进入账单;不确认,就不应开工,也不应产生争议工时。
假设某项目报价单写明“提交按钮点击后校验必填项”。验收时客户说按钮没反应。开发方检查后发现:必填项为空时按钮确实不跳转,因为校验逻辑要求先填完。这里有两种解释:
区分这两种解释的证据,是需求确认时的原话或原型图,而不是验收时的口头描述。这就是为什么变更记录必须在动手前写,而不是事后补。
有几种情况不能简单套用上面的判断。一是需求本身自相矛盾,比如文档一处写“自动保存”,另一处写“手动保存”,此时应先澄清需求,澄清所花的时间归属需双方单独约定,不能默认算某一方。二是返工由外部因素引起,例如第三方接口变更导致原有功能失效,这既不是客户变更也不是开发缺陷,处理方式应在合同里单独写明。三是免费修复不等于没有成本,即使开发方同意免费返工,客户侧的验收、沟通和上线推迟时间仍然是真实支出,判断归属时要把这部分一并考虑。
把返工归属落到需求记录、可复现验证和变更记录这三样可核对的东西上,按工时计费的争议就会从“谁觉得”变成“哪条记录支持谁”,下一步该修复还是该计费也就有了依据。