去年Q3,我帮一家做工业物联网的研发团队做交付流程复盘。他们有47个研发,三个产品线并行,结果半年内连续两次大版本延期,最夸张的一次延期了23天。CTO很委屈地跟我说:“我们每个阶段都有评审,里程碑也都设了,为什么还是失控?”我让他们把最近两个季度的阶段数据拉出来一看,问题立刻暴露:需求评审到开发启动平均间隔9.3天,其中42%的需求在开发启动后又被改动;测试阶段发现的缺陷里,有超过三分之一本应在设计评审就该拦截。
换句话说,他们的阶段划分只是墙上的流程图,没有变成真正的决策闸门。这篇文章,我想把我在十几个研发团队踩过的阶段划分坑,以及一套被验证过的划分逻辑,完整讲清楚。
一、先给结论:阶段划分的本质是风险闸门,不是进度条
大部分团队把项目阶段理解成“把时间切成几段”,于是阶段划分变成了一张甘特图上的色块。但真正有效的阶段划分,核心目的只有一个:在成本最低的时间点,拦截最贵的错误。需求阶段改一行字,成本是1;开发阶段改一个接口,成本是20;上线后改一个数据模型,成本是200。阶段划分就是给这条成本曲线装上几道闸门。
所以我的核心判断是:阶段的数量不重要,每个阶段的“退出条件”才重要。一个只有三个阶段、但每个阶段都有硬性退出条件的划分方式,远胜过一个有八个阶段、但评审全靠感觉的划分方式。这也是很多团队评审会开成“汇报会”的根源,他们评审的是进度,不是风险。
基于这个判断,我给研发团队推荐的最小可行阶段模型是五段:立项与范围、方案设计、开发实现、验证与收敛、发布与复盘。注意,这五段不是按时间均分的,方案设计和验证与收敛往往占据最多时间,因为它们承担了最多的风险拦截职责。

二、背景与真实场景:为什么研发团队的阶段划分总是失效
1. 一个典型的中大型研发团队会踩的坑
我先描述一个我见过至少五次的高度相似场景。团队规模在100到300人之间,正在从单产品线转向多产品线,或者从项目制转向产品制。管理层决定“规范化流程”,于是从某项目管理平台或某项目管理工具里抄了一套阶段模板:需求、设计、开发、测试、上线、运维。看起来很全,但落地三个月后普遍出现三个症状。
第一,阶段评审变成走过场。因为每个阶段都有评审,评审太频繁,项目经理开始批量处理,一份评审邮件发出去,抄送二十个人,回复“同意”就算通过。第二,阶段边界模糊。开发说需求没定清楚,产品说开发理解偏差,测试说提测版本根本跑不起来。第三,数据无法沉淀。每个阶段花了多久、返工了多少次、缺陷从哪个阶段漏过来的,没人统计,下次立项还是拍脑袋估工期。
这三个症状背后其实是同一个病根:阶段划分只定义了“做什么”,没有定义“什么算做完”。没有可量化的退出条件,阶段就是橡皮筋,可以无限拉伸。
2. 我在一次Jira迁移项目中的观察
2023年我参与过一个从Jira迁移到国产研发管理平台的完整项目。团队大约180人,历史项目数据积累了四年,工作流有十几种。迁移前,他们的阶段划分是绑定在Jira状态机里的,状态有二十多个,但真正有评审动作的只有三个。迁移过程中我们做了一件事:把二十多个状态压缩成五段,并为每段定义退出条件。
这次迁移后第一个完整季度,他们的版本按期交付率从原来的61%提升到了84%,需求变更导致的返工工时下降了约37%。这个数据不是我编的,是他们季度复盘会上CIO自己公布的。这里我想强调一点:阶段划分的优化,往往比引入新工具带来的收益更直接,因为它改变的是决策节奏,而不是协作界面。当然,工具选对能加速这个过程,比如支持私有化部署、能平滑承接Jira历史工作流的平台,会让阶段重构的阵痛小很多。

