做了十五年软件开发,我参与过9个瀑布项目,其中6个在测试阶段出现了大规模延期,3个直接宣告失败。这个比例不是巧合,而是一个我想用一篇文章说清楚的结构性问题。如果你也在经历类似的情况,开发阶段一切正常,集成测试却突然崩盘,延期通知一封接一封,那这篇文章就是写给你的。
一、核心结论:崩盘不是意外,而是瀑布模型的必然产出
先把这个判断放在最前面:瀑布开发在测试阶段崩盘,不是哪个团队执行不力,也不是哪个项目经理水平不够,而是这个模型本身就内置了一个“延迟爆炸”的机制。
为什么这么说?因为瀑布模型把测试放在了最后一个阶段。这意味着什么?意味着前面需求分析、系统设计、编码实现三个环节产生的所有错误、误解、遗漏,全部都要等到测试阶段才会被发现。这不是在测试软件,这是在测试整个项目前几个月的认知盲区。
我见过最极端的案例是某金融系统项目,需求文档写了427页,开发周期8个月,测试阶段原定6周。结果集成测试第一周就发现了83个高优先级缺陷,其中31个直接关联到需求理解不一致。那个项目的测试经理在复盘会上说了一句话让我记到现在:“我们不是在测Bug,我们在清理一场持续了8个月的认知混乱。”

这里有一个容易被忽略的关键点:瀑布模型的“阶段评审”理论上应该在每个阶段结束时把关,但现实是,评审只能检查文档的完整性和格式规范性,根本无法验证需求和设计是否正确理解了业务。评审通过只代表“你写得清楚”,不代表“你写得对”。这两个之间的鸿沟,只有到了测试阶段,当真实的功能跑起来的时候才会暴露。
二、真实场景还原:一个测试经理的五个崩溃时刻
为了让你更直观地理解“测试阶段崩盘”到底是什么样,我用第一人称还原一个典型项目的真实经历。这是我在2016年带过的一个电商中台项目,客户是一家100人以上的零售企业,系统需要对接ERP、WMS和前端商城。
1. 崩溃时刻一:需求“冻结”后的第17天
项目启动时,业务方签了需求确认书,所有人以为需求冻结了。但零售行业有一个特点:促销规则变得比天气还快。需求冻结后第17天,业务方口头提了6处调整,开发团队基于“不影响主流程”的判断接了其中4处。对接下来的事没有任何记录,没有走变更流程,也没有同步给测试团队。两个月后测试时,测试用例是基于旧需求写的,功能是按新逻辑做的,两者完全对不上。测试执行第一天,27个测试用例中有19个直接失败。不是发现Bug,是连跑都跑不通。
2. 崩溃时刻二:开发提测的那个周五下午
项目经理在项目进度会上承诺“周五下班前完成提测”。周五下午4点,开发组果然把代码部署到了测试环境。但紧接着问题就来了:部署后数据库迁移脚本没有执行,环境配置文件和开发环境不一致,接口依赖的第三方服务还没有申请测试账号。测试团队从周五下午一直协调到周六凌晨才把环境调通。这不是在测试功能,是在给开发团队收拾部署的烂摊子。而项目经理的甘特图上,测试阶段已经“正式开始”两天了。
3. 崩溃时刻三:测试执行到第9天时的数据大暴露
测试执行到第9天,出现了一个让所有人傻眼的情况:订单金额计算逻辑在6个模块里有4种不同的实现方式。原因是不同的开发小组对“满减优惠叠加规则”的理解不同,但代码评审时因为模块之间没有做集成评审,这个问题被完美地藏了两个月。测试团队提了一个严重缺陷,开发经理的回复是:“这不是Bug,这是需求不明确。”但需求文档已经签过字了,到底是谁的问题?答案是模型的問題。
4. 崩溃时刻四:当测试环境被“紧急修复”频繁变更
进入测试第二周,每天都有开发人员直接在测试环境上改代码,原因是“修复速度更快”。但每次修改都可能引入新的副作用,测试环境成了第二个开发环境。测试团队早上跑通的用例,下午就挂了。一个测试经理告诉我,他连续三天都是在下班前才能确认当天的缺陷清单,因为环境状态一直在变。这种工作方式下,测试报告的可信度降到了零。
5. 崩溃时刻五:回顾会议上那句刺痛所有人的话
项目最终延期了5周,复盘时业务方负责人说了一句特别真实的话:“你们花了7个月开发,但真正让我们知道系统长什么样的,是测试阶段那几周的狼狈。”这句话点破了瀑布模型的最大悲剧,交付物在测试阶段才第一次被真正“看到”,之前全是纸上的承诺。
三、常见误区的重新审视
基于上面的案例,我想拆解几个行业里反复被提及但在现实中经常站不住脚的说法。这些“误区”很多人当成常识来用,但经不起推敲。
1. 误区一:“只要需求文档写得好,测试就不会崩”
这个假设的致命问题是:它默认了需求可以被完整、精确地书面表达。但软件开发的现实是,很多业务逻辑是隐性的、情境化的,只有在看到可运行的软件时才会被唤起。我见过写得最详尽的一份需求文档,用一个章节专门描述了“退货流程的异常分支”,结果测试时发现漏了一个关键场景:用户部分退货时积分怎么扣减。需求文档写了2000字描述正常流程,但异常分支只覆盖了50%。这不是文档质量的问题,是文档这种形式本身就无法替代可运行软件提供的反馈。
2. 误区二:“测试阶段崩盘是测试团队能力不足”
这是我听过的最典型的甩锅逻辑。瀑布模型把测试定位为“验证”而不是“发现”,这本身就是一个结构性的错位。测试团队拿到的是开发完成的代码,但他们无从知道这个代码是基于什么样的理解写出来的。测试人员只能验证“功能是否符合文档”,但文档本身可能就有问题。把一个系统性的认知缺陷归结为某一群人的能力不足,非常荒谬。
3. 误区三:“加长测试时间就能解决问题”
这是项目经理最常采用的应对策略:崩盘了就延期,延期了就加测试时间。但问题在于,测试阶段暴露的很多缺陷,修复成本已经高到不现实了。需求理解错了,可能意味着要重新设计数据库结构;架构决策有问题,可能意味着要改底层模块。这些不是加几天测试时间能解决的。延长测试时间只是在延长痛苦,而不是在解决问题。

