我接手过一个典型的失败立项:立项书写着“范围明确、8 周交付”,开工第 6 周,需求条目从 47 条涨到 129 条,而验收标准里能写清楚判定条件的只有 19 条。复盘时我发现,问题既不在开发,也不在需求方,而在立项阶段我们用错了数据,我们统计了需求条数,却没有统计范围边界到底有没有收敛。
这样的项目我见过不止一个。做过几年研发管理和过程改进之后,我逐渐形成一个判断:立项阶段的范围数据,90% 的团队采集的是“需求清单的长度”,而真正决定项目成败的是“范围边界的形状”。长度是一个静态数字,形状才包含收敛趋势、变更分布和验收确定性。
这篇文章把我踩过的坑、用过的指标口径、判断基线和取舍逻辑完整拆开讲。全文围绕一个问题:研发团队在立项阶段,到底该采集哪些范围数据、怎么分析、什么情况下该严控、什么情况下该主动留白。
一、核心结论:立项阶段真正要采集的是三类范围数据,不是一张需求清单
先把结论摆出来。绝大多数研发团队的立项范围分析做不出价值,不是分析能力差,而是采集对象错了,条数、优先级、提出人,这三样东西在立项阶段几乎没有预测力,它们描述的是“有多少事”,而不是“边界有多稳”。
真正能预测后期返工和工期偏差的,是三类数据:范围边界的收敛速度、变更的分布结构、验收口径的可判定率。它们有一个共同特征:都需要时间序列或分布形态,而不是一个静态数字。静态数字只能用来汇报,不能用来判断。
1. 第一类:范围边界的收敛速度
立项前 2 到 3 周,每周新增需求数应当逐周下降。如果第 3 周的新增数还高于第 1 周,说明范围边界根本没有收敛,此时任何“8 周交付”的承诺都是赌博,而且是把风险全部押在后期变更上。
我常用的判断基线是:连续两周新增需求环比下降不低于 30%,且新增需求中来自“新识别角色或新识别场景”的比例低于 15%。后者尤其关键,如果新增需求大量来自“又想到一个角色”,说明业务方的场景梳理根本没做完,这不是需求变更,这是需求没想清楚。
2. 第二类:变更的分布结构
不要只看变更总数,总是一个没有结构信息的数字。要看变更集中在哪些模块、哪些工作项类型上。经验值是这样的:前 20% 的模块承载 60% 到 80% 的变更,属于正常的长尾分布,说明范围设计基本合理,只是局部复杂。
但如果前 20% 的模块承载 90% 以上的变更,那就是结构性缺陷,不是执行问题。这种情况通常意味着架构分层或模块边界在立项时就没定清楚,后期无论换多少人、加多少班都救不回来。我遇到过的一个中台项目就是如此,前 3 个模块吃掉了 94% 的变更,最后只能推翻重做。
3. 第三类:验收口径的可判定率
所谓可判定率,是指每条需求能否用“是/否”或者明确数值来判定通过。比如“系统响应要快”不可判定,“列表页 P95 响应时间不超过 800 毫秒”就可判定。
我的经验基线是:立项阶段验收口径可判定率至少要达到 75% 才能进入排期;低于 50% 的项目,后期测试返工工时平均占总测试工时的 30% 以上。这个数字我在多个团队里反复验证过,偏差不大,因为它背后是同一个逻辑,口径不清的条目会在测试阶段反复扯皮。
4. 三类数据与传统立项数据的差异
| 对比维度 | 传统立项数据 | 三类范围数据 |
|---|---|---|
| 采集对象 | 需求条数、优先级、提出人 | 收敛速度、分布结构、可判定率 |
| 采集时点 | 立项评审会一次性采集 | 立项前 2 到 3 周持续采集 |
| 与返工的相关性 | 弱相关,几乎无预测力 | 强相关,可用于排期决策 |
| 更新频率 | 立项后基本不再更新 | 每周滚动更新 |
| 主要风险 | 用静态数字承诺动态范围 | 采集成本略高,需要工具支撑 |

