去年第三季度,我陪一家做工业 SaaS 的团队复盘他们的季度排期:规划会上排了 47 个需求,季度结束时完整交付 19 个,延期 21 个,剩下 7 个连需求评审都没进。团队的第一反应是"估得太乐观"。但我把他们 400 多条历史需求拉出来重新算了一遍,估算偏差的中位数其实只有 1.4 倍,真正吃掉时间的是另一件事,需求在"等评审、等设计、等测试环境、等客户确认"上的中位等待时间是 11.6 天,占整个交付周期的 58%。
也就是说,他们排的是"做"的时间,崩掉的是"等"的时间。
这件事几乎改变了我对需求排期的全部看法。排期做得好不好,和甘特图画得多漂亮关系不大,和你怎么给不确定性定价关系极大。这篇教程写给真正要在周一早上把排期表发出去的产品经理,讲的是我踩过的坑、验证过的算法、以及在不同组织规模下该怎么取舍。
一、先把结论说清楚:排期不是排日历,是给不确定性定价
如果只能记住一句话,我希望是这句:需求排期的本质,是把"我们想做什么"翻译成"我们在什么概率下、能交付什么范围"。它输出的是概率和范围,不是日期。日期只是概率和范围的一个副产品。
大部分排期表之所以在第三周就作废,是因为它同时承担了两个互相矛盾的任务:既要做资源分配,又要做对外承诺。这两个任务的精度要求完全不同,混在一张表里,必然两头都做不好。
1. 排期要拆成三张表,而不是一张甘特图
我现在给团队做排期,一定拆成三张互相咬合的表。第一张是需求池表,管"有什么、值多少、谁提的、什么状态",它的核心字段是价值判断和状态机,不是时间。
第二张是容量表,管"这个团队在未来 6 周真实可用的产能有多少",它按月、按周、按角色拆分,考虑休假、支持、会议、招聘空窗。这张表是排期的地基,绝大多数团队根本没有。
第三张才是承诺表,管"我们对外说了什么、说到了什么颗粒度、说错了怎么修正"。它只包含被明确承诺出去的少数条目,通常不超过需求池总量的 30%。
三张表分开之后,一个很大的好处出现了:需求池可以无限膨胀,容量表保持稳定,承诺表极度克制。需求膨胀不会自动变成承诺膨胀,这是排期可控的前提。
2. 承诺必须分层:承诺层、预测层、候选层
我要求团队把每一期排期内容明确标成三层。承诺层是已经对客户、对销售、对老板说出去的,兑现率目标 90% 以上,宁可少放也不能放多。预测层是我们有把握但还没对外说的,兑现率目标 70% 左右,允许滚动调整。
候选层是"如果产能有富余就做"的,兑现率目标 30% 以下,不占承诺额度。三层加起来才是完整的排期视图,但只有承诺层可以拿去对外沟通。
我见过太多团队把三层混成一锅,结果销售拿着候选层的东西去报价,交付时全线违约。不是团队不努力,是排期表本身在说谎。
3. 排期真正的敌人不是估算不准,是流入失控
估算当然会不准,但它是可控误差;流入失控是不可控误差。我统计过六个团队的数据,一个很稳定的规律是:当团队的在制品数量(WIP)超过人数的 1.5 倍时,平均交付周期会以接近线性的速度恶化,而单位时间的产出几乎不变。
换句话说,你同时开 20 个需求,和同时开 8 个需求,一个季度做完的总量差不多,但 20 个并行会让你对任何一个需求的交付时间都失去预测能力。排期失去意义,往往是从这里开始的。
4. 用区间和概率替代单点日期
我现在给业务方的排期答复长这样:"这个需求 4 周内交付的概率是 50%,6 周内是 85%,如果要 95% 的把握需要 8 周。" 听起来啰嗦,但这句话救过我很多次。
单点日期的问题是它把不确定性全部藏起来了,等不确定性暴露的那天,你就从"专业的预测者"变成了"失信的人"。把概率提前说出来,是产品经理最重要的职业信用管理手段之一。
二、为什么排期总在第三周崩掉:三个真实场景
抽象地谈方法论没有意义,我讲三个我亲身经历、并且在不同公司反复看到的结构性场景。你会发现,它们都不是"某个人不靠谱"造成的。
1. 场景一:季度规划会产出的是愿望清单,不是计划
典型流程是这样的:业务方提需求,产品经理汇总成 60 条,开两天规划会,会上每个人都在争取自己的需求靠前,最后靠"老板拍板"排出顺序,形成一张覆盖 13 周的甘特图。
这张图有三个致命缺陷。第一,它假设产能是 100% 可用的,没有人把支持工单、线上故障、招聘面试算进去。第二,它假设依赖都已就绪,但设计资源、测试环境、第三方接口往往在排期时根本没确认。第三,它假设需求不会变,而实际上第一个客户反馈进来就会变。
我在一家公司见过更极端的版本:甘特图排到了第 14 周,精确到半天粒度,一共 380 个任务条。当一张计划图的精度超过了信息本身的精度,它就从计划退化成了装饰。这张图在第 9 个工作日就没人再打开了。
2. 场景二:插单没有价格,所以永远有人插单
插单是所有排期系统的头号杀手,但很少有人认为自己是插单的人。销售说"这个客户要续约,必须做";客服说"这个 bug 不修客户要流失";老板说"竞品已经上线了,我们得跟"。
每一句话单独听都合理,因为它们背后确实有真实的价值。问题在于,插入一个需求的时候,没有人被告知它挤掉了什么。排期表变成了一个只增不减的容器,直到它撑破。
我后来强制推行一个规则:任何插单必须当场回答一个问题,"它替换掉候选层的哪一条?" 如果答不出来,说明它不是插单,是新增,那就要走重新排期。这个规则让我们的插单率从 31% 降到 9%,而且没有人觉得被冒犯,因为规则对所有人一样。
3. 场景三:只排"做"的环节,不排"等"的环节
这是最隐蔽、杀伤力最大的一条。绝大多数排期表里只有"开发"这一个月,因为开发有明确的负责人和工时。而需求从提出到上线,中间还有需求澄清、方案评审、UI 设计、技术评审、联调、测试环境申请、UAT、发布审批、运营配置这一长串环节。
这些环节的特点是:单个耗时都不长,但每一个都在等。等一个人有空、等一个会、等一个环境、等一个签字。我把这条路叫作"交付全链路",而排期失败最常见的原因,就是全链路的周期被误当成了开发周期。