4. 误区四:“敏捷就是解决瀑布问题的万能药”
很多文章写到瀑布的问题,最后结论就是“拥抱敏捷”。但我不觉得这是一个负责任的建议。对于某些行业和场景,瀑布模型仍然是最合适的选项,比如涉及硬件交互的嵌入式开发、合规性要求极高的金融监管系统、需求确实非常稳定且变更成本极高的项目。问题不在于“用不用瀑布”,而在于“知道瀑布的缺陷在哪里,并主动做风险管理”。给一个做航空控制系统的团队建议“用两周迭代试试”,就好比告诉一个心脏外科医生“不用开胸了,吃点中药调调”。
四、专业判断逻辑:拆解崩盘的三个底层机制
基于上面这些案例和误区拆解,我想给出三个我认为具备解释力的底层机制。这三个机制是我在过去十几年反复观察瀑布项目后提炼出来的,它们不是理论推导,而是经验归纳。
1. 底层机制一:反馈延迟的复合效应
瀑布模型最根本的问题,就是反馈闭环太长了。从需求分析到集成测试,中间可能隔了几个月甚至一年以上。这意味着一个需求理解上的偏差,要过几个月才会被纠正;一个架构设计的不合理,要等到系统跑起来才会暴露。软件开发的本质是一个学习过程,在执行中不断加深对问题的理解。但瀑布模型斩断了这个学习过程,要求你在最不了解问题的时候做出最重要的决策,然后等到最晚的时刻来验证。
反馈延迟还会产生一个复合效应:一个早期的小偏差,经过几个阶段的层层传递和放大,到了测试阶段已经演化成系统性缺陷。就像GPS定位误差,一开始可能只有几米,但如果长时间不做修正,最后可能偏离到另一个街区。
2. 底层机制二:风险的“后置集中”
瀑布模型的阶段划分,本质上是在做风险的后置。需求阶段把“需求不明确”的风险后置到了设计阶段,设计阶段把“方案不合理”的风险后置到了编码阶段,编码阶段把“实现有缺陷”的风险后置到了测试阶段。每一个阶段都在期待下一个阶段来兜底,而测试作为最后一个阶段,前面所有未被发现的风险全部集中在这里爆发。
更糟糕的是,当风险在测试阶段集中爆发时,留给团队应对的时间和资源已经非常有限了。项目预算花掉了80%,时间消耗了70%,团队已经筋疲力尽,这个时候再去做大的架构调整或者需求澄清,几乎是不可能完成的任务。
3. 底层机制三:信息不对称的极致放大
瀑布模型假设信息可以在不同角色之间无损传递:业务方把需求完整传达产品经理,产品经理精确转化为PRD,设计师基于PRD输出设计稿,开发人员严格按设计编码,测试人员准确理解所有需求来编写用例。但真实情况是,每一次信息转交都伴随着信息衰减和扭曲。
我做过一个小实验:把一个中等复杂度的业务流程,让5个人以“口述转述”的方式接力传递。到了第5个人复述时,关键信息的完整度只有原来的40%左右,而且多出了3个原本不存在的内容。瀑布模型的信息传递链条远比这5个人更长、节点更多,信息的真实性到了测试阶段已经面目全非。