二、背景与真实场景:范围数据在立项阶段就已经是脏的
很多团队抱怨“数据分析做不起来”,但真实情况是数据在立项阶段就已经被污染了。后面再怎么做看板、做报表,也只是把脏数据可视化而已。下面这四个原因,几乎每个研发组织都能对上号。
1. 立项会的产出物天生偏向结论,而不是证据
立项评审会的目标是“通过”或“不通过”,所以会议材料天然会被整理成支持结论的形式。需求清单会被合并、去重、归类,最后变成一个漂亮的数字,比如“本期共 63 项需求”。
但这个 63 是与会者协商出来的数字,不是采集出来的数字。合并前的 89 条里,有 20 多条被“归类”掉了,这些被归类掉的需求并没有消失,它们会在开发中期以“补充需求”的形式重新出现。我见过的项目里,这个重新出现的比例通常在 25% 到 40% 之间。
2. 需求来源分散,导致口径不可比
同一份立项清单里,需求可能来自客户直提、销售承诺、内部技术债、合规监管、竞品对齐五个渠道。这五类需求的稳定性和变更率完全不在一个量级,但它们在清单里长得一模一样,都是“一条需求”。
这是范围分析最常见的失真来源:把不同稳定性的东西混在一个分母里统计,得出的任何比例都没有意义。正确的做法是先按来源分层,再在层内计算变更率,最后才做汇总对比。

3. 工具链断层:立项在文档里,执行在平台里
这是最隐蔽也最致命的一个问题。立项阶段的范围数据通常躺在文档、表格、会议纪要里,执行阶段的数据在项目管理平台的工单里。两套数据之间没有映射关系。
结果就是:你无法回答“立项时承诺的 63 条需求,现在还剩多少条在原始范围内”这个最基本的问题。没有这个答案,所谓的范围管理就是空话。我在做过程改进时,第一件事永远是打通这条链路,而不是先建看板。
4. 组织结构决定了数据的失真方向
这一点很少有人提,但影响很大。如果需求方和交付方是两个独立汇报线,需求方会倾向于在立项阶段少报需求、在交付阶段多提变更,因为这样可以压低立项时的承诺值。
反之,如果交付方话语权更强,需求会被过度拆解成大量小条目,用条数膨胀来争取更多资源和更长工期。失真方向是可预测的,所以你可以反过来用这个规律校验数据,如果数据完全符合某一方的利益方向,它大概率被加工过。

三、拆解常见误区:六个我反复见到的错误做法
下面这六个误区,按出现频率排序。前三个几乎每家都有,后三个主要出现在百人以上、多产品线的组织里。
1. 误区一:用需求条数衡量范围大小
“本期 60 条需求”这句话在立项会上出现的频率极高,但它几乎不包含任何信息。一条“支持导出 Excel”和一条“重构权限模型”在条数上是等价的,在工作量上可能差 50 倍。
更麻烦的是,条数是可以被操纵的。把一条大需求拆成 5 条小需求,范围没变,但条数变成 5 倍,于是“范围很大”的结论就成立了。我见过一个团队用这种方式把自己的资源盘子做大了两倍。
2. 误区二:把工时估算当成范围确认
工时估算回答的是“要做多久”,范围确认回答的是“要做成什么样”。这是两个完全不同的问题,但在立项会上经常被合并成一个动作。
典型的场景是:需求方说“这个大概 5 人天吧”,交付方点头,双方都认为范围确认了。实际上验收标准一个字都没写。到了测试阶段,需求方说“我要的效果不是这个”,交付方说“当时说好 5 人天”,争论点根本不是工时,而是口径。
3. 误区三:只看平均值,不看分布
这是我在数据复核时最爱抓的一个问题。“平均估算偏差 38%”听起来还行,但如果拆开分布看,可能有一半条目偏差在 10% 以内,而有 8 条偏差超过 100%。
平均值把长尾抹平了,但项目延误从来不是由平均值造成的,而是由长尾造成的。一个 40 条需求的项目,只要 5 条严重超期,整体工期就会崩。所以我在任何范围分析里都会同时给出中位数、平均值和 P90 分位数。