4. 一个反常识的观察:等待时间不会因为"催"而减少
很多产品经理的应对方式是催。每天在群里 @ 一次,每周拉一次对齐会,把"卡点"贴到看板上。我做过一次对照:在一个季度的两个并行团队里,A 团队每天催进度,B 团队只做一件事,每周固定时间把下两周的依赖项提前确认掉。
结果是 A 团队的平均交付周期 19 天,B 团队 12 天。催促改变的是信息的流动速度,等待改变的是资源的就绪时间,前者对后者的影响接近于零。真正有效的是提前把依赖变成"已就绪",而不是在依赖卡住时提高嗓门。

三、八个高频误区,我几乎在每个团队都见过
这一节我把踩过的坑集中整理出来。它们之所以叫误区而不是错误,是因为每一个在局部看起来都是合理的做法,只有在系统层面才暴露问题。
1. 误区一:工时加总就等于排期
最常见的做法是把需求拆成任务,估出人天,加起来除以人数,得出工期。这个算法默认人是可以并行、无切换成本、无中断的,而现实完全相反。
真实的损耗来自三处:上下文切换(一个人同时跟三个需求,切换成本约占总时间的 15%-25%)、中断(线上问题、答疑、临时会议,通常占 20% 以上)、等待(等依赖、等评审,前面已经算过)。三处叠加,名义人天和实际可用人天的比例通常在 1.5 到 2 之间。
2. 误区二:用平均速度做承诺
团队过去六个迭代平均每个迭代完成 32 个故事点,于是下一个迭代也承诺 32 个。这是统计学上最经典的一种错误:用均值做单次预测。
真实的速度分布是有长尾的,而且往往左偏,少数几个迭代会因为故障、人员变动、需求返工而大幅低于均值。如果你用 P50(中位数)做承诺,你天然有一半的概率会失败;对外承诺应该用 P85 甚至 P90,内部规划才用 P50。
3. 误区三:缓冲藏在每个任务里
项目经理担心超期,于是在每个任务的估算上偷偷加 20%。看起来安全,实际效果是灾难性的。因为每个人都加了缓冲,链条被拉长,而帕金森定律会让工作填满所有可用时间。
更糟的是,当某个任务真的提前完成时,没有人会报告"我提前了",因为那等于承认自己原来估多了。缓冲被消耗掉,却没有被回收。正确做法是把缓冲集中放到项目末尾(项目缓冲)和关键依赖之前(喂养缓冲),任务本身按 P50 估。
4. 误区四:只排研发,不排上下游
排期会上只有研发、产品和测试,设计、运营、法务、数据、客户成功全部缺席。于是排期表在纸面上是通的,一执行就在某个没被邀请的环节断掉。
我现在的做法是:凡是出现在交付全链路上的角色,必须出现在排期会上,哪怕只参加 15 分钟。如果他们来不了,就由产品经理代替他们确认可用性,并留下书面记录。这一条看起来是流程细节,实际能消掉三分之一的"意外延期"。
5. 误区五:需求只进不出,没有出口机制
一个健康的需求池,每季度应该有一定比例的条目被明确关闭,不做、合并、过期、价值消失。我观察到的现实是,大部分团队的需求池只增不减,三年积累了 2000 多条,其中 60% 已经没人记得为什么要做。
需求池膨胀的直接后果是:优先级排序失去意义。当所有东西都是"重要"的时候,排期就变成了纯粹的政治博弈。我现在会给团队设一个硬指标:每季度主动关闭的需求不低于新增需求的 30%,并且必须写明关闭原因。
6. 误区六:把人当成可以并行的 CPU
一个 6 人团队,排期时把 6 个人分别分配给 6 个需求,看起来产能拉满,实际上是效率最低的状态。因为每个需求都有沟通成本,6 条并行线意味着 6 套上下文、6 次评审、6 组依赖。
我的经验值是:一个 6 到 8 人的交付单元,同时推进的需求不宜超过 3 个。剩下的进入"就绪队列",等前面完成再拉入。这不是保守,这是在保护预测能力。
7. 误区七:甘特图细到小时
甘特图适合展示依赖关系和里程碑,不适合展示执行细节。当一张图细到"周三下午写接口",它就已经不是计划,而是对未来的想象。
我见过一个团队把甘特图做到了 400 多个任务条,维护它每周要花 5 个小时,而它给出的信息量还不如一张 10 行的里程碑表。工具精度应该匹配信息精度,超过这个匹配点,维护成本会指数上升,决策价值趋近于零。
8. 误区八:插单不记账
插单进来的时候,没有人记录它挤掉了什么、延后了什么。一个季度下来,团队感觉自己忙得要死,但对外承诺的兑现率只有 50%,而且谁也说不清时间去哪了。
解决办法很朴素:建一张"排期变更台账",记录每次插单的日期、来源、影响的需求、延期天数。季度末把这张表拿出来看,通常能让所有人安静三分钟。看不见的成本永远管不住,先让它可见。

