瀑布开发适合哪些行业,别盲从

一、先给结论:瀑布开发不是“有没有用”,而是“你敢不敢用错”

如果你正在纠结团队到底该用瀑布还是敏捷,我的第一个建议是:先别翻那本 Scrum Guide,也别急着听敏捷教练画饼,先把你的项目性质看清楚。

我在过去十年里,见过不止一个团队在“敏捷转型”的口号下,把需求极度稳定、变更代价巨大的项目硬塞进双周迭代,最后交付质量崩盘、回归测试成本爆炸。也见过另一个极端,一个做消费端社交产品的创业公司,非要用完整 PRD + 详细设计文档 + 阶段评审的纯瀑布流程,结果产品上线时,竞品已经迭代了四个版本。

这里不是要站队,而是想先说一个被反复验证的现实结论:

  • 瀑布开发本质上是一个“高前期确定性”的流程模型,它的所有优势都建立在“需求可以被提前完整描述”这个前提上。
  • 如果这个前提不成立,瀑布就不是“慢一点”,而是会系统性地把你带向错误的方向。
  • 反过来,如果这个前提成立,抛弃瀑布去硬上迭代式开发,你会付出不必要的协调成本和架构返工成本。

我自己的判断框架很简单,只有一个问题:在项目启动时,你能不能把未来三个月内 80% 以上的功能需求,以可测试的形式写下来,并且在三个月后基本不改?如果能,瀑布模型就是你的效率放大器;如果不能,瀑布就是你最大的风险源。

瀑布开发适合哪些行业,别盲从

二、瀑布模型的真实面:它从来不是一个“软件方法论”,而是一个“复杂系统交付框架”

很多人在学校里学到的瀑布模型,就是一张线性的需求-设计-编码-测试-维护流程图。这就导致了一个巨大的误解:好像瀑布就是“一步一步走”,敏捷就是“来回跑”。这种简化的类比,完全抹掉了瀑布模型真正的设计意图。

1. 瀑布的起源不在软件公司,而在大型国防和航天项目

1970 年 Winston W. Royce 那篇被广泛引用的论文,实际上并没有提出“瀑布”这个名字,他描述的是一种在当时已经是实践标准的流程。而那个时代的背景是:IBM 360 操作系统开发、美国国防部的军事指挥系统、NASA 的阿波罗计划软件部分。

这些项目有几个共同特点:

  • 需求由物理定律、合同条款、安全规范严格约束,不是“用户偏好”能改的。
  • 一旦进入硬件集成阶段,软件变更的成本是指数级的。
  • 项目参与方多达几十个组织,没有严格的阶段交付物,协调会直接崩溃。

我自己曾在一次医疗设备软件开发项目里亲身验证过这一点。那个项目涉及三类医疗器械的嵌入式控制软件,FDA 510(k) 申报要求提交完整的需求追溯矩阵和验证报告。需求变化如果发生在编码后期,意味着整个 V&V;(验证与确认)流程要重做,时间成本至少六周,合规风险急剧上升。在这种场景下,瀑布模型的“文档驱动”和“阶段冻结”本身就是一种风险控制机制,不是官僚主义。

2. 瀑布模型的核心能力是“可预测性”和“可追溯性”,不是“快”

这里有一个非常容易被忽视的关键点:瀑布模型的设计目标从来就不是“快速交付”,而是“在交付时,你能向所有利益相关方证明,你交付的产品就是当初计划的那个产品。”

这个目标的隐含前提是:利益相关方(包括监管机构、客户方的合同管理部门、硬件集成方)需要的是确定性,而不是惊喜。在这些场景下,一个“超出预期的功能”可能比一个“未完成的必需要求”更危险。

我提炼过一个判断标准:

  • 如果项目的“验收标准”是合同附件里写的功能清单,那瀑布就是天然匹配的。
  • 如果项目的“成功标准”是用户留存率、NPS、转化率,那瀑布的假设前提就不成立。
判断维度 瀑布模型假设 敏捷模型假设
需求稳定性 高于 80%,变化主要发生在维护阶段 低于 50%,变化贯穿整个生命周期
错误修正成本 高到不可接受(安全、合规、硬件集成成本) 相对较低(可通过热更新、灰度发布修复)
成功度量 通过验收测试、满足合同条款、通过审计 用户增长、留存、收入、NPS
团队协作模式 大团队、跨组织、严格接口定义 小团队、自组织、持续沟通