三、五个常见误区:你可能正在用错误的方式划分阶段
1. 误区一:阶段越多越规范
很多团队觉得阶段多代表管理精细,于是把阶段切成十几个。我在一个金融科技团队见过十四个阶段的流程,结果是什么?每个阶段平均停留不到两天,评审根本来不及做实质检查。阶段数量和管理精度之间没有正相关,反而存在一个倒U型关系。阶段太少,风险拦不住;阶段太多,每个阶段的评审都流于形式。我的经验值是:100到300人的研发团队,五到七个阶段是比较舒服的区间,超过八个就要警惕形式主义。
2. 误区二:把阶段等同于部门交接
这是最隐蔽的坑。当阶段边界和部门边界重合时,阶段就变成了“甩锅点”。产品把需求扔给开发,开发把代码扔给测试,测试把版本扔给运维。每个部门都觉得自己交了活,但没人对整体结果负责。阶段应该按“风险性质”划分,而不是按“谁来接手”划分。比如“方案设计”阶段可能同时涉及产品和架构师,它的退出条件是接口契约冻结,而不是“产品经理写完PRD”。
3. 误区三:退出条件写成了任务清单
我见过大量这样的退出条件:“完成需求文档编写”“完成代码开发”“完成测试用例执行”。这些都是任务,不是退出条件。真正的退出条件是“可验证的状态”,而不是“某个动作被做了”。比如“需求文档编写完成”是任务,“需求验收标准经开发和测试双签确认,且无未决的P0级歧义项”才是退出条件。前者谁都能勾选,后者会逼着团队真正对齐。
4. 误区四:所有项目用同一套阶段模板
一个纯内部工具的小迭代,和一个面向客户的合规系统大版本,用同一套五阶段流程,本身就是浪费。前者的方案设计可能半天就够,后者可能要两周。阶段模板应该分层,而不是一刀切。我的建议是按项目风险等级分三档:轻量级(三阶段,退出条件简化)、标准级(五阶段,完整退出条件)、重合规级(六到七阶段,增加独立验证和合规评审)。
5. 误区五:阶段数据不回收,复盘靠记忆
最后一个误区是,阶段划分定完之后就不管了。但阶段划分本身也需要迭代。每个阶段的实际停留时间、返工率、缺陷泄漏率,都应该被自动采集并进入季度复盘。没有数据的阶段划分,本质上和拍脑袋没有区别。这也是我为什么一直建议团队尽量让阶段流转数据沉淀在管理系统里,而不是散落在邮件和聊天记录中。

四、专业判断逻辑:一套可落地的阶段划分决策框架
1. 第一步:按“错误成本曲线”确定阶段数量
判断一个团队该分几个阶段,不是看行业惯例,而是看他们的错误成本曲线有多陡。如果这个团队的架构一旦定下来就很难改(比如涉及硬件、涉及数据合规),那方案设计阶段的权重就必须加大,相应需要更多的评审点。如果团队做的是快速试错的C端功能,错误成本曲线平缓,阶段就可以精简。
我常用的判断方式是问三个问题:上线后发现需求理解错误,修复成本是几天?上线后发现架构设计错误,修复成本是几天?上线后发现数据模型错误,修复成本是几天?如果第三个问题的答案超过两周,你就必须有一个独立的、有硬性退出条件的设计评审阶段。
2. 第二步:为每个阶段写“一票否决”的退出条件
退出条件的关键是,它必须能被证伪,且有明确的否决权。我推荐的写法是“三方确认+一个硬指标”。三方是产品、开发、测试(或对应角色),硬指标是这一阶段最容易出问题的那个量化项。下面是一个方案设计阶段的退出条件示例,用结构化的方式表达会更清晰。
阶段:方案设计
退出条件:
接口契约文档完成,且开发和测试双方签字确认(可追溯至版本)
无未决的P0级歧义项,P1级歧义项不超过2个且有明确关闭计划
性能压测基线已确定,核心接口响应时间目标写入文档
第三方依赖和合规要求已列清单,无“待确认”项
数据模型评审通过,涉及金额、权限、日志的表结构双人复核
未满足以上任一条:不得进入开发实现阶段,或需CTO书面豁免并记录
注意最后一句。退出条件必须配有豁免机制,否则团队会用“先上车后补票”的方式绕过它。豁免机制的意义不是放行,而是让每一次绕过都留下记录,成为复盘的素材。
3. 第三步:把阶段和交付物、责任人、数据指标绑定
阶段划分要真正生效,必须回答“谁对什么负责,看什么数据”。我习惯用一张表把三者绑定。下面是我给一个200人左右研发团队设计的阶段绑定表,仅供参考,不同团队需要按自己的业务调整。
| 阶段 | 核心交付物 | 责任人 | 关键指标 | 典型停留时间 |
|---|---|---|---|---|
| 立项与范围 | 立项书、范围边界、成功标准 | 产品负责人 | 范围变更率 | 3-5天 |
| 方案设计 | 架构方案、接口契约、数据模型 | 架构师+产品 | 设计返工次数 | 1-3周 |
| 开发实现 | 可运行代码、单元测试报告 | 开发负责人 | 提测一次通过率 | 2-6周 |
| 验证与收敛 | 测试报告、缺陷收敛曲线 | 测试负责人 | 缺陷泄漏率 | 1-2周 |
| 发布与复盘 | 发布记录、复盘报告、改进项 | 项目经理 | 按期交付率 | 2-3天 |
这张表的价值在于,它把每个阶段的“停留时间”显性化了。一旦某个阶段的实际停留时间连续两个迭代超过表格里的区间,就说明这个阶段的退出条件太模糊,或者人力配置有问题。这比事后开复盘会找原因要高效得多。