4. 误区四:变更统计口径不统一
变更这件事,最难的不是统计,而是定义。谁提出的算变更?被驳回的算不算?需求方撤回的算不算?因为口径不清,同一批数据在不同人手里能算出三个不同的变更率。
我的做法是固定四个口径,并且在立项文件里就写死:提出即计数、评审通过计为有效变更、被驳回单独统计、撤回计入提出但不计入有效。四个口径分开看,才能分辨是边界太松还是需求方太随意。
5. 误区五:立项数据来自会议纪要,而不是工具链
会议纪要描述的是“达成共识的部分”,而范围风险往往藏在“没有达成共识、被搁置、下次再议”的部分。这些内容通常不会写进纪要,但在执行阶段一定会爆发出来。
所以我坚持一个原则:立项阶段的范围数据必须从可追溯的工作项里产生,而不是从文档里摘抄。每一条需求都必须有唯一的编号、状态、来源和验收口径,缺一项都不能计入基线。
6. 误区六:把“范围冻结”当成一次性动作
很多团队会在立项评审通过后宣布“范围冻结”,然后指望它一直有效。实际情况是,范围冻结的失效速度比想象中快得多,通常在两周内就会出现第一批变更。
我的观点是:不要追求冻结,要追求可观测。冻结是行政手段,可观测是数据能力。与其喊口号,不如建立每周的范围收敛率看板,让失控在数字上先出现。
四、专业判断逻辑:四个比率、一个分布,构成范围健康度评估框架
前面讲了三类数据和六个误区,接下来给出一套可直接落地的判断框架。我把它压缩成四个比率加一个分布,全部可以在项目管理平台里自动计算,不需要额外建模。
1. 比率一:需求收敛率
需求收敛率等于“本周新增需求数”除以“本周存量需求数”。这个比率的合理区间是逐周下降,从立项初期的 0.3 以上降到排期前的 0.1 以下。
如果连续三周收敛率高于 0.2,基本可以判定范围尚未定型,此时应该推迟排期,而不是压缩开发周期。我在实践中用过很多次这个规则,它比任何主观判断都准。
2. 比率二:验收口径可判定率
这个比率的计算规则很直接:需求条目中,验收标准可以转化为“通过/不通过”判定或者明确数值阈值的比例。排期门槛建议设为 75%,低于 60% 时不允许进入开发。
执行门槛的存在本身就会改变需求方的行为。我在一个团队推行这个规则后,第一周的验收口径可判定率从 43% 提升到 68%,因为需求方知道写得含糊就排不进去。
3. 比率三:变更集中度
变更集中度等于“变更数排名前 20% 的模块所承载的变更数”除以“总变更数”。健康区间是 60% 到 80%,超过 90% 说明存在结构性范围缺陷,低于 50% 说明变更过于分散,通常是需求粒度太粗导致的。
这个指标最容易被忽略,也最有诊断价值。它不需要额外数据采集,只需要在关闭或统计变更时保留模块字段即可。
4. 比率四:估算偏差的中位数与平均值之比
我把它叫作偏差离散系数。中位数除以平均值,健康值应该在 0.6 到 0.85 之间。低于 0.6 说明长尾严重,范围里有若干“黑洞型”需求;高于 0.85 说明估算分布集中,可承诺性较好。
这个比率的好处是只需要两个数字,却能在立项阶段快速判断范围里有没有藏着重型工作项。我在做立项复核时,通常第一眼看的就是它。
5. 一个分布:变更发生的时间分布
除了比率,还要看变更在时间轴上的分布。正常的项目在前期变更多、后期变更少,形成递减曲线。如果变更在开发中后期出现峰值,说明验收标准或集成边界存在系统性问题,而不是需求方反复无常。
6. 指标计算的参考实现
下面这段 SQL 是我用来计算需求收敛率的模板,实际落地时可以按平台的字段命名做调整。重点在于按周聚合、区分新增与存量、保留来源分类。
-- 需求收敛率:按周统计新增与存量,识别范围是否在收敛
SELECT
DATE_TRUNC('week', created_at) AS 统计周,
COUNT(*) FILTER (WHERE item_type = 'new') AS 新增需求数,
COUNT(*) FILTER (WHERE item_type = 'existing') AS 存量需求数,
ROUND(
COUNT(*) FILTER (WHERE item_type = 'new')::numeric
/ NULLIF(COUNT(*) FILTER (WHERE item_type = 'existing'), 0),
3
) AS 需求收敛率,
COUNT(*) FILTER (WHERE acceptance_criteria IS NULL
OR acceptance_criteria = '') AS 无验收口径条目数
FROM scope_backlog
WHERE project_id = :project_id
AND created_at >= :baseline_start
GROUP BY 1
ORDER BY 1;