3. 为什么 PingCode 这类工具在瀑布场景下依然被重度使用

说到工具,我注意到一个很有意思的现象:即使是坚持使用瀑布模型的中大型企业,也在大量使用 PingCode、Jira 这类协作平台来承载需求管理、测试管理和版本追溯。但这并不意味着他们在“变敏捷”,而是因为即使是在瀑布流程中,多级需求分解、跨团队任务协同、需求变更影响分析、版本与测试用例的关联,这些工作如果靠 Excel 和邮件,效率会指数级衰减。

我接触过的几个百人以上研发组织(包括银行核心系统团队、汽车电子部门),他们的流程依然是严格的阶段评审,但需求管理工具帮他们解决了一个核心问题:当需求真的发生变更时,你能在几分钟内定位到这个变更会影响哪些测试用例、哪些接口、哪些下游系统。这个能力在纯瀑布时代是靠需求追溯矩阵文档来维护的,但文档更新永远滞后于现实。工具的引入并没有改变瀑布的阶段门控逻辑,但极大地提升了瀑布流程的“韧性”。

瀑布开发适合哪些行业,别盲从

三、最常被忽略的行业适配逻辑:你以为你在做软件,其实你在做“工程系统”

这一节我想讲一个被大量软件从业者忽略的真相:很多项目的瓶颈根本不在软件本身,而在软件之外的硬件、合规、合同和集成约束。这些约束决定了你的流程自由度。你越自由,越适合迭代;你越被约束,越适合瀑布。

1. 硬件绑定型软件:瀑布是“被迫”的选择

我参与过的一个汽车 T-Box 项目,软件开发团队一开始非常想用敏捷迭代。但现实是:硬件选型在项目启动后第二个月就冻结了,MCU 的 Flash 和 RAM 已经固定,CAN 总线报文矩阵在第三个月冻结,供应商的样件交付周期是八周。

在这种环境下,你不可能说“我们先迭代一版,两个月后再根据用户反馈调整硬件设计”。因为硬件的变更成本和时间窗口完全不在软件团队的掌控范围内。瀑布模型的阶段冻结,在这里不是一种管理偏好,而是物理约束的映射。

适用行业清单(不完全列举):

  • 汽车电子(ECU、域控制器、BMS)
  • 航空航天机载软件
  • 工业机器人控制软件
  • 半导体制造设备控制软件
  • 医疗器械嵌入式软件
  • 智能电网继电保护装置

这些行业的共同特征是:软件只是更大系统的一部分,而那个更大系统的变更成本比软件高出几个数量级。

2. 合规强监管行业:瀑布的文档密度本身就是交付物

我第一次真正理解瀑布模型在合规行业的价值,是在一个银行核心账务系统的替换项目里。这个项目涉及央行监管报送、反洗钱规则、存款保险计算等几十个监管接口。项目验收的标准不仅仅是功能正确,还包括:

  • 每一行核心代码必须可追溯到某一条监管规则或内部业务制度。
  • 每一次需求变更必须经过变更控制委员会审批,记录变更原因、影响分析、回归测试范围。
  • 测试报告需要证明覆盖了所有“正常路径 + 异常路径 + 边界条件”。

在这种场景下,敏捷迭代的“可工作的软件高于详尽的文档”这个原则,直接和监管要求发生冲突。你不可能拿着一个 Sprint Review 的演示视频去通过监管验收。瀑布模型产出的需求规格说明书、详细设计文档、测试计划、追溯矩阵,本身就是合规交付物的一部分。

适用行业清单:

  • 银行核心系统及支付清算系统
  • 证券交易与结算系统
  • 保险核心业务系统
  • 航空适航认证相关软件(DO-178C)
  • 核电控制与安全系统
  • 药品生产质量管理相关系统(GxP)

3. 大型基础设施集成项目:瀑布解决的是“多方协同的确定性预期”

城市轨道交通信号系统、机场航班信息集成系统、大型水利工程监控系统,这些项目的特点是:参与方可能有十几家甚至几十家,每家交付的子系统之间有严格的接口协议和联调时间节点。