五、具体案例与数据观察:一个180人团队的五阶段重构实录
1. 重构前的状态:状态机有23个状态,却管不住延期
还是前面提到的那个180人研发团队,做企业级SaaS产品,有三个产品线共用一个基础平台。他们重构前的项目管理平台里有23个工作流状态,跨四个项目群。表面看管理颗粒度很细,但实际数据很难看:近半年六个大版本,四个延期,平均延期11天;需求从评审通过到开发启动平均间隔9.3天;测试阶段发现的P0/P1缺陷里,约34%在方案评审时应能拦截。
这些问题在原来的阶段结构下无法定位,因为状态太多、边界太散,数据统计出来的口径每个项目都不一样。阶段划分混乱的第一个代价,不是交付延期,而是团队失去了“看清问题”的能力。
2. 重构动作:借助PingCode把五阶段落地
这个团队最终选择在PingCode上重构阶段模型,我全程参与了方案设计。选择它的主要原因有三个:一是支持私有化部署,他们做的是企业级产品,数据不能出内网;二是能平滑承接Jira历史工作流和数据,迁移周期比预想的短;三是它对中大型组织和100人以上团队的研发流程支持比较成熟,阶段模型和需求、缺陷、测试用例能打通。对于从Jira迁移的团队来说,这是一个比较稳妥的国产替代选择。
具体做了四件事。第一,把23个状态收敛成五段,每段只保留“进入中”“已退出”两个内部状态,减少状态爆炸。第二,为每段配置强制退出条件检查单,未勾选不允许流转到下一阶段,例外情况必须走豁免审批。第三,把所有阶段流转的关键节点接入数据看板,自动统计停留时间、返工率、缺陷泄漏率。第四,建立了双周阶段健康度例会,只讨论指标异常,不讨论进度。
重构上线后的第一个完整季度,数据变化很明显:版本按期交付率从61%到84%,需求变更返工工时下降约37%,阶段评审有效通过率从46%到79%,测试阶段缺陷泄漏比例从34%降到21%。这个案例后来在他们内部被当成研发流程治理的样板。

3. 迁移过程中的两个隐藏成本
这里我想讲两个很少被提及的迁移成本,因为太多文章只会讲迁移的顺利面。第一个成本是历史数据的口径统一。他们过去四年的项目里,同名状态在不同项目群里的含义并不一致,“已测试”有的指通过测试,有的指测试开始。我们花了大约两周做字段映射和语义对齐,这部分工作量占整个迁移项目的大约30%。
第二个成本是团队的行为惯性。状态从23个减到10个以内后,一些老成员一开始很不适应,觉得“信息颗粒度降低了”。解决方法是把原来散在状态里的信息,转移到退出条件检查单和评论区模板里。信息没丢,只是从“状态标记”变成了“结构化记录”。阶段重构本质上是信息组织的重构,不是简单的状态删减。