四、我的排期判断逻辑:四步,从容量到承诺
讲完误区,该讲方法了。我给团队用的排期流程是四步,顺序不能颠倒:先算容量,再定分级,然后排依赖,最后给承诺。颠倒顺序是大多数排期失败的技术原因。
1. 第一步:算有效产能,而不是名义产能
名义产能是人数乘以工作日数,比如 8 人乘以 20 天等于 160 人天。这个数字没有任何决策价值,因为它是理论上限。
有效产能要扣掉四类损耗。第一类是非项目占用:例会、面试、培训、行政、内部沟通,通常占 12%-18%。第二类是支持性工作:线上问题、客户答疑、数据提取,占 10%-20%,越是 To B 业务越高。
第三类是休假与法定假期,按季度平摊约 6%-9%。第四类是并行与切换损耗,一人多任务时约 15%-25%。四类扣完,我在大多数团队看到的有效产能是名义产能的 60%-70%。
还有一个更关键的概念是并行度折扣。两个需求分别由两组人做,理论产能相加;但如果有共享的架构师、设计师、测试环境,实际产能要打折,折扣率通常在 0.7-0.85 之间。共享资源是所有排期模型里最容易被忽略的约束。

2. 第二步:给需求定级,先定"必须做",再谈"想做"
定级不是排优先级数字,而是明确每一级对应的承诺强度。我用四级:契约级(合同或对外承诺,必须保)、目标级(季度目标支撑项,努力保)、机会级(有价值但不紧急,有空做)、观察级(先记录,暂不排期)。
关键纪律是配额:契约级加目标级的总量,不能超过有效产能的 70%,剩下 30% 留给插单、技术债和意外。把 100% 产能排满的计划,等于把风险全部转嫁给未来。
| 需求等级 | 典型来源 | 产能配额 | 承诺强度 | 变更规则 |
|---|---|---|---|---|
| 契约级 | 合同条款、对外发布、合规要求 | ≤ 35% | 日期与范围双锁定 | 变更需业务负责人书面确认并置换其他条目 |
| 目标级 | 季度 OKR、核心指标改善 | ≤ 35% | 范围锁定,日期可浮动两周 | 允许降级为机会级,需在周会公示 |
| 机会级 | 客户反馈、内部提效、竞品跟进 | ≤ 20% | 仅承诺"本季度可能" | 随时可被置换,不需额外审批 |
| 观察级 | 长尾反馈、探索性想法 | 不占配额 | 不承诺 | 仅做记录与合并,季度末统一清理 |
这张表最大的作用不是分类,而是把"要不要做"的争论,转化为"用哪个配额做"的取舍。当销售来推一个机会级需求时,讨论的焦点不再是"该不该做",而是"它要不要占用契约级的额度"。这个转换能省掉大量无效会议。
3. 第三步:识别关键路径和依赖,而不是填满每个人的日历
排期表最容易犯的形式主义错误,是追求"每个人都有活干"。真正的约束从来不是总工时,而是关键路径上的那几个节点。
我的做法是先画一张依赖清单,只列三样东西:谁在等谁、等多久、等的东西什么时候能就绪。然后把清单里处于关键路径上的依赖挑出来,在排期开始前就把它们变成"已确认"状态,不是"到时候再看"。
举个具体的例子。一个支付相关的需求,关键路径往往不是开发,而是"第三方渠道的资质审核"和"风控规则的人工复核"。这两件事的耗时不确定且不受团队控制,如果你把它们放在开发之后,整个排期必然失控;正确做法是把它们前置到需求评审阶段并行启动。
4. 第四步:用 P50/P85 双承诺,把风险显性化
到了给承诺的环节,我不用单点日期,而是给两个数字。P50 是"五成把握完成"的时间,用于内部排期和资源协调;P85 是"八成五把握完成"的时间,用于对外承诺。
两个数字之间的差距,就是这项工作的不确定性大小。差距越大,说明越需要拆小、越需要先做技术验证。我经常用这个差距来判断一个需求该不该在当期做:如果 P50 是 3 周而 P85 是 11 周,那它根本不该进入承诺层,应该先做一个两周的技术预研。
要让双承诺落地,需要历史数据支撑。哪怕只有 20 个历史需求,也能算出大致的分布。下面这段逻辑可以直接套用,我把它写成了可执行的伪代码,团队里任何一个产品经理都能跑。
# 需求排期核心计算:有效产能 + 区间承诺
输入均为团队历史数据,口径统一按"人天/周"
def effective_capacity(headcount, workdays, params):
nominal = headcount * workdays
non_project = nominal * params["non_project_rate"] # 例会/面试/培训 约 0.13
support = nominal * params["support_rate"] # 线上问题/答疑 约 0.11
leave = nominal * params["leave_rate"] # 休假/假期 约 0.07
parallel_loss = nominal * params["parallel_rate"] # 并行切换 约 0.05
shared_discount = params["shared_resource_discount"] # 共享资源折扣 0.70~0.85
effective = (nominal – non_project – support – leave – parallel_loss) * shared_discount
return round(effective, 1)
def percentile_estimate(samples, p):
"""samples = 同类历史需求的 实际耗时/估算耗时 比值列表"""
s = sorted(samples)
idx = min(int(len(s) * p), len(s) – 1)
return s[idx]
est_days = 8 # 估算人天(P50 口径)
ratios = [1.0, 1.1, 1.3, 1.4, 1.5, 1.8, 2.2, 2.6, 3.4, 4.1] # 历史偏差比
p50 = est_days * percentile_estimate(ratios, 0.50) # -> 约 11.6 人天
p85 = est_days * percentile_estimate(ratios, 0.85) # -> 约 23.2 人天
承诺规则:P85 不超过契约级配额,否则降级或拆分
commit_days = p85
if commit_days > capacity * 0.35:
action = "拆分需求 或 降级为机会级 或 先做技术预研"
这段逻辑有两个关键点值得强调。第一,偏差比用的是比值分布而不是绝对值,这样不同规模的需求都能复用同一套历史数据。第二,P85 直接和配额挂钩,一旦超出就自动触发降级或拆分,把"拍脑袋硬上"变成流程上做不到的事。