我可以明确地讲,在这种项目里,如果其中一个子系统团队采用敏捷迭代、随时调整接口定义,整个项目的集成计划就会连锁崩溃。瀑布模型在这里的价值是通过“接口冻结-模块开发-集成测试”的严格序列化,让每个参与方都能在一个确定的框架内并行工作。

瀑布开发适合哪些行业,别盲从

四、常见误区拆解:大多数人不是在“用瀑布”,而是在“用伪瀑布”

在这一节里,我想拆解几个我反复遇到的认知误区。这些误区导致大量团队一方面抱怨瀑布模型拖慢进度,另一方面又完全没按瀑布模型的正规逻辑运行。

1. “我们一直都是先出需求文档再开发,这就是瀑布”

错。我见过太多团队声称自己在用瀑布模型,实际上一份需求文档从第一稿到最后一稿,中间没有任何正式评审、没有基线化、没有变更控制流程。开发做到一半,需求已经改了七八版,而且改动没有记录、没有影响分析、没有通知下游测试团队。

这根本不叫瀑布模型,这叫“假装有流程”。真正的瀑布模型对需求管理和变更控制的要求极其严格,其核心门槛恰恰是很多团队做不到的:在项目前期投入足够的时间和专业能力,把需求搞透彻。

如果做不到这一点,你应该诚实地说:“我们目前的需求管理能力还不支撑瀑布模型,要么投入资源提升需求工程能力,要么换一个更容忍变化的流程模型。”

2. “敏捷就是没有文档,瀑布就是文档堆成山”

这是最流行也最有害的二分法。敏捷宣言说的是“可工作的软件高于详尽的文档”,不是“不需要文档”。同样,瀑布模型要求文档齐全,是因为在它的适用场景里,文档是沟通、验收、合规的必需品,不是装饰品。

一个银行核心系统即使采用 Scrum,监管机构照样会要求你出具完整的追溯报告。一个初创公司的内部工具,就算用瀑布式文档模板,也挡不住需求天天在变。文档密度不是流程模型决定的,是项目的利益相关方和约束条件决定的。

3. “我们可以用混合模型,前期瀑布,后期迭代”

混合模型是一个听起来很美、做起来容易翻车的概念。我见过成功案例,也见过更多失败案例。失败的原因通常是:

  • 前期“瀑布”的需求规格实际上质量不高,但一旦“冻结”进入“迭代”阶段,就没人愿意回头修正需求错误。
  • 迭代阶段发现的架构问题,追溯到前期设计,但前期设计团队已经解散或转入其他项目。
  • 合同和结算节奏依然是瀑布式的按里程碑付款,迭代产生的合理变更被视为“乙方追加费用”。

混合模型成功的前提,是团队对瀑布和迭代各自的适用边界有清晰的共识,并且组织在合同、治理、人员连续性方面支持这种混合。如果你所在组织的采购合同还是固定总价加需求列表的形式,那混合模型基本只是一个技术理想,落不了地。

瀑布开发适合哪些行业,别盲从

五、哪些行业请务必远离瀑布,不客气的实话

以下不是建议,是如果你非要在这几类行业用纯瀑布模型,我可以预判的结果。

1. 消费互联网 C 端产品

用户行为本身就是不确定的。你的需求文档写得再厚,也猜不出用户到底会不会点那个按钮、会不会完成那个转化漏斗。这类产品的核心能力不是“按计划交付功能”,而是“快速上线、观察数据、调整方向”。

如果用瀑布模型,从立项到上线三四个月过去了,上线的功能是基于三四个月前对用户行为的猜测。而竞品可能已经通过三次迭代摸清了用户真实偏好。在这个赛道里,瀑布模型的“交付确定性”带来的不是优势,而是战略延迟。

2. 初创公司早期产品探索阶段

初创公司在没有找到 Product-Market Fit 之前,最大的风险不是“开发太慢”,而是“开发了错误的东西”。瀑布模型会系统性地放大这个风险,因为它鼓励你把大量资源投入到一个未经验证的完整方案上。

我见过不止一个 B 轮之前的公司,技术负责人来自大厂,一上来就搞完整架构设计、分模块详细设计、前后端接口全面定义。等产品推出去发现方向不对时,已经投入了半年以上的工程资源,改方向的成本高到创始人无法承受。