五、案例观察:从PingCode的实践看瀑布项目的破局点
很多人可能会问:既然瀑布模型有这么多问题,那些正在使用瀑布模型的企业,尤其是100人以上的中大型组织,有没有什么实际可行的改善方法?这里我想基于PingCode服务的企业客户群体做一些观察和分享。
1. 为什么PingCode客户的瀑布项目反而更“稳”
PingCode主要服务100人以上的中大型企业,这些企业的研发管理有一个共同特点:不是不想敏捷,而是组织结构和业务形态决定了短期内无法完全脱离瀑布式的阶段管控。比如一些硬件+软件混合交付的项目,硬件的开发周期决定了软件不能独立做两周一个迭代;再比如一些强监管行业,每一个阶段都需要产出合规文档来做审计留痕。
但有意思的是,使用PingCode的企业在瀑布项目中的测试阶段表现普遍好于行业平均水平。我分析过原因,发现了一个关键差异:这些企业虽然在交付节奏上走瀑布,但在信息管理上走的是“透明化”路线。具体来说,他们用PingCode把需求、任务、缺陷、测试用例全部放在一个数据层上关联起来,需求的变更会自动通知到相关的测试用例负责人,开发任务的进度变化会实时反映到测试计划里。
2. 需求管理和测试用例的动态联动
传统瀑布项目的需求管理通常是Word文档+Bug管理工具,需求和测试用例之间没有关联关系。一旦需求发生变更,测试团队往往要等产品经理发邮件通知才知道。而PingCode的做法是把需求和测试用例做绑定,需求变更时会自动触发关联用例的评审提醒。这个看似简单的功能,解决的是瀑布模型中最致命的“信息不对称”问题。
我观察过一个使用了这种关联机制的项目团队,测试阶段因为需求变更导致的无效测试用例数量下降了约40%。这不是减少了变更,而是减少了变更从发生到被测试团队知晓之间的“信息真空期”。

3. 测试执行进度的实时可视化
传统瀑布项目中,测试阶段的进度管理依赖周报和进度会。测试经理每周汇总一次测试用例执行情况,缺陷修复进展,然后在下周的会上同步。这种管理方式的致命缺陷是信息滞后至少一周,等管理者发现问题时,问题已经恶化了7天。
PingCode这类工具提供了迭代概览和燃尽图功能,测试经理可以实时看到测试用例的执行率、通过率、缺陷的修复率和回归结果。我在一个使用PingCode的项目回顾会上看到过这样一个数据:测试经理在测试阶段第三周通过燃尽图发现了进度偏离趋势,及时调整了资源投入,避免了最终延期。而在之前没有可视化的项目里,同样的情况往往要到计划截止前一周才会暴露。
4. 迭代回顾与过程改进的闭环
瀑布模型虽然整体是线性的,但可以在每个阶段结束时加入回顾机制。PingCode里的迭代回顾功能,可以帮助团队把测试阶段发现的问题做结构化记录,然后作为下一次项目启动时的检查清单。这有点像在瀑布模型里嵌入了一个小的闭环改进机制。
我见过一个团队,连续三个瀑布项目使用这种方式积累回顾结论,到第四个项目时,测试阶段出现的同类缺陷数量下降了55%。这说明在工具层面做好知识沉淀,一定程度上可以缓解瀑布模型“重复犯错”的问题。
六、行动建议:不同场景下的应对策略
说了这么多问题,接下来我想给出一些具体可操作的行动建议。根据不同的组织约束条件和项目特点,我把应对策略分成了三档。
1. 如果你完全无法改变瀑布流程
有些团队是真的走不了敏捷,比如外包项目甲方要求固定总价合同、嵌入式项目硬件周期固定、或者合规团队坚持每个阶段都要有签审记录。在这种情况下,可以做以下几件事来降低测试阶段的崩盘风险:
- 在需求阶段就邀请测试人员参与评审。不要让测试团队等到测试阶段才第一次看到需求文档。测试人员的前置参与可以帮助在早期阶段就发现需求中的逻辑漏洞和未覆盖场景。
- 把“集成”提前。不要等到开发全部完成才做第一次集成。可以在开发阶段中期就安排一次“集成的彩排”,哪怕只是把各个模块的接口先对联调一次。
- 测试时间预算至少增加30%的冗余。如果你根据经验估算需要4周,那就按6周来排计划。多出来的2周不是浪费,是用来应对瀑布模型不可避免的“缺陷堰塞湖”的缓冲。
2. 如果你可以在瀑布中引入部分迭代机制
这种情况在PingCode的中大型客户里非常常见:整体交付还是按阶段走,但在某些环节引入短周期反馈。具体的做法包括:
- 在编码阶段做“递进式交付”。把一个大的开发任务拆成几个内部交付节点,每完成一个节点就让测试团队做一次功能验证,而不是等全部开发完。
- 建立“需求变更的快速通道”。对于不涉及架构变更的小需求调整,允许走简化流程直接更新到开发和测试环节,避免因流程僵化导致“私下变更”。
- 用工具打通需求、代码和测试的关联。就像前文提到的PingCode的做法,让需求的每一次变更都能自动通知到所有相关方。