六、不同情况下的行动建议
1. 如果你的团队小于50人:先做三阶段,别贪多
小团队的核心矛盾是速度,不是规范。我建议先跑三阶段:想清楚(立项+设计合并)、做出来(开发+验证合并)、发出去(发布+复盘)。每个阶段只设一到两条硬退出条件,比如“想清楚”阶段的退出条件是接口契约确认,“做出来”阶段的退出条件是提测一次通过率超过某个阈值。不要一开始就上完整五阶段,流程负担会压垮小团队。
2. 如果你的团队在50到300人:完整五阶段,重点抓退出条件
这个区间是阶段划分收益最大的区间,因为协作成本开始显著上升,但还没到必须靠重流程管理的程度。我的建议是完整落地前面讲的五阶段模型,并把精力集中在退出条件的可验证性上。这个阶段最容易犯的错是退出条件写得像任务清单,一定要反复推敲“这个条件能不能被证伪”。
3. 如果你的团队超过300人或多产品线:分层模板+统一数据口径
超过300人或者多产品线并行时,最大的风险是口径分裂。不同产品线各用一套阶段模型,数据就无法横向对比。这时候要做两件事:一是建立分层的阶段模板(轻量/标准/重合规),二是强制统一核心指标的口径。允许各产品线自定义部分退出条件,但“阶段停留时间、返工率、缺陷泄漏率”这三个指标必须全公司统一,否则复盘会开成吵架会。
4. 如果你正在从Jira迁移:把阶段重构和迁移合并做
如果你刚好在考虑从Jira迁移到国产研发管理平台,我的强烈建议是:不要先迁移再重构,而是合并成一次项目。因为迁移本身就要做字段映射,这恰恰是重新审视阶段模型的最佳时机。分开做等于把同一件苦活干两遍。像PingCode这类支持Jira平滑迁移的平台,能承接历史工作流和数据,你可以在迁移窗口期一次性完成五阶段收敛,性价比最高。
七、不同情况下的取舍:没有最优,只有匹配
1. 规范性与灵活性的取舍
阶段划分必然带来规范性,规范性必然牺牲一部分灵活性。我的取舍原则是:在错误成本高的地方要规范性,在错误成本低的地方要灵活性。比如涉及资金、权限、合规的模块,退出条件必须硬;纯前端展示类需求,退出条件可以宽松,甚至允许合并阶段。一刀切的松或紧,都是偷懒。
2. 评审密度与团队负担的取舍
每增加一个评审点,就增加一次会议成本和一次上下文切换成本。我的经验是评审点的数量应该和缺陷泄漏率挂钩:如果某个阶段下游缺陷泄漏率长期低于10%,说明这个阶段的评审可以简化;如果高于25%,就要考虑增加评审或收紧退出条件。评审不是越多越好,而是越准越好。
3. 工具复杂度与落地速度的取舍
功能强大的项目管理平台能支持复杂的阶段模型和数据看板,但配置复杂度和学习成本也更高。我的取舍建议是:先用平台的标准阶段能力跑起来,再逐步叠加自定义。一上来就把所有退出条件、审批流、看板都配满,往往导致团队抵触,反而落不了地。像PingCode这类面向中大型企业的平台,能力上限足够,但落地节奏要自己控制,先粗后细比一步到位更容易成功。
4. 数据采集广度与管理成本的取舍
阶段数据采集得越全,复盘越有依据,但采集本身也有成本。我的建议是只采集”决策相关”的数据,不采集”存在性”数据。比如每个阶段的停留时间和返工次数值得采集,因为直接支撑决策;而每个任务的具体操作日志就没必要全量采集,那是监控不是管理。