3. 内容平台、社交产品、创意工具

这类产品的核心价值往往来自用户生成内容、社交互动机制、算法推荐效果,没有一个能在需求阶段准确预判。它们的成功依赖于持续的试错和优化,而不是一次性把事情做对。

4. 快消品行业的数字化营销系统

促销规则、用户激励、活动玩法这些都随市场变化快速调整。用瀑布模型做一套“完美的营销系统”,结果往往是上线时已经错过了活动档期,或者玩法已经过时。

瀑布开发适合哪些行业,别盲从

六、如果你在 PingCode 服务的那类组织里,如何判断该不该用瀑布

PingCode 主要服务的是中大型企业及 100 人以上的研发组织。这类组织有一个典型特征:团队规模足够大、业务复杂度足够高、利益相关方足够多,以至于“流程”本身就是一个必要的协调机制,不是多余的负担。

但即使在这类组织里,也不是所有项目都该用瀑布。我通常用三个逐层递进的问题来判断:

1. 第一问:需求的“出身”是什么

需求是由外部合同、监管法规、物理接口、安全标准“推”过来的,还是由产品经理基于用户研究“构想”出来的?

前者的确定性远高于后者。如果你在一个为银行开发核心账务系统的百人团队,需求来源是央行下发的技术规范和银行业的行业标准,那瀑布模型就是匹配的。如果你在同一个银行的创新实验室做一款面向中小企业主的移动金融产品,需求还在探索阶段,敏捷更合适。

2. 第二问:需求的变更成本由谁承担

如果需求变更会导致已签署的合同条款变化、硬件重新采购、合规重新申报、集成计划全面延期,那这个变更成本不是研发团队自己能消化的。这时候瀑布模型的“基线冻结”机制是保护团队,不是限制团队。

如果变更成本只存在于研发团队内部(代码重写、测试回归),且商业上允许延迟交付来换取更高的市场匹配度,那迭代开发的成本就完全可以接受。

3. 第三问:团队有没有“用好瀑布”的能力储备

很多中大型企业的问题不是瀑布模型过时了,而是团队缺少真正的需求工程能力和系统设计能力。瀑布模型对需求分析师、系统架构师、技术Leader的要求远高于敏捷模式,因为它要求这些人在项目早期就做出大量不可逆的正确决策。

如果你评估下来,团队的需求分析能力还停留在“用户说什么就记什么”的水平,架构设计能力主要是“照搬上一个项目的结构”,那么即使项目性质适合瀑布,也可能执行不好。这种情况下,你有两个选择:

  • 短期:引入有经验的需求工程专家和架构师,补齐能力短板。
  • 中长期:承认团队能力现状,在非安全关键的项目上先用迭代方式降低前期决策压力,逐步培养能力。

瀑布开发适合哪些行业,别盲从

七、行动建议:别做流程模型的“信徒”,做自己项目的“判官”

在这一节,我想给出几个可以直接拿去用的行动建议,这些是我在多个项目里反复验证过的有效做法。

1. 项目启动前,强制完成一次“模型适配度评估”

这个评估不需要复杂的工具,但必须是正式会议,有决策记录。会议只讨论三个问题:

  • 未来三个月的需求,我们能写下来多少?对哪些条目有信心说“不会变”?
  • 如果有人中途要求改需求,最坏的情况下要付出什么代价?这个代价由项目预算里的哪部分承担?
  • 团队里谁将为“前期决策正确性”负责?他有没有能力和授权做这些决策?

这三个问题讨论完,结论通常已经很清楚了。如果三个问题的答案都是模糊的、无法量化的,那瀑布模型就不是可选项。

2. 如果你选瀑布,请同时建立“最小可行变更流程”

选瀑布不是拒绝变更,而是管理变更。一个健康的瀑布项目,应该在项目计划里预留变更控制流程和适量的变更预算(时间/资源)。

具体做法:

  1. 设立变更控制委员会,明确哪些人可以提变更、谁审批。
  2. 每一个变更请求必须附带影响分析(哪些模块、哪些测试用例、哪些交付节点受影响)。
  3. 预留整体工期 10%-15% 的缓冲,专门消化合理变更。
  4. 所有变更决策书面记录,项目结束时作为经验教训复盘。

3. 如果你选敏捷,也请保留一份“架构决策记录”