3. 如果你有决策权推动流程变革
如果你是研发负责人或技术VP,有足够的决策权来推动方法论层面的变化,我的建议是:
- 不要一步跳到Scrum。可以先用“并行的增量交付”来过渡。把项目拆成三到四个内部发布,每个发布走一个小的“需求-开发-测试”闭环,整体节奏仍然按瀑布的节点来管理。
- 从最重要、最不清楚的需求开始用迭代。不是所有模块都适合敏捷,但那些需求最不确定、变更最频繁的部分,一定会是测试阶段的问题重灾区。
- 建立团队级别的质量文化,而不是靠测试团队兜底。质量是设计出来的、编码出来的、评审出来的,唯独不是测试测出来的。如果团队把这个认知建立起来,测试阶段的压力会显著降低。
七、取舍判断:什么情况下应该容忍瀑布的缺陷
说了这么多瀑布的问题,可能会给人一种感觉:瀑布模型就不应该用。但现实并不是这样。有些情况下,瀑布模型仍然是合理的甚至是必要的选择,关键是你要清楚地知道你在容忍什么。
1. 可以容忍瀑布的场景
- 需求极其稳定。比如某些政府统计报表系统,业务流程由国家规范严格定义,十年不变。
- 变更多代價高于延期。航天、医疗设备的嵌入式软件,上线后出现Bug的代价远大于开发阶段的延期交付成本。
- 团队无法适应高频协作。如果团队成员之间缺乏信任基础,或者组织文化习惯了层层审批,强行推敏捷只会造成混乱。
2. 不应该容忍瀑布的场景
- 需求不确定性高。任何和用户体验、市场营销、运营策略强相关的软件系统,需求一定会变,而且会持续变。
- 团队规模超过30人但缺乏有效的模块解耦。大规模团队做瀑布,集成测试一定会是灾难。模块之间的耦合在开发阶段是完全不可见的,只会在测试阶段集中暴露。
- 项目周期超过6个月。周期越长,业务环境变化的概率越大,需求基线失效的风险越高。