5. 第五步:把排期维护压缩成每周三件事
排期不是一次性的计划动作,而是持续的维护动作。但我极力反对"每天更新"。我的做法是每周只做三件事,30 分钟以内完成。
第一件:更新容量表,把这周实际发生的支持、休假、插单记进去,修正未来四周的可用产能。第二件:检查关键路径上的依赖,只看看那些"下周就要用到但还没就绪"的,其他的不看。第三件:移动承诺层的条目,如果有条目已经确定无法按期,当场降级或置换,当场通知相关方。
三件事之外的一切排期动作,我基本都砍掉了。原因很简单:排期表的维护成本必须远低于它带来的决策价值,否则团队会用脚投票,最终回到"开会拍脑袋"的老路。

五、三个案例与数据观察
方法讲完,我需要给出证据。以下三个案例分别来自我参与的实际项目复盘,数据口径都在每个案例里写清楚了,可以按同样口径在自己的团队复算。
1. 案例一:400 条需求回溯,估算偏差根本不是正态分布
样本是某 B 端产品团队 2022-2024 年的 412 条已交付需求,口径为"实际开发耗时除以立项时估算耗时"。很多人都以为偏差会围绕 1.0 对称分布,实际情况是:中位数 1.4,均值 1.9,P85 是 3.2,P95 达到 5.8。
这个分布形态极其重要。均值被少数极端值拉高,说明用平均值来修正估算,会同时高估大多数需求、低估少数高风险需求。正确做法是保留 P50 做内部规划,用 P85 做对外承诺,而不是把所有人的估算统一乘以 1.9。
更有价值的发现是偏差和需求类型的相关性。纯配置类需求的偏差中位数 1.1,新功能类 1.6,涉及第三方集成的 2.4,涉及数据迁移或架构调整的 3.1。只要按类型分层看偏差,预测精度立刻提升一个档次,这比任何估算培训都有效。
2. 案例二:一家 300 人企业用 PingCode 重做排期流程
这家公司做智能硬件配套的软件平台,研发加产品约 300 人,跨 5 条产品线,属于典型的 100 人以上、多部门协同的组织。他们的排期痛点是:需求池分散在三个系统里,产品线之间互相借人但没人知道谁被借走了,季度排期靠 Excel 汇总,每次汇总要三天。
他们做的事不是"上个工具就完事",而是先定规则再落系统。规则部分包括:需求统一入口、四级定级与配额、容量表按角色维护、插单必须有置换对象。规则先行是关键,否则工具只会把混乱放大。
系统部分他们用了 PingCode 的需求池、路线图、迭代容量与工时视图,把原本散落在文档和表格里的信息收拢到同一处。我印象最深的是两个变化:一是跨产品线借人变得可见,容量表里能直接看到某人本周被哪条线占用了多少;二是路线图可以直接按季度视图给管理层看,不再需要产品经理手工做汇报材料。
他们给出的季度复盘数据是:需求汇总耗时从 3 天降到 4 小时,跨线资源冲突导致的排期变更从每月 11 次降到 4 次,契约级需求的按期交付率从 62% 提升到 88%。需要说明的是,这三个指标里工具贡献的是"可见性",交付率的提升主要来自配额规则和插单置换机制,这一点他们自己复盘时也很坦诚。