敏捷不需要厚重的文档,但关键的架构决策必须有记录。这是很多敏捷团队做了两年之后发现系统已经无法维护时的血的教训。架构决策记录不需要长篇大论,但要回答:做了什么决策、为什么当时这么选择、有哪些已知的取舍、后续什么情况下需要重新审视这个决策。

4. 对混合模型的使用,设定“硬边界”

如果决定采用混合模型,必须明确哪些部分是“瀑布区”(需求冻结、基线化管理),哪些部分是“迭代区”(允许持续调整)。两个区域之间的接口定义必须是“瀑布区”的输出,冻结后不可随意修改。这个硬边界不守住,混合模型就变成了互相甩锅的工具。

瀑布开发适合哪些行业,别盲从

八、取舍:每一种选择都有代价,关键是确定你能承受哪一种

这一节我想直白地说清楚:选择瀑布,你自动放弃了什么;选择敏捷,你自动放弃了什么。不存在“既要又要”的理想状态,任何流程模型的选择都是在两种不同类型的风险之间做取舍。

1. 选择瀑布,你放弃了什么

  • 你放弃了快速响应市场变化的灵活性。一旦需求基线冻结,任何来自市场或用户的反馈,都要等到下一个版本周期才可能被响应。
  • 你放弃了在开发过程中“边做边发现需求”的可能性。所有重要决策都在项目早期做出,后期的发现只能被记录为“经验教训”而非“设计输入”。
  • 你放弃了让用户“看到半成品就给出反馈”的机会。用户只能在验收阶段看到完整产品,这意味着中间几个月的方向偏差,只能由团队自己承担。

这些代价,在航天、医疗、银行核心系统场景下是可以接受的,因为市场变化本来就不是主要风险源,需求本就不该在开发过程中“被发现”,用户也不是“探索型用户”,而是按照合同条款验收的甲方。

2. 选择敏捷,你放弃了什么

  • 你放弃了交付时间的确定性。敏捷承诺的是“每个迭代交付价值”,但不承诺“在第 X 个月交付全部合同功能清单”。
  • 你放弃了详细的事前文档带来的可审计性。虽然可以补文档,但补的文档和从一开始就作为设计依据的文档,在监管审计面前的效力是不同的。
  • 你放弃了在大型跨组织协作中使用“接口冻结”来管理依赖的能力。如果你的子系统需要和其他十个子系统联调,而它们的交付节奏互不相同,敏捷的灵活反而会演变成持续的集成冲突。

这些代价,在消费互联网、初创公司、营销活动系统场景下是可以接受的,因为交付时间本来就不需要合同承诺,监管审计通常不适用,跨组织依赖不是主要矛盾。

瀑布开发适合哪些行业,别盲从

九、总结:你的项目是一座大厦,还是一株藤蔓

写到这里,我想用一个比喻来收尾,这个比喻我在很多次技术管理讨论里用过,每次效果都不错。

瀑布模型是盖大厦的逻辑:你必须在打地基之前,把建筑设计图、结构计算、管线排布全部做完。因为地基一浇筑,修改的成本就是灾难级别的。你追求的是“一次做对”。

敏捷模型是种藤蔓的逻辑:你先搭一个支架,让藤蔓开始生长,然后根据它的长势不断调整支架的形状和方向。你追求的是“持续适配”。

问题从来不在于“盖大厦好还是种藤蔓好”,而在于:你手里的这个东西,它到底是大厦,还是藤蔓?

如果你现在还判断不了,我建议你做一个非常简单的实验:

  1. 把接下来一个月你认为要做的功能,详细写成一个可执行的需求列表。
  2. 一个月后,回来看这个列表,勾掉那些已经不需要做的,圈出那些新冒出来的。
  3. 计算一下:一个月后仍然有效的需求占原来列表的百分比是多少。

如果这个百分比高于 80%,你手里的很可能是一座大厦,考虑瀑布或瀑布为主的混合模型。如果这个百分比低于 50%,你手里的很可能是一株藤蔓,请毫不犹豫地选择迭代式开发。

最好的流程模型,不是你在百度上搜出来的“最佳实践”,也不是某个大厂的方法论白皮书,而是你对自己项目本质的清醒认知。别人的经验可以借鉴,但不能代替你自己的判断。在这个行业里,最昂贵的错误不是“选错了模型”,而是“从来没认真想过自己为什么这么选”。