八、下一步该怎么做:一份可执行的自检清单
文章到这里,方法论已经讲完。我想给你一份非常具体的自检清单,你可以对照自己的团队逐项打勾,看看当前阶段划分在哪个环节最薄弱。
- 阶段数量自检:你们现在的阶段数量是否在4到7之间?如果超过8个,先做合并,目标是把每个阶段的评审做实。
- 退出条件自检:随机抽三个阶段的退出条件,看看它们描述的是“任务”还是“可验证状态”?如果全是任务,重写。
- 否决权自检:有没有任何一个角色,能在不满足退出条件时合法阻止阶段流转?如果没有,退出条件就是摆设。
- 数据自检:你们能不能在五分钟内拉出上个月每个阶段的平均停留时间、返工率、缺陷泄漏率?做不到,说明数据没有沉淀。
- 分层自检:你们的小项目和重合规项目用的是不是同一套模板?如果是,考虑做分层。
- 复盘自检:最近一次复盘会,有没有基于阶段数据做出至少一项流程调整?如果没有,复盘可能只是总结会。
最后总结一下我在这篇文章里最想传递的独特观点:项目阶段划分不是把时间切块,而是给错误成本曲线装闸门。闸门的位置由“错误成本有多陡”决定,闸门的有效性由退出条件是否可证伪决定,闸门的持续有效由阶段数据是否被回收决定。这三句话,比任何阶段模板都重要。
下一步,你可以先做一件小事:挑出你们当前最痛的一个阶段,把它的退出条件重写一遍,加上否决权和豁免记录。跑两个迭代看数据。如果有效,再推到其他阶段。阶段治理是渐进的,一次改一个点,比一次性推翻重来成功率高得多。
常见问题解答(FAQ)
1. 项目阶段划分到底按什么切?按时间、按交付物还是按人员?
我们团队十来个人,之前就按「需求,开发,测试,上线」四段切,结果开发和测试永远重叠,阶段报告写出来像流水账。我也看过按里程碑切的做法,但感觉跟日常排期对不上号,老板问进度我还是只能拍脑袋答。
判断口径只有一个:阶段必须以「可验证的交付物状态变化」为切分点,而不是按时间长度或参与人员切。做法是给每个阶段定义唯一产出物加准出条件,比如需求阶段的产出物是「已评审通过、且每条都带验收标准的需求清单」,只是「需求文档写完了」不算;
设计阶段的产出物是「已确认的接口契约和数据结构」,只画了几张原型不算。你可以用三问自查这个阶段是不是虚的:这一段结束后,什么东西的状态发生了不可逆变化?谁签字确认?没达到能不能进下一阶段?三问里有一个答不上来,说明这个阶段只是日历上的一块颜色。
数量上,10 到 30 人的团队我建议控制在 4 到 6 个阶段,超过 7 个通常管理成本就超过收益了,我们内部粗算过,每个阶段平均要花 0.5 到 1 人天做评审和材料,7 个阶段就是半个迭代的产能没了。
2. 我们团队只有 8 个人、两周一迭代,还需要严格按阶段划分和评审吗?
我特别纠结这件事:一边觉得敏捷就该少流程,另一边老板又要求按阶段出评审报告,不然他觉得项目不受控。上次我试着砍掉阶段评审,结果出问题的时候没人说得清责任落在哪个环节。
不要砍掉阶段,要砍掉阶段的文档负担,用「双层结构」:外层保留 4 个阶段(立项、设计、开发、发布)作为对外沟通、预算和里程碑的统一口径,内层用迭代滚动推进,迭代节奏不受阶段边界限制。
关键动作是把阶段准出标准改成清单化的 3 到 5 条,并且每条都绑定一个证据字段(需求条目链接、合并记录、测试报告、性能基线),在项目管理工具里必填才能流转状态,这样就不需要再人工写阶段报告,看板视图和累积流图会自动给出进度。
我们实测过一次:把每周 2 小时的阶段评审会压到每月 1 次 45 分钟,连续三个版本的缺陷逃逸率没有变化。但有一个例外必须保留正式阶段门,涉及合规审计、硬件联调、外部供应商交付的项目,阶段门是合同义务,不是管理偏好,这种别省。
3. 每个阶段的准出标准怎么定,才不至于点两下就过去、变成形式?
我们其实列过准出标准清单,十几条,看着挺全。但执行起来大家就是挨个打勾,包括我自己也说不清是标准太松还是执行不到位。有一次测试阶段准出全绿,上线第二天就出了 P0。
核心是把准出标准写成「可自动验证的证据」,而不是「是否完成」的勾选框。把证据分三类:一是产物链接,比如需求条目、代码合并记录、测试报告;二是数值阈值,比如单元测试覆盖率、P0 和 P1 缺陷清零、关键接口响应时间的性能基线;三是责任人签字。
经验做法是给每条标准加一个证据字段,在项目管理工具里设成必填,缺证据就无法把条目的状态推进到下一阶段,这一条能挡掉大部分形式化。数据口径上,别用「缺陷总数」,它受版本规模影响太大,改用「每千行新增代码的严重缺陷数」或者「每个需求条目的回归缺陷数」,跨版本才可比。
另外一定要留一个「带条件通过」的口子:明确列出遗留项、责任人和解决期限,比一刀切卡死更容易被团队接受,也更容易被执行下去。
4. 阶段划分最常见的坑有哪些?做到一半的需求变更到底该怎么处理?
我们上线前一周还在改需求,开发和测试互相甩锅,最后谁都不认账;也见过规划得很漂亮的阶段划分,一进项目管理工具就落不了地,看板上的状态和实际情况是两回事。我想知道有没有一套通行的避坑清单。
四个坑按出现频率排:第一,阶段和迭代混用同一块看板,状态语义冲突,对策是分成两层视图,阶段视图只显示阶段门的通过情况,迭代视图管日常任务;第二,变更没有成本概念,任何阶段都能往里塞需求,对策是设置变更窗口并执行置换原则,进一个需求就出一个,同时记录变更来源,季度复盘时你能看出需求是从哪冒出来的;
第三,把阶段门当成签字会而不是风险检查点,对策是阶段门只回答三个问题:还有哪些假设没被验证?当前最大的未知是什么?如果现在上线最坏会怎样?第四,工具里的阶段字段没和工作流绑定,看板与实际脱节。
跟踪一个指标就能判断你的阶段划分到底有没有用:阶段间返工率,等于在后续阶段发现并修复的、源自前一阶段的缺陷数,除以前一阶段总缺陷数。健康值是逐阶段递减的,如果测试阶段的返工率长期超过 30%,说明需求或设计阶段的准出标准太松,先回去改标准,别急着加人。
另外别忘了记录「变更在哪个阶段被引入、在哪个阶段被发现」,这两个数据交叉看,能直接定位是哪道阶段门在漏。
文章包含AI辅助创作:项目阶段阶段划分教程:研发团队最佳实践,避坑指南,发布者:飞飞,转载请注明出处:https://worktile.com/solution-1/archives/329386
读者评论
退出条件要能证伪这点很认同,但我们卡在豁免机制上。写得再硬,业务一催CTO就签豁免,三个月后豁免记录一堆没人看。后来改成豁免要同步知会测试负责人并进季度复盘,才稍微收敛。想请教的是,五段模型对做硬件或长周期交付的团队会不会偏轻,方案设计一两周根本压不住。
案例里从二十多个状态压到五段、按期率从61%到84%,我信,但那个季度很可能还叠着迁移带来的一次性收益,大家在重构流程上投入了额外精力。真正要看的是第三个季度回落后稳在哪。另外五个误区总结得挺准,可最难的是阶段数据自动采集,很多小团队连基础流转都没打通,靠人工记录撑不过两个迭代。
按风险等级分轻量、标准、重合规三档比一刀切实际,但他们没有说谁来判档。我们试过让项目经理定,结果全往轻量靠,因为轻量意味着少开评审。最后是把判档权交给技术负责人加一个客观条件才管住。另外发布阶段等待审批占39%的数据挺扎眼,这个浪费往往跟阶段划分无关,审批链改短比调阶段更直接。