判断返工归属,不靠谁态度强硬,而看返工是由“需求或验收标准发生变化”引起,还是由“实现未达到已确认标准”引起。前者通常计入新增工时,后者通常由开发方自行承担。落到操作上,你需要先找出双方都确认过的基准材料,再拿返工内容逐条对照它。
工时计费最容易扯皮的地方,是双方各自记着一版口头约定。你需要把手上零散的需求聊天、原型截图、验收说明整理成一份“基准清单”,并确认它对应的是哪次确认。基准不清,任何归属判断都只是各说各话。
假设一个场景:原型里写“列表支持按状态筛选”,开发做完后你说“还要支持按时间范围筛选”。这不是实现错误,而是新增需求,对应工时通常由你承担。反过来,如果原型明确写了“按状态筛选”,但开发只做了前端展示、没接后端过滤,这属于未达到已确认标准,返工工时一般由开发方承担。
实际项目里有两套看似都合理的处理方式,选择取决于返工的性质是否混杂。
更稳的做法是混合:先给返工项打标签,属于变更的走变更单,属于缺陷的走缺陷单。标签打不出来的那几项,说明基准缺失,应先补基准再谈工时,而不是当场争谁付钱。
具体动作是:把返工项逐条写成“原基准描述—实际交付—差异点”三列,只填事实,不填情绪。填完后你会发现,能明确指向基准的项和指不到的项自然分开。这个动作的结果直接决定下一步:指向基准的项进入缺陷流程,要求开发方在约定时间内修正;指不到基准的项进入变更流程,由你确认是否追加预算和工期。
假设你整理出十项返工,其中六项能对上基准、四项对不上。合理的结果是六项由开发方承担,四项按新增工时计费或延后处理。如果你跳过这一步直接要求全部免费返工,开发方可能表面答应,但在后续排期上降低优先级,最终拖慢的是你的上线时间。
按工时计费时,返工归属最终要落到工时记录上。你需要求开发方在记录里区分“首次实现”和“修正”,而不是笼统写“开发两天”。如果记录只有总数,你无法判断返工占了多少,也就无法验证归属结论。
一个可用的核对方式是:让每条返工对应到具体的提交或修改说明,并注明它属于哪一类。这样做的代价是增加了沟通成本,但换来的是每一笔追加工时都有据可查。若开发方拒绝拆分记录,你至少应要求返工项单独列出,避免它被混进正常迭代里。
很多返工争议的根源不是谁不守约,而是基准本身写得太粗。像“页面要好看”“交互要流畅”这类描述,无法用来判断归属。遇到这种情况,正确顺序是先补一份可核对的验收说明,再回头处理已经发生的返工。
补基准时,把模糊词换成可观察的动作或状态,例如把“加载要快”换成“首屏在约定网络条件下可交互”。这一步完成后,之前争不清的返工项往往会自动归类:能对上补充标准的按缺陷处理,对不上的按变更处理。基准补齐之前就急着分摊工时,通常只是把争议推迟到下一次返工。