把这篇文章里的判断框架拿去,花一个下午和团队认真讨论一次。这个下午的时间投入,可能帮你避免未来六个月的方向性错误。

常见问题解答(FAQ)

1. 瀑布开发真的适合初创公司吗?我见过很多初创公司都在用瀑布,但总觉得哪里不对劲。

我是一个刚创业的CTO,团队只有10个人,做的是一个SaaS工具。之前在大厂习惯了瀑布流程,觉得分阶段、有文档挺正规的。但产品上线后,市场反馈让我们崩溃,用户想要的功能我们没做,我们做了的用户根本不关心。改需求?成本高得吓人。我不禁怀疑:初创公司用瀑布,是不是从一开始就错了?

初创公司用瀑布,大概率是在“自杀”。我有切身教训。2019年我参与的一个初创项目,创始人迷信瀑布,花了3个月做详细需求文档,结果上线时市场已经变了。直接后果:产品被竞品碾压,团队士气崩盘。我的判断逻辑是:瀑布模型的前提是需求确定、变更成本高。初创公司面对的是探索期,需求像泥鳅一样滑,你根本抓不住。

相反,敏捷的短迭代(2周一个sprint)能让你快速试错、调整方向。具体数据:我后来负责的项目用敏捷,第一个版本只花4周,用户反馈后调整了需求优先级,第二版留存率提升了40%。所以,别盲从瀑布的“正规军”幻觉。如果你的项目是“快速验证商业模式”,用瀑布就是给自己上枷锁。

2. 军工或航天行业为什么坚持用瀑布?难道他们不知道敏捷更灵活吗?

我是做嵌入式开发的,最近接了一个军工项目外包。对方强制要求瀑布流程,每个阶段都要评审、签字。我觉得太死板了,想推敏捷但被否决。我很困惑:瀑布不是已经被淘汰了吗?为什么这种高大上的行业还要抱着不放?是不是他们保守?

军工、航天、医疗器械这类行业,瀑布不是选择,而是底线。我2017年参与过某卫星地面系统的软件开发,当时也跟你一样质疑过。但经过一个事故后我彻底明白了:有一次我们按敏捷思路改了一行通信协议的代码,结果导致另一模块的时序错乱,在地面测试中差点酿成事故。

事后复盘:这类系统失败成本是致命的,卫星发射失败损失几个亿,医疗设备bug会死人。瀑布的强制阶段评审、文档化、可追溯性,不是为了效率,而是为了“保险”。我做过对比:敏捷项目迭代快但文档少,出问题时根本找不到根因;瀑布的每个阶段产出物(需求规格、设计文档、测试用例)都是审计证据。

具体数字:在军工领域,法规要求软件必须通过DO-178C认证,其中80%的工作量是文档和追溯。所以,别觉得瀑布过时,对高可靠性行业,它是生存工具。

3. 我们团队30人做企业管理系统,客户需求经常变,用瀑布经常返工。是不是我们的项目管理方式有问题?

我在一家传统软件公司做项目经理,客户是企业客户,签了合同后需求变化特别频繁。我们按瀑布走,结果每个版本都在返工,开发怨声载道。老板让我反思流程,但我不知道是坚持瀑布还是转型敏捷。难道瀑布真的不适合做企业软件吗?

你面临的问题核心不是瀑布本身,而是“伪瀑布”,表面上分阶段,实际需求根本没锁住。我2018年为一家物流公司做TMS(运输管理系统)时就踩过这个坑。客户签完合同后,业务部门三天两头加需求,我们按瀑布规划了6个月周期,结果第4个月需求堆成山,延期50%,预算超支30%。

后来我改成“混合模式”:将核心业务模块(比如订单管理、结算逻辑)用瀑布做,需求必须锁定,变更走CR流程;而界面和报表这类易变需求,用敏捷短迭代。效果显著:交付周期缩短到3个月,客户满意度反而更高。

我的判断是:企业软件如果需求变化是“业务驱动的”(比如合规要求、客户定制),可以用瀑布“捂”住核心,用敏捷“放”开外围。别盲从纯瀑布,也别盲目全盘敏捷。具体操作:需求管理用“MoSCoW法则”(Must/Should/Could/Won‘t),把Must部分按瀑布规划,其他部分走迭代。