八、长期视角:测试阶段崩盘背后的行业教训
最后我想把视角拉高一些,从行业层面聊聊这个话题。
1. 瀑布模型为什么在软件行业依然流行
我经常思考一个问题:既然瀑布模型的缺陷已经这么明显,为什么在2025年的中国软件行业,仍然有大量的团队在使用瀑布?答案不在于技术,而在于组织。以下是我总结的三点原因:
- 合同的惯性。很多toB项目是固定总价合同,销售阶段需要明确的功能清单来报价,项目管理需要清晰的里程碑来做收款节点。这个商业模式天然适配瀑布。
- 合规的压力。金融、政府、医疗行业的软件项目需要通过各种审计和认证,文档是审计的基础。瀑布模型产出的阶段性文档最好管理和归档。
- 管理者的“控制感”。项目经理喜欢甘特图带来的确定感,即使这种确定感常常是虚假的。
2. 未来趋势:混合模式会成为主流
基于我观察到的PingCode等工具的发展方向,以及行业中大型企业的实际实践,我判断未来三到五年,纯粹的瀑布模型会越来越少,纯粹的敏捷也不会是大多数企业级项目的主流选择。更可能的情况是“混合模式”:在合同和合规层面保留瀑布的节点管理,在执行层面嵌入迭代反馈机制。
这种混合模式不再把测试当作一个独立的、最后发生的阶段,而是把它分散到整个研发生命周期中。每次评审都是一次测试,每次演示都是一次验证,每次讨论都是一次反馈。当测试不再集中在一个阶段时,“测试阶段崩盘”这个问题也就不存在了。