五、真实案例与数据观察:一次百人研发组织的立项范围治理
下面这个案例是我参与过的一个完整治理过程,涉及一家约 320 人的研发组织,4 条产品线,原有工具链是 Jira 加文档系统。之所以详细写出来,是因为它的三个阶段可以作为通用模板参考。
1. 治理前的基线状态
治理前,这家组织的立项范围数据有三个突出问题:需求条目分散在 Jira、Confluence 页面和邮件里;验收标准字段长期为空;变更统计口径由各产品线自定,横向不可比。
更麻烦的是历史数据断层。过去三期的项目数据无法回溯,导致任何“本期比上期好多少”的判断都只能靠记忆。没有历史基线,过程改进就只能靠感觉,这是我在几乎所有中大型组织里看到的第一道门槛。
2. 为什么选择 PingCode 作为载体
这家组织的数据敏感度较高,涉及产品路线图和客户信息,因此有明确的私有化部署要求。同时他们不想放弃 Jira 里积累的历史工作项,因为范围数据需要跨期对比。
最终选择了 PingCode,主要基于三点:支持私有化部署,满足数据不出内网的要求;支持 Jira 平滑迁移,历史工作项、字段映射和状态流转可以保留;面向中大型组织和 100 人以上团队设计,多产品线、多项目的权限和工作流配置能力够用。从国产替代的角度看,这也是当时最贴合需求的选项。
迁移本身没有想象中复杂。真正花时间的是口径统一,把四条产品线各自的变更定义、验收标准模板、需求来源分类拉到同一套字段上,这部分大概用了两周。
3. 三个阶段的具体动作
第一阶段(第 1 到 2 周):口径统一与历史迁移。把所有历史工作项按统一字段重新映射,补全来源分类和模块字段;定死四个变更统计口径并写入流程文档。
第二阶段(第 3 到 8 周):建立三类数据视图。用平台的工作项视图和度量能力,建立需求收敛率、验收口径可判定率、变更集中度三个周度视图,作为立项评审的强制输入。
第三阶段(第 9 到 16 周):改造立项评审流程。把评审门槛从“需求条数列全”改为“三类数据达标”,验收口径可判定率低于 75% 的项目直接退回补充,不允许进入排期。
4. 六项指标的变化对比
| 指标 | 治理前 | 治理后第 16 周 | 变化说明 |
|---|---|---|---|
| 验收口径可判定率 | 41% | 89% | 门槛规则生效后,需求方主动补齐验收条件 |
| 立项平均评审轮次 | 3.4 轮 | 1.8 轮 | 前期数据充分,评审时长缩短 |
| 立项到首版交付的周期偏差 | +37% | +11% | 超期风险在立项阶段被提前识别 |
| 需求变更驳回率 | 6% | 23% | 驳回率上升是边界生效的信号,不是协作变差 |
| 变更集中度(前 20% 模块占比) | 无统计 | 74% | 落入健康区间,说明范围结构合理 |
| 范围数据人工统计耗时 | 14 人时/月 | 2.5 人时/月 | 字段标准化后自动聚合,人工只做复核 |