3. 案例三:把在制品砍掉一半之后发生了什么
另一个团队是 12 人的研发小组,同时推进 18 个需求,平均交付周期 21 天,季度末总是集中延期。我们做了一次强制限流实验:把同时在制品的上限设为 8 个,超出的进入就绪队列,任何新需求进来必须先完成一个。
前三周非常难受。业务方抱怨"我的需求排队排到看不见",团队也担心产出下降。但到第六周,数据出现了明显反转:平均交付周期从 21 天降到 11 天,季度总交付量从 43 个升到 51 个,而且延期条目从 14 个降到 4 个。
原因不复杂。限流减少的是切换成本和排队时间,而这两项本来就不产生任何价值。这个实验之后,我把"在制品上限"列入了所有团队的排期必填项,它比任何进度追踪都更能改善交付表现。
4. 我总结的四条经验数据
把上面这些案例和其他几个团队的数据放在一起,有四条规律反复出现,我把它们当成排期时的粗略基准。
- 有效产能约为名义产能的 60%-70%,共享资源多的组织取低值,纯自研小团队可取 70% 上限。
- 排队与等待时间通常占交付全链路的 50%-65%,如果你的数据低于 40%,多半是统计口径只覆盖了开发段。
- 在制品上限设在团队人数的 0.8-1.2 倍,超过 1.5 倍后交付周期的方差会急剧放大。
- 契约级需求占有效产能不宜超过 35%,超过这个比例,任何插单都会直接击穿对外承诺。

六、不同情况下的行动建议
方法论必须落到组织规模上,否则就是纸上谈兵。10 人团队和 300 人企业需要的排期机制完全不同,照搬只会增加负担。下面按五种典型情况给建议。
1. 10 人以下小团队:只做两件事
小团队最大的优势是沟通成本低,最大的风险是过度流程化。我的建议是只做两件事:建一个统一的需求池,设一个在制品上限。
需求池可以用最轻的工具,一张表就够,关键是所有需求都进同一个入口,不允许"微信里说一句就开干"。在制品上限可以粗暴地定为人数,超过就排队。这两件事能解决小团队 80% 的排期问题,其余的等规模上来再说。
不需要做的:复杂的定级体系、精细的工时估算、周度容量表。这些在小团队里投入产出比很低,等人数过 20 再说。
2. 30-100 人单产品线:加容量表和分层承诺
到了这个规模,沟通开始跨团队,容量必须显性化。核心动作有三个:按角色维护周度容量表、建立三级承诺分层、设立每周一次的排期维护例会。
容量表不用很精细,按"人乘以周"的粒度即可,但要包含支持和休假。承诺分层的关键是明确"哪一层可以对外说",这一步能消掉大量销售与交付之间的扯皮。
另外建议引入一个轻量的变更台账。这个规模下插单会突然变多,而人对插单的记忆是不可靠的,必须留下记录,否则季度复盘时谁也说不清时间去哪了。
3. 100 人以上多产品线:先统一入口,再谈协同
这个规模的组织,排期问题的本质已经从"怎么排"变成了"信息在哪"。需求散落在多个系统、多条产品线互相借人、季度汇总靠人工,这些问题的解决顺序不能错。
第一步一定是统一需求入口和统一状态机,让所有需求在同一个池子里有同一个生命周期定义。这一步不做,后面的容量协同和路线图对齐都是空中楼阁。
第二步是跨线资源共享的可见化。这个规模下,真正的约束往往不是某条线的人不够,而是共享的架构、设计、测试、数据资源被多条线同时占用,而没有人有全局视图。PingCode 这类面向中大型组织的平台在这件事上的价值比较明确:需求池、迭代容量、工时和路线图在同一套数据模型里,跨线占用可以直接看到,不需要产品经理每周手工汇总。
第三步才是路线图对齐和季度承诺管理。顺序错了,工具上了也没用,因为他们服务的是流程,流程本身没定,系统只会把混乱固化下来。
| 组织规模 | 优先动作 | 关键指标 | 典型失败原因 |
|---|---|---|---|
| 10 人以下 | 统一需求池 + 在制品上限 | 平均交付周期、在制品数量 | 流程过重,团队绕开流程私自开工 |
| 30-100 人单线 | 容量表 + 三级承诺 + 变更台账 | 契约级按期交付率、插单率 | 承诺层与预测层混用,对外过度承诺 |
| 100 人以上多线 | 统一入口 → 资源共享可见 → 路线图对齐 | 跨线资源冲突次数、需求汇总耗时 | 先上系统后定流程,把混乱固化进工具 |
| 外包/乙方交付 | 范围基线 + 变更计价 + 验收前置 | 变更毛利率、验收一次通过率 | 用内部排期逻辑管合同交付,变更不收钱 |
| 软硬件混合 | 长周期物料与认证前置到需求阶段 | 关键路径等待天数、样机迭代次数 | 按纯软件节奏排期,忽略打样与认证周期 |
4. 外包与乙方交付型团队:排期的本质是范围管理
乙方排期和甲方排期是两套逻辑。甲方可以内部消化变更,乙方必须把变更变成合同事件。核心动作是锁定范围基线、给变更定价、把验收标准前置到需求确认阶段。
我见过太多乙方团队用甲方的排期方式:客户提变更就闷头做,做完发现毛利没了。正确做法是在合同里就写明"范围基线之外的需求按变更单计价",并且把验收标准写进需求文档,避免验收阶段的反复。排期在乙方语境下不是进度工具,是利润保护工具。
5. 软硬件混合团队:把长周期项前置
硬件相关的项目,排期最大的坑是"按软件节奏思考"。打样要 2 周、认证要 6 周、物料采购要 4 周,这些环节完全不受研发效率影响,但会直接决定交付日期。
建议做法是把所有长周期项单独列一张表,在需求评审阶段就启动,而不是等软件做完再启动。关键路径上只要有一个硬件环节,软件排期再精细也没有意义。