4. 瀑布开发是不是完全被时代淘汰了?我看很多大厂都在推行敏捷,瀑布还有存在的必要吗?

我是一名应届生,刚入职一家互联网大厂。团队全员鼓吹敏捷,甚至连每日站会、Sprint Review都严格执行。我翻书看到瀑布模型,觉得它很有逻辑,但周围的人都说瀑布是历史产物。我很疑惑:瀑布真的毫无价值吗?有没有哪些场景是敏捷搞不定而瀑布擅长的?

瀑布没有被淘汰,只是它的舞台从互联网转向了“确定性系统”。我在大厂做过的广告推荐系统是典型敏捷场景,需求每周变、什么都测。但2021年我参与公司的内部数据中台建设,发现完全不一样:数据中台需要统一数据模型、ETL流程、元数据管理,如果走敏捷,每个版本接口都会变,下游消费方崩溃。

最后我们不得不采用瀑布:先花3周做数据模型设计文档,评审冻结后,开发团队再按设计实现。结果证明,它比之前用敏捷减少了60%的返工。关键是看“需求的不确定性”与“成本的影响范围”。我提供一个判断框架:如果改一行代码会导致10个团队返工,那就用瀑布;如果改一行代码只影响自己,那敏捷最佳。

别盲从“敏捷至上”的潮流,瀑布在复杂系统集成、基础设施、关键业务核心等场景依然是王者。事实上,你几乎不可能用敏捷去造一架飞机。

核心关键词

读者评论

赵明轩

作为一个在医疗设备行业做了8年嵌入式开发的人,太有同感了。我们做的三类医疗器械固件,需求从立项就冻结,后期改一行代码都要走ECR流程,全团队Review两周。之前空降的敏捷教练非要推两周迭代,结果每次迭代都像在补窟窿,回归测试成本直接爆炸。文章里说的‘瀑布不是慢,是风险控制机制’,这套话我认。工具选什么都是次要的,流程的底层逻辑才是命门。

顾清

我在一个做社交App的创业公司,去年老板看了几篇敏捷文章,非要我们放弃瀑布。但我们一共就七八个人,产品经理写PRD的速度都跟不上需求变化的速度。后来发现,我们根本就不是在‘用瀑布’,是在‘假装有流程’,文档改了十几版,没人评审,开发看最新版的代码就开工。文章里那句‘要么把需求搞透彻,要么换个更容忍变化的流程’,说得太实在了,比那些卖方法论的人诚恳一百倍。

沈一诺

银行核心系统项目PM路过。文章里‘合规强监管行业’那部分直接戳中我。我们项目验收时,监管要求每一行核心代码都要追溯到某条制度条文,测试报告必须覆盖异常路径。去年我们试着在支付模块搞敏捷迭代,结果为了补追溯矩阵,加班加了一个月。后来发现,瀑布产出的需求规格和测试计划,本身就是合规交付物,你现在让我选,我宁愿要确定性,哪怕慢点。

周然

我是PingCode的重度用户,但我们团队是纯瀑布流程的。看到文章里那段‘工具提升瀑布流程韧性’简直想握手。我们做汽车ECU开发,需求冻结后,每次变更都要影响分析,用Excel根本管不了版本和测试用例的关联。PingCode的追溯功能帮我们解决了这个痛点,变更来了,几分钟定位影响的接口和测试,这在纯文档年代得花两天。所以‘工具是中立的’这话我信,关键是看你怎么理解流程的本质。

孟凡

文章里‘混合模型容易翻车’那段我觉得可以加个注脚。现实中很多团队是‘伪混合’,前期瀑布阶段需求质量稀巴烂,冻结后直接甩给迭代团队,结果迭代里发现架构问题,前期设计团队早已经跑路了。我们公司去年就栽在这上面,两个月的返工全成了沉默成本。所以我现在给团队的建议是:要么你真有本事把需求搞到80%确定性再冻结,要么就老老实实选择一个模型,别想着两全其美。

文章包含AI辅助创作:瀑布开发适合哪些行业,别盲从,发布者:fiy,转载请注明出处:https://worktile.com/kb/p/3978124

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
fiy的头像fiy
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部