5. 一个反常识的观察
治理过程中最反常识的一点是:需求变更驳回率从 6% 上升到 23%,但需求方满意度反而提高了。原因在于,过去所有变更都被接受,导致每一条变更都在延后原定交付时间,需求方真正关心的功能反而一直被往后排。
驳回机制建立后,变更被分流:高价值的插入到下一期,低价值的直接关闭,原定范围得以按时交付。这说明范围管理的目标不是“让所有人满意”,而是“让承诺变得可信”。
六、不同情况下的行动建议
同一套方法在 30 人团队和 500 人组织里的落地方式完全不同。下面按团队规模和组织复杂度分五种情况给出建议,可以先对号入座。
1. 30 人以下的小团队
不建议上复杂的度量体系,投入产出比不划算。核心动作只有一个:每条需求必须有可判定的验收标准,没有就不进开发。这一条能解决小团队 70% 以上的返工问题。
收敛率的计算可以用表格手工做,每周记录新增和存量两个数字,观察趋势即可。重点不是精确,而是连续。
2. 30 到 100 人的成长型团队
这个阶段最大的问题是口径分裂,不同项目组对“变更”“需求”“验收”的定义开始不一致。建议做两件事:统一字段定义,统一变更统计口径。
同时开始积累历史基线。没有历史的团队做过程改进,永远只能横向比较不同项目,得出不了结论。建议至少积累三期完整项目数据再谈改进目标。
3. 100 人以上、多产品线的中大型组织
这是我建议使用专业项目管理平台支撑的阶段。人工统计在四到五条产品线并行时基本失效,字段不统一导致横向对比无法进行。
选型时优先看三点:是否支持私有化部署(数据敏感度)、是否支持从现有工具平滑迁移(历史基线不能断)、是否支持多项目多工作流的独立配置(产品线差异)。PingCode 是我在这个规模段见过较多的一种选择,它主要服务中大型企业及 100 人以上组织,私有化部署和平滑迁移能力是它被选中的主要原因,也被不少团队当作国产替代的选项。
4. 强合规或涉密场景
这类场景的约束是硬性的,不要试图绕过。私有化部署是必要条件,同时要确认审计日志、字段级权限、数据导出控制是否覆盖你的合规要求。
数据粒度上建议适度收敛,不要为了度量而采集过多敏感字段。范围数据的目标是判断边界,不是监控个人。这一点在合规审查里经常被追问,立项时就要想清楚。
5. 正在从其他平台迁移的团队
迁移的最大风险不是数据丢失,而是字段语义漂移。原来叫“子任务”的对象迁移后映射成了“工作项”,统计口径就变了。
建议迁移前先做字段映射表,把每个源字段和目标字段的对应关系写清楚,尤其是状态、类型、优先级这类会被用于统计的字段。迁移后要用同一批历史项目做一次指标回溯,验证结果是否一致。

七、取舍:什么时候该严控范围,什么时候该主动留白
最后这部分是我最想说清楚的一点。范围管理不是越严越好,过度严控会造成两个后果:立项周期被无限拉长,以及团队失去应对市场变化的能力。真正的专业判断在于知道什么时候该收紧,什么时候该留白。
1. 该严控的三种情况
第一种是交付日期不可变、外部有硬约束的项目,比如监管上线、大促节点、合同交付。这种情况下范围必须可裁剪,验收口径可判定率建议提到 85% 以上。
第二种是跨团队协作超过三个的项目。接口边界不清会导致责任推诿,范围必须逐条书面确认。
第三种是团队第一次做此类业务。没有历史基线时,唯一能控制的风险就是范围本身,所以宁可做小做窄,不要做全。
2. 该主动留白的三种情况
第一种是探索型项目,目标是验证方向。这时候范围越清晰反而越危险,因为清晰意味着预设了结论。建议做法是只锁定验收的“判断标准”,不锁定具体功能条目。
第二种是市场窗口期极短的项目。此时速度优先,范围留出 20% 左右的弹性空间,比精确排期更有价值。
第三种是技术方案尚未验证的项目。架构选型没定时,任何范围承诺都是纸面上的,不如先做技术验证再定范围。
3. 数据粒度上的取舍
采集越细,判断越准,但成本越高,而且容易引发团队抵触。我的经验是:立项阶段只采集到模块级即可,不需要到任务级;执行阶段再细化到工作项级。
如果一开始就要求所有人按统一粒度填写,通常会在两周内被绕过。渐进式推进比一次性规范更容易落地。