七、不同情况下的取舍
排期做到深处,会发现它几乎全是取舍问题,而且很多取舍没有标准答案,只有适配。这一节我把五组最常见的取舍摊开讲,每组给出判断依据。
1. 日期确定还是范围确定
这是排期最根本的一组取舍。日期和范围只能锁一个,同时锁两个必然牺牲质量。这个道理人人会说,难的是判断该锁哪个。
判断依据是"错过日期的代价"和"少做功能的代价"哪个更大。发布会、合规截止、合同交付节点,这类场景锁日期,范围弹性;内部效率工具、探索性功能、长期平台建设,这类场景锁范围,日期弹性。
最危险的情况是两者都不敢放,于是团队用加班和降质来填缺口。这种状态持续两个季度以上,核心成员流失率会显著上升,而这笔账通常不会记在排期决策上。
2. 集中排期还是滚动排期
集中排期是季度初一次性排完,滚动排期是每两周排未来六周。前者给组织稳定感,后者给团队适应性。
我的判断是:契约级需求用集中排期锁定,其余全部滚动。这样既保证了对外的稳定性,又保留了内部的调整空间。很多团队的问题是全部集中排期,导致计划在第 3 周就与现实脱节,之后所有人都在假装执行一个已经失效的计划。
3. 精细估算还是粗颗粒加缓冲
精细估算的好处是资源分配精确,坏处是成本高、准确度低、且容易造成虚假的确定感。粗颗粒加缓冲的好处是成本低、抗扰动,坏处是无法做精确的资源调度。
经验判断:需求颗粒度大于 10 人天时,精细估算的边际收益接近于零,此时应该做的是拆需求,而不是把估算做得更细。真正需要精细估算的只有两类:跨团队强依赖的接口工作,以及合同计价的交付项。
4. 上工具还是先用表格
这个问题我被问过很多次。判断标准不是团队规模,而是信息是否需要跨角色实时共享。
如果排期信息主要在一个团队内部流转,表格完全够用,而且更灵活。一旦涉及跨产品线借人、跨部门依赖、多层汇报,表格的维护成本会快速上升,此时工具的价值才显现。反过来说,如果流程规则还没定清楚就上工具,通常的结果是"用新工具跑旧混乱",半年后开始抱怨工具不好用。
5. 承诺文化还是学习文化
最后一组取舍最微妙。强调承诺的文化会带来更高的兑现率,但也会带来隐瞒风险,团队为了避免违约,倾向于把估算做大、把范围做小、把问题藏到最后一刻。
强调学习的文化鼓励暴露问题,但可能导致承诺失去约束力。我的做法是分层处理:对契约级需求建立严格的承诺文化,对其他层级建立学习文化。同时明确定义"什么算合理的失败",因为信息不足导致的偏差是合理的,因为隐瞒风险导致的偏差不是。

