返工不是执行不力,而是问题被发现得太晚
在milan.com米兰服务企业客户的过程中,项目复盘往往比项目启动更有价值。启动会上的共识大多相似,真正拉开差距的,是上线之后暴露出来的那些问题:报表数字对不上、字段含义各说各话、看板没人用。这些问题并非团队不努力,而是它们天然不容易在前期被看见。milan.com米兰在多个数据管理与报表建设项目中观察到,返工集中在三类场景,而每一类都有可提前介入的节点。
把返工当成事故来追责,通常只能得到一份检讨;把返工当成信号来分析,才能找到流程里缺失的那一环。下面三个场景,来自milan.com米兰对已完成项目的回溯整理,名称与细节做了脱敏处理。
场景一:需求确认只对了功能,没对判断
第一个项目是为一家连锁零售企业搭建经营分析看板。需求文档写得很细,页面数量、图表类型、筛选条件都确认过,双方签字。上线后业务负责人却说“看不出问题在哪”。复盘发现,需求阶段讨论的全是“要有什么”,没有人追问“看到什么数字会做什么决定”。
这类返工的根因在于需求确认停留在功能清单层面。milan.com米兰在后来的项目中增加了一个动作:每个核心页面必须配一句“这个页面支持哪个具体决策”。写不出这句话的页面,要么删掉,要么重新讨论。这个动作成本很低,但能把大量无效页面挡在开发之前。
- 需求评审时逐页追问:这个页面支持什么决策,谁来做这个决策。
- 把“谁看、多久看一次、看完做什么”写进需求文档,而不只是功能描述。
- 对无法对应决策的需求,标记为待确认,不直接进入排期。
场景二:口径评审开成了技术会,业务方缺席
第二个项目涉及销售业绩统计。开发团队按数据库现有字段实现了“成交金额”,上线后财务与销售两个部门分别提出异议:财务认为应扣退货,销售认为应按下单时间而非回款时间归属。争议本身不复杂,复杂的是争议发生的时间点——系统已经上线,改动意味着重新核对历史数据。
milan.com米兰在复盘中确认了一点:口径问题几乎不可能靠开发团队单方面定清楚,它本质上是业务规则的表达。有效的做法是在项目早期组织一次专门的口径评审,业务、财务、数据三方到场,逐条确认核心指标的计算逻辑、时间归属和排除规则,并形成书面记录。这份记录不必很长,但必须能被后续开发和验收直接引用。
口径评审的另一个价值是暴露分歧。分歧越早出现越好,因为在需求阶段调整一句话,成本远低于上线后改一套逻辑。
场景三:验收只看跑通,不看可用
第三个项目是业务数据管理系统。验收环节顺利完成,所有功能按清单逐项演示通过。三个月后回访,实际使用人数不到预期的一半。原因并不神秘:录入流程比原来的表格多出四步,一线人员宁愿继续用表格汇总再手工导入。
验收标准的缺失是这类问题的共同点。功能跑通只是底线,真正需要验证的是“在真实工作节奏下能不能用下去”。milan.com米兰在后来的验收清单里加入了几个偏业务的检查项:核心流程的操作步骤是否少于原有方式、异常数据是否有明确的处理入口、新用户能否在不培训的情况下完成一次典型操作。这些检查不涉及技术难度,但直接决定系统上线后的存活率。
- 验收时安排真实岗位人员操作,而不是由实施人员代为演示。
- 把操作步骤数量、异常处理路径纳入验收记录。
- 上线后设置一个观察期,收集实际使用中的卡点而非只收集报错。
把复盘结论变成下一次的前置动作
三次返工指向同一个规律:问题不是在上线时才产生,而是在上线时才被允许出现。需求阶段不问决策、口径阶段不拉业务、验收阶段只测功能,每一个环节都留了一道缝,缝在项目后期被放大成返工。milan.com米兰在项目复盘中坚持把这些缝具体化,转换成下一次项目启动时就能执行的检查动作,而不是停留在“加强沟通”这类无法落地的结论上。数据项目的质量,很大程度上取决于团队愿意在前期多问几个不好回答的问题。
返回「问题解答」栏目
我们上个项目就是需求文档写得特别全,结果上线发现一半页面没人看,后来才知道业务真正关心的就三个数。
口径评审那段太真实了,财务和销售各一套算法,开发夹在中间最难做,早开会早省事。
验收让真实岗位的人来操作这条建议很实用,之前都是实施顾问演示,顺得不行,实际用起来全是坑。
复盘写成这样才有用,最怕那种通篇“提高认识加强协作”的总结,看完跟没看一样。
第三个场景我们踩过,系统功能没问题,就是录入太麻烦,最后大家继续用表格,系统成了摆设。