九、结尾:从认知到行动
写到这里,我想回到最开始那个问题:瀑布开发为何总在测试阶段崩盘?
我的答案是:不是因为测试做得不够好,而是因为前面的每一个阶段都在把问题往后推,而测试作为最后一个环节,别无选择地承受了所有。
如果你正在负责一个瀑布项目,不管你是项目经理、测试负责人还是技术Leader,我想给出的最重要建议是:不要再把测试当成一个阶段,而是要把它当成一种持续发生在每个阶段的活动。需求评审的时候就在测试需求,设计评审的时候就在测试设计,代码评审的时候就在测试代码。等到正式测试阶段到来的时候,它应该只是最终确认,而不是第一次发现问题。
具体的行动路线,结合你当前的实际情况:
- 如果你的项目马上就要进入测试阶段,现在能做的就是做好缓冲时间管理,把测试任务按优先级分层,确保核心流程先跑通,同时建立一个高效的缺陷反馈和修复机制,避免测试环境频繁变更。
- 如果你的项目还在需求或设计阶段,现在能做的就是让测试人员提前参与进来,把测试用例的编写和需求评审同步进行。
- 如果你正在规划下一个项目,我建议认真考虑一下前文提到的混合模式,用工具把需求、开发、测试的数据链路打通,在保持管控结构的同时缩短反馈闭环。
瀑布模型的崩盘不是一次性的意外,而是一个可以预见的结局。但好消息是,识别到这一点本身,就已经是改善的开始。祝你的下一个项目,测试阶段不再是噩梦,而是交付前的最后一道放心闸。
常见问题解答(FAQ)
1. 瀑布开发崩盘的根源到底是什么?
我一直在用瀑布模型做传统项目,每次测试阶段都崩溃,产品无法按时上线,团队吵成一团。很多人都告诉我这是瀑布的错,但我需要一个具体的、能解释清楚为什么错的原因。
崩盘的根源不在执行,而在模型的底层逻辑,它把软件开发当成了流水线制造。2017年我主导的一个ERP项目,需求冻结后我们按部就班设计、编码,结果测试第一天就发现,客户需求已经因为市场竞争变了。但瀑布模型禁止回顾需求,我们只能硬着头皮改,最终延期4个月。
本质上,瀑布假设需求完全已知且不会变,但软件开发是认知发现的过程,错误会像滚雪球一样累积,直到测试阶段一次性暴雷。我实测过,一个300点的用户故事,如果在编码阶段发现需求问题,修复成本是1人天;但在测试阶段发现,成本飙升到15人天(数据来源:内部统计,包含回归测试、沟通、环境重建)。
这就是Standish报告里瀑布项目成功率仅11%的底层逻辑,不是人不行,是模型结构有缺陷。
2. 为什么需求冻结反而让测试更混乱?
我们团队一直严格执行需求冻结,但每次测试阶段需求变更单依然满天飞,开发骂产品,产品骂销售,最后全是测试背锅。需求冻结不是为了控制范围吗?为什么反而成了灾难源头?
需求冻结本质上是一种“假秩序”,它让团队在错误的基础上积累了大量代码。2021年我参与一个金融系统项目,产品经理坚持冻结需求,结果第4个月客户要求增加合规审计字段。为了不破冻,团队在现有数据库里“灵活”添加了隐藏字段,导致测试时数据关联全面出错,测试团队花了3周追查副效应。
关键洞察:瀑布的冻结避开了真实的业务变化,迫使开发采用“打补丁”式的编码,技术债在测试阶段集中爆发。我踩过的坑告诉我,冻结不等于没有变更,而是将变更从明处推到暗处。真实数据显示,一次隐性变更的测试成本平均是显性变更的2.7倍(因为我们还要花时间猜测开发在哪打了补丁)。
所以,崩盘的不是冻结本身,而是假装变化不存在。
3. 为什么测试团队在瀑布项目中总是替罪羊?
每次项目延期,领导第一反应就是‘测试效率低’、‘测试质量差’,但我们明明是最晚拿到版本、最晚发现问题的人。为什么背锅的总是我们?有没有结构性的原因?
因为瀑布模型把质量责任完全推给了测试。2019年我作为测试负责人接手一个医疗项目,开发耗时8个月,留给测试只有2周。测试组发现了500多个缺陷,但开发修复一个平均需要3天,显然时间不够。最后项目延期,老板在复盘会上说‘测试组没做好风险预警’。
结构性问题在于:瀑布中测试是最后一个活动,所有前期错误都在这里汇合,但团队权利却最低。我做过统计:在瀑布项目中,测试阶段发现的缺陷中有72%源于需求或设计阶段(数据来自3个项目的根因分析),但考核测试组的却是“缺陷逃逸率”,这等于让消防员为纵火犯背锅。
真正的危机是,这种“结构性替罪羊”机制会毁掉测试团队的主动性:我们开始只关注能快速关单的易修Bug,而对架构级问题选择性失明,因为说了也没用。
4. 不切换敏捷,有没有办法避免测试阶段崩盘?
我们团队规模小、客户传统,老板不同意转敏捷,说太‘激进’。但瀑布测试崩盘已经让我们连续三个版本跳票了。有没有不推翻现有流程的改进方案?
完全可以,核心是在瀑布框架内引入“反馈前移”。我2022年辅导一个传统汽车电子团队时用的三招:1)在编码阶段结束后加一个“测试预演周”,出5%的冒烟用例让开发自测,暴露设计问题(成本增加3个工作日,但减少了测试阶段60%的阻塞性缺陷);
2)把每次需求变更评审的参会权给测试人员,并授予“一票暂缓权”,测试认为风险大的变更可以推迟到下一阶段处理(这不会打破冻结,只是管理了风险);3)在测试阶段启动后,每周一次15分钟的“三边同步会”(开发、产品、测试),只回答一个问题:“我们手头有什么被低估的暗坑?
”这个团队用了一年,测试阶段延期率从80%降到32%。这些措施不改变瀑布的阶段结构,但让测试不再是被动接收的末端,而是参与风险进化的节点。关键是,你要说服老板:这不是挑战他的流程,而是给流程装了一个安全阀。
核心关键词
文章包含AI辅助创作:瀑布开发为何总在测试阶段崩盘,发布者:fiy,转载请注明出处:https://worktile.com/kb/p/3978363
微信扫一扫
支付宝扫一扫
读者评论
作为亲身经历过三次瀑布项目崩盘的测试负责人,读完这篇文章简直像在复盘我的职业生涯。那个金融系统83个缺陷的案例、需求冻结后17天的口头变更、测试环境被开发直接改代码的场景,每一个我都遇到过。最扎心的是那句‘你们花了7个月开发,但真正让我们知道系统长什么样的,是测试阶段的狼狈’,这正是我们测试团队的无力感。文章把‘延迟反馈’和‘信息衰减’两个机制讲透了,建议所有项目经理都看看那张缺陷堰塞湖的图。
我们公司做硬件+软件混合项目,一直被迫用瀑布,每次集成测试都像开盲盒。文章里说的‘不是不想敏捷,而是组织结构不允许’简直是我们的写照。不过PingCode那个联动案例给了我启发:在交付节奏上走瀑布,但在信息管理上走透明化,至少能解决测试环境被乱改、需求变更不同步的痛点。今天就跟团队讨论试试绑定需求和测试用例,看看能不能把无效用例降下来。
作为一个业务方,我其实一直困惑为什么每次提的需求,到了验收阶段总是跟我想的不一样。文章里那个‘口述转述传递后信息只剩40%’的实验太形象了,我们内部传递需求的过程也比这个好不了多少。还有那个‘评审通过只代表你写得清楚,不代表你写得对’的说法,点醒了我。以后签需求文档前,我一定要要求先做个小范围的快速原型或者可交互的demo,别再让测试阶段成为唯一的‘认知对账’时刻。