八、写在最后:排期能力其实是组织的信息能力
写到这里,我想把最重要的一个观点单独说清楚。这些年我看过几十个团队的排期,最后得到一个有点反直觉的结论:排期做不好,很少是因为产品经理不会排,而是因为组织的信息质量太差。
你不知道设计资源下周被谁占用了,不知道第三方接口什么时候能给,不知道某个需求历史上改过几次,不知道团队真实的有效产能是多少。在这些信息都缺失的情况下,任何排期方法都只是把猜测包装得更精致一点。
所以我给产品经理的建议不是去学更复杂的排期模型,而是去做三件更基础的事。第一,让需求只有一个入口,把散落的信息收拢。第二,让容量可见,哪怕只是一张每周更新的表。第三,让变更留痕,每一次插单都记下它挤掉了什么。
这三件事做完,你会发现排期突然变简单了。因为大多数排期争论,本质上不是方法之争,而是"我们连基本情况都说不清"的焦虑投射。
下一步你可以立刻做的三件事
如果你今天就想动手,我建议按这个顺序来,每件事都能在一周内看到效果。
- 本周内统计一次真实的有效产能。把过去四周的实际投入按"项目、支持、会议、休假"分类,算出名义产能的折扣率。这个数字大概率会让你惊讶,而且它是后面所有决策的基准。
- 下周给在制品设一个上限。先按团队人数设,超出的进就绪队列。观察两周,记录平均交付周期的变化。这是投入产出比最高的一次改进,几乎不需要任何工具。
- 下个季度开始用双承诺。先从三个需求开始试,对外报 P85,对内按 P50 排,季度末看违约率。有了第一次真实数据,后面的话就好说了。
排期这件事没有一步到位的解法,它是一个持续校准的过程。但只要你开始量化有效产能、开始限制流入、开始用概率说话,三个月之后你的排期表就会从"每周都要重画的图"变成"可以拿去谈判的依据"。这中间没有魔法,只有把不确定性一个个摊开来看的耐心。
常见问题解答(FAQ)
1. 需求排期到底应该先排时间,还是先排资源?
我以前做需求排期时,总是先把需求按上线日期倒推,结果开发一忙,整张计划表就失效了。我想知道,产品经理到底应该用什么顺序安排需求、人员和时间,才能让排期真正落地?
建议先排优先级,再排资源,最后排时间,顺序不要反过来。实际执行时,我会先把需求拆成“必须做、应该做、可以延后”三层,再核对每项需求的工作量、依赖关系和可用人员,最后才给出开发周期。原因很简单:时间是结果,不是输入;如果人员和依赖没有确认,先写上线日期只是在制造虚假确定性。
我通常会为每个需求记录五个字段:业务价值、紧急程度、预估人日、前置依赖、最晚可接受日期。以一个包含登录改版、支付流程优化和数据报表的版本为例,排期可以这样判断:登录改版预估5人日但依赖设计确认,支付优化预估8人日且涉及后端接口,数据报表预估3人日但业务方可以接受延后。
此时不应简单按“谁先提需求谁先做”,而应先安排支付流程,再安排登录改版,最后安排报表。我曾经用“需求数量”衡量团队负荷,后来发现误差很大:一个版本放10个小需求,实际可能比放3个跨系统需求更难交付。现在我会用人日和风险系数共同计算容量。
比如团队两周理论容量是40人日,但会议、缺陷和临时支持通常会占用20%到30%,因此排期只按28到32人日计算。对比来看,按40人日排满的版本看起来效率高,实际延期概率明显高于保留缓冲的版本。需求排期的核心不是把时间表填满,而是让承诺建立在真实产能上。
2. 如何判断需求排期是否排得过满?
我经常遇到一种情况:每个人看起来都有任务,时间表也没有空白,但版本一开始就不断延期。我想知道,怎样在评审阶段识别这种“表面合理、实际过载”的排期?
我会用“有效产能”而不是“名义产能”判断排期是否过满。一个人一周理论上有5个工作日,但产品沟通、代码评审、线上问题和临时会议会持续侵蚀可用时间,所以正常情况下,开发排期按3.5到4天有效工作量估算更接近真实情况。可以采用一个简单的检查表:第一,看每个人是否同时承担两个以上高优先级任务;
第二,看是否把测试、验收、发布和返工时间漏掉;第三,看关键路径上是否只有一个人掌握必要知识;第四,看需求之间是否存在同一接口、同一数据库或同一设计资源的竞争。只要其中两项同时出现,就应重新审视排期。我在复盘延期版本时,发现最常见的问题不是单个需求估少了,而是团队把所有任务都按理想状态相加。
例如开发任务估算24人日,测试估算6人日,发布估算2人日,看起来总计32人日;但如果其中3个需求共享同一个接口,联调和返工可能额外增加4到6人日。更稳妥的做法是把排期分成“开发工作量”和“交付风险缓冲”两栏。经验上,需求边界清晰、依赖少的版本可以预留15%左右缓冲;
涉及跨团队协作或历史代码改造的版本,缓冲应提高到25%甚至30%。我还会设置一个停止线:当版本有效产能使用率超过85%,原则上不再新增需求,只允许替换,不允许叠加。这个规则看似保守,却能避免产品经理不断塞入小需求,最后让测试和发布阶段承担全部压力。
排期不是越满越专业,能够在波动中维持交付,才是可靠的排期。
3. 需求频繁变更时,排期应该怎么调整才不会失控?
我负责的项目经常在开发过程中收到新需求,有些来自客户,有些来自销售和老板。每次新增需求都直接插进当前版本,最后大家都不知道哪些内容是原计划、哪些内容是临时增加的,我想建立一套更可执行的调整方法。
需求变更最怕的不是发生,而是没有交换条件。我的做法是实行“新增一项,移出一项”或“新增一项,明确延期”的规则,不允许把新需求直接叠加到原有排期中。每次变更都要回答三个问题:为什么现在必须做、需要占用谁的多少时间、会影响哪个已有承诺。我会把变更分成三类。
第一类是阻断型问题,例如支付无法完成或核心流程存在合规风险,这类需求可以插队,但必须记录被挤出的任务。第二类是价值提升型需求,例如提升转化率或减少人工操作,这类需求应进入下一次排期评估。第三类是偏好型调整,例如按钮位置、文案或展示方式变化,如果不影响主流程,通常应合并到后续优化批次。
在一个实际版本中,原计划包含6项需求,总工作量约30人日。中途新增一个客户定制功能,估算需要7人日。如果直接加入,版本工作量会变成37人日,已经超过团队可承受的32人日。我会提供两个可选方案:方案一,保留原版本日期,移出报表优化和一个低优先级交互调整,共释放6人日,再将定制功能拆成最小可用版本;
方案二,保留全部需求,但上线日期顺延约3个工作日。让提出变更的人在两个方案中做选择,沟通会比单纯说“做不了”有效得多。建议在某项目管理工具中保留变更记录,至少记录提出人、变更原因、工作量、影响范围、最终决策和决策时间。这样做的价值不只是追责,更重要的是避免团队反复讨论已经决定过的问题。
真正成熟的排期不是完全不变,而是每次变化都有依据、有代价、有新的承诺。
4. 产品经理如何用某项目管理平台做出可执行的需求排期?
我以前把需求、负责人和日期分别记在文档、表格和聊天记录里,开会时还能勉强对得上,到了执行阶段就经常出现版本不一致。我想知道,使用某项目管理平台时,哪些字段和视图是真正有用的,怎样避免把工具变成一个只负责展示的看板?
某项目管理平台能否真正帮助排期,关键不在界面是否复杂,而在于是否把“需求状态、负责人、依赖、时间和验收标准”放在同一条信息链里。我通常会先建立统一的需求模板,再根据不同角色使用不同视图,而不是让所有人都维护一张巨大表格。
一条可执行的需求至少应包含:需求背景、目标指标、范围边界、负责人、预估工作量、前置依赖、计划开始时间、计划完成时间、验收人和当前风险。状态建议控制在六种以内,例如待澄清、待排期、进行中、待验收、已完成、已暂停。状态过多会让团队花时间维护标签,却无法帮助判断下一步行动。我会使用三种视图配合工作。
列表视图用于产品经理检查优先级、负责人和截止时间;时间轴视图用于识别依赖冲突和资源重叠;看板视图用于每日同步当前状态。三种视图的数据必须来自同一套需求记录,否则很快会出现列表写着“进行中”、时间轴仍显示“未开始”的情况。排期时还应把“验收”和“发布”单独拆成任务。
过去我把开发完成当成需求完成,实际平均还需要1到2个工作日处理测试、业务确认和发布准备。对于跨部门需求,我会增加一个风险字段,并使用红黄绿三档:红色表示存在阻断依赖,黄色表示信息不完整或时间紧张,绿色表示可以按当前方案执行。每周排期评审只讨论红色和黄色事项,避免会议变成逐条朗读任务。
工具选择上,不应只看是否支持甘特图、标签或自动提醒,而应重点验证三个场景:临时变更后能否追踪影响范围,负责人能否看到自己的待办和依赖,管理者能否快速识别延期风险。如果一个工具功能很多,却不能让团队在5分钟内回答“谁在做、做到哪、卡在哪里、会不会影响上线”,它就只是信息存放处,还没有成为排期系统。
核心关键词
文章包含AI辅助创作:需求排期需求排期教程:产品经理落地方案,避坑指南,发布者:飞飞,转载请注明出处:https://worktile.com/solution-1/archives/524605
读者评论
产能表那部分说到了痛处,但实际操作起来最难的正是数据来源:休假能查,支持工单和线上故障的占比却没人认真统计过,最后往往拍脑袋填个 70% 可用率,等于把不确定性又藏回去了。你们那张容量表是按什么粒度维护的,每周更新还是季度初估一次?
用区间和概率回复业务方,理论上是对的,但我们这边销售听完只会追问一句“那到底哪天能上”,然后把你说的 85% 当成承诺写进合同。所以我更好奇的是组织层面的配套:这套说法要能站住,是不是得先让老板和销售也认这套语言,否则产品经理单方面讲概率只会被当成不专业。
等待时间占 58% 这个结论我信,但把跨环节等待归到 34% 是第一大根因,我有点保留。六类占比加起来是 100%,样本是几个团队、多长时间,文中没交代,帕累托图容易让人误以为是普遍规律。另外减少等待听起来只要流程前置,实际往往卡在测试环境和设计资源是共享的,不是单个团队能改的。