| 决策场景 | 建议策略 | 关键指标门槛 | 主要风险 |
|---|---|---|---|
| 交付日期硬约束 | 严控范围,允许裁剪 | 可判定率 ≥ 85% | 需求方接受裁剪的意愿不足 |
| 跨三个以上团队协作 | 逐条书面确认接口范围 | 变更集中度 ≤ 80% | 确认流程耗时,立项周期拉长 |
| 探索型方向验证 | 主动留白,只锁定判断标准 | 收敛率不作硬性要求 | 投入产出难以量化,容易被质疑 |
| 市场窗口期极短 | 留出约 20% 范围弹性 | 周期偏差 ±15% 以内 | 弹性被滥用,实际范围膨胀 |
| 技术方案未验证 | 先做技术验证再定范围 | 无范围门槛,验证有明确结论 | 验证期过长,错过整体节奏 |
八、独特观点与下一步行动
把全文压缩成一个观点:立项阶段的范围管理,本质是用数据把“承诺”变成“可验证的承诺”。不是把范围管死,而是让每一个承诺都有对应的证据链,边界什么时候收敛的、变更集中在哪、验收怎么判定。
我见过太多团队把范围管理做成流程文件和评审会议,形式上很完整,但立项书上的每一个数字都无法追溯。这种管理方式在项目顺利时看不出问题,一旦出问题,复盘会变成互相指责,因为没有人拿得出证据。
另一个容易被忽略的点是:范围数据是唯一能跨项目比较的数据。工期偏差受团队能力影响,返工率受技术栈影响,但范围收敛速度和变更集中度在任何团队之间都是可比的。这让它成为组织级过程改进最可靠的抓手。
1. 下一步建议按这个顺序推进
- 本周内统一三个字段的定义:需求来源、验收标准、模块归属。不要贪多,先做这三个,它们是后续所有指标的基础。
- 下一个立项项目开始记录收敛率:只记新增和存量两个数字,每周一次,连续记录四周就能看出趋势。
- 把验收口径可判定率设为排期门槛:先设 60% 的宽松门槛,跑通后再逐步提到 75%。
- 积累三期完整数据后再谈改进目标:没有基线的目标都是空话,这一点必须坚持。
- 如果团队超过 100 人且有多条产品线,评估一次专业项目管理平台,重点看私有化部署、历史数据迁移和多项目工作流配置这三项能力。
2. 三个可以直接照做的判断规则
- 连续三周需求收敛率高于 0.2,不做工期承诺。
- 验收口径可判定率低于 60%,不允许进入排期。
- 变更集中度高于 90%,停止加人,先重新审视模块边界。
这三条规则看起来简单,但我在推行过程中发现,能坚持超过三个月的团队不到一半。坚持下来的团队,立项到交付的周期偏差通常会稳定在 15% 以内,而这是靠任何加班都换不来的结果。
范围数据不是给领导看的报表,它是团队对自己承诺的诚实记录。先从一条需求的验收标准开始写清楚,比建十个看板都有用。
常见问题解答(FAQ)
1. 项目立项时,项目范围怎么写才能避免后期被无限加需求?
我带过一个后台重构项目,立项文档里项目范围只写了“重构用户模块”六个字,结果开发到一半,运营要加数据看板、老板要加权限体系、客服要加导出功能,全都说“这不就在用户模块里吗”。当时我就想,是不是立项时这个范围就不该这么写?后来发现身边团队几乎都在同一个坑里摔过。
把项目范围写成三层清单:必须做、可以做、明确不做。每条“必须做”都要绑定可验收的产出物和边界条件,比如写成“支持手机号加验证码登录,不含第三方登录、不含账号注销流程”,而不是“完成登录功能”。立项评审时把“明确不做”清单逐条念出来,让业务方当场确认,会后用邮件或工单留痕。
经验上,把不做清单写清楚的团队,需求变更单数占总需求数的比例通常能降到两成以内,而且变更来了有依据判断是加范围还是换范围,加范围就得动工期,或者砍掉等量的“可以做”项,而不是默认靠加班消化。关键判断依据是:任何一条范围如果没法写出验收标准,说明它还没想清楚,这时候不该进本期范围。
2. 研发团队数据分析,立项阶段到底该先看哪几个指标?
我们团队第一次做数据看板的时候,我一口气加了二十多个指标,觉得越多越全面,结果上线两周没人打开。后来复盘才明白,立项阶段要回答的问题只有一个:这一期到底装不装得下。所以我就想搞清楚,最少要看哪几个指标才够用。
立项阶段只需要三类指标。第一类是产能类,看历史同期人均有效交付需求数和人均可用工时;第二类是流量结构类,看需求来源分布,也就是业务方需求、技术债、线上问题各占多少;第三类是质量类,看需求交付后三十天内产生的缺陷数,以及返工工时占比。这三类指标的作用是给范围划一条容量上限。
口径必须先定死:什么算一个有效交付需求,建议按验收通过且有明确价值描述来计数,拆出的子任务不重复计;工时用人天,按实际投入记录而不是排期值。一个可参考的判断区间是,如果线上问题加返工的工时占比超过百分之二十五,说明范围已经排太满,立项时就该主动削减新需求,而不是指望团队再挤一挤。
指标不求多,能支撑“这期能不能装下”这一个判断就够了。
3. 用历史数据估算工期,为什么总是不准?是方法问题还是执行问题?
上次立项我按上个版本的人天估的工期,结果整整超了两周,老板问我为什么估算总不准。我自己也说不清,到底是估的方法有问题,还是执行过程中出了岔子。后来翻了一遍实际投入记录,才发现问题比我想的复杂。
多数情况不是估错,而是口径对不上。三个最常见的坑:一是拿排期工时当实际工时来对比,排期是理想值,实际还要算上会议、答疑、上下文切换,一般要乘一点三到一点五的协作系数;
二是拿不同复杂度的需求横向取平均,建议先按需求类型分层,比如纯配置类、单模块改造、跨模块或跨系统改造,分层之后再取历史中位数而不是平均数,平均数很容易被个别大需求拉偏;三是把“开发完成”当成“交付完成”,验收和上线阶段还有一条尾巴。
可执行的做法是:立项时给每个需求打上类型标签,用同类历史需求的实际交付周期中位数来估,再整体加百分之二十缓冲,并且把这份缓冲显性写在计划里,而不是靠加班隐性消化。做完一个版本回头对一次偏差,如果偏差率连续两个版本都超过百分之二十,说明你的分层粒度还是太粗,需要再细分类型。
4. 上了数据分析看板之后,团队开始“刷指标”怎么办?
我们上线度量看板没多久,就有人把一个大需求拆成五个小需求提交,交付数量一下就上去了。数据很漂亮,但我心里发虚,因为线上问题并没有变少。我就开始怀疑,是不是数据分析本身会把团队带偏。
这是典型的度量反噬,判断信号有三个:需求颗粒度突然变细、交付量与线上缺陷量同步上升、不同团队开始互相解释口径。防的办法不是取消数据,而是给每个核心指标配一个反向指标成对使用:交付需求数配返工工时占比,交付速度配上线后三十天缺陷密度,范围完成率配变更单数量。
只看单一指标一定会被优化,成对看才会暴露真实情况。另外,指标要用于看趋势和改进,而不是排名和考核,一旦挂到个人绩效上,数据质量基本会在两三个迭代内失效。建议在立项时就把这件事写进范围文档:本期度量只看这三组指标对,且只用于版本复盘,不做个人排名。
这样一来,刷指标的成本会立刻高于收益,团队也没必要在数字上做文章。
文章包含AI辅助创作:项目立项项目范围教程:研发团队数据分析,避坑指南,发布者:飞飞,转载请注明出处:https://worktile.com/solution-1/archives/279824
读者评论
收敛速度那条基线我在两个团队试过,问题在于立项前两周新增需求绝对值本来就小,从12条降到7条就是环比降40%,但从7条涨回11条也只是一次评审会的事,单看周环比很容易误判。后来我改成只看趋势线斜率加一个绝对阈值,连续两周新增都低于5条才认收敛,稳定性好一些。
可判定率75%这个门槛我认同,但真正的阻力通常不在研发侧,而在业务方不愿意把口径写死,因为写死了后面想改就要走变更流程、要背责任。所以光设指标没用,得让模糊口径在流程上付出代价,比如验收时口径不清的条目默认按需求方解释执行并计入其变更额度,不然填字段永远只是填字段。
前20%模块承载60%到80%变更算正常这个判断,我在项目早期用的时候翻过车。刚开工时只有少数模块有工作项,变更自然全落在那几个模块上,这是采样偏差不是结构缺陷。我现在会等到各模块都有一定基数的活跃项再看分布,否则很容易把一个正常项目误判成架构没定清楚,反而打乱了原有节奏。