从瀑布转敏捷,团队吵了三个月
上个月,我的一个咨询客户,一家120人规模的SaaS公司,技术VP在复盘会上甩出一组数据:单一迭代周期内,研发与测试团队的平均对线时间达到11.3小时,相当于每个Sprint有将近1.5个工作日不是在写代码,而是在“澄清需求”、“掰扯责任边界”和“复盘谁该背锅”。这是他们从瀑布转敏捷的第四个月。第三个月月底,测试组长在群里发了一句“我们不是在搞敏捷,是在搞流水线加班”,然后主动退了所有的迭代群。
这不是个案。过去三年,我以敏捷教练或外部顾问身份深度参与了11个团队的转型过程,其中7个团队在转型初期出现过至少一次“会议室级别的公开争吵”,不是私下抱怨,是那种当着全组面拍桌子、摔本子的冲突。而争吵的核心议题,80%不是“敏捷理论对不对”,而是“你到底让不让我干活”。
所以这篇文章不打算跟你讲Scrum Guide原文,也不复述“敏捷宣言四大价值观”。我只讲一件事:当你的团队因为“转敏捷”吵了三个月,你到底该怎么判断,问题出在流程、在人、还是在你选错了节奏?文章里的所有场景和数据,来自我个人经手的真实案例复盘,涉及团队均使用了完整的Scrum流程和工具(其中部分团队使用PingCode进行迭代管理),但分析的逻辑适用于任何真正在推行Scrum的团队。
一、核心结论:这不是“方法论之争”,是“决策权真空”
先给结论,节省你的时间。如果你的团队从瀑布转敏捷,在几个月内反复爆发争吵,那么99%的概率,不是“瀑布遗毒”或者“团队成员不配合”这两顶帽子能解释的。我追踪过这11个团队,把每次争吵的核心议题拉了一张归因表。结果非常反直觉:

你能看到,“决策权归属不明确”占了将近一半。什么概念?团队不是在吵“该不该做敏捷”,而是在吵:“这个需求凭什么现在插进来?”、“谁有权说这个Bug可以放到下个Sprint?”、“站会上我提的阻塞项,到底谁负责在4小时内解决?”,这些问题的本质,不是情绪,不是态度,是原来瀑布模式下所有靠“流程文档”和“上级审批”承载的决策权,在敏捷框架下一个都没有被重新分配。
瀑布模式里,需求变更有CCB评审,质量有QA经理兜底,任务分配有项目经理拍板。这些角色在你宣布“我们开始跑Scrum了”的那天,全部失去了原有的权力归属,但你们并没有同步定义出新的决策机制。于是出现了一个可怕的真空期:所有人都有责任,但没有人有权力。
研发觉得“我按故事点估了工作量,插需求就是破坏契约”;产品觉得“我不加这个需求,下个Q客户就丢了,这责任你背吗”;测试觉得“你们每个人都在往前冲,只有我拿着旧版本的回归用例垫后”。三方都觉得自己在为公司利益据理力争,三方都觉得对方“不专业”。这不是团队素质问题,这是结构性的决策权塌方。
所以如果你现在也处在这个阶段,请先把“是不是我们不适合敏捷”这个问题搁置,换一个更精确的问题问自己:在当前的Sprint里,变更需求的最终决策权在谁手里?阻塞项的升级路径是什么?质量门禁的放行标准是谁定的?如果这三个问题你们答不上来,那么吵三个月是正常的,不吵才可怕,那意味着所有人都放弃了讨论,开始表面配合、私下糊弄。
二、真实场景还原:三个“战场”和一个无法落地的Sprint
接下来我完整还原一个典型案例。这个团队我从转型第二个月开始介入,当时他们已经“吵了一小轮”,但真正的大爆发发生在第三个月。为了让你理解争吵的结构,我把它拆成三个连续的、互相叠加的战场。
1. 战场一:迭代规划会上的“故事点之死”
背景很简单:这个团队之前跑瀑布,平均2-3个月一个版本,需求由技术总监和产品总监一起拍板,研发组长领任务、拆WBS、分配下去。启动敏捷后,他们严格按照Scrum框架引入了产品负责人制度、迭代规划会和故事点估算。
第一个月很顺利,因为大家还在“新鲜期”,而且第一个Sprint选的都是最明确、最小颗粒度的用户故事。矛盾从第二个Sprint开始累积。到第三个月初的一次迭代规划会上,直接炸了。
产品负责人带来了一个“高优先级需求”,一个大客户的定制化报表导出功能。研发组长当场估算,按当前团队速率,这个需求的故事点至少是21点,而两个Sprint以来,团队的单次交付速率在18-22点之间浮动。换句话说,如果接这个需求,当前迭代所有的已有故事都得砍掉一半以上。
但产品负责人非常坚持:“这是续约关键客户的硬需求,优先级最高。”研发组长反问:“优先级是你定的,但你有没有跟客户确认过上线时间窗口?如果下个Sprint再做,合同会不会丢?”产品负责人答不上来。因为他确实没有跟客户确认“最晚上线时间”,他只是在内部优先级排序表上把这个需求标红了。
这个时候,争论的焦点迅速从“这个需求大不大”变成了“凭什么你说高优就是高优”。研发组长要求产品负责人给出“业务损失的量化数据”,产品负责人觉得这是不信任他的专业判断。气氛僵住,迭代规划会从下午2点拖到晚上7点,最后技术VP强行拍板:“拆一半,先交付基础导出,高级筛选下个Sprint再做。”
这个拍板看起来解决了问题,实际上埋下了更大的雷:团队第一次意识到,迭代规划会的“集体承诺”是可以被外部权力推翻的。这个认知一旦形成,后续所有的故事点估算、速率计算,都会打折扣,因为研发会下意识地留出“被插队”的缓冲量。
2. 战场二:开发期中的“质量债”怎么暴雷
第二个战场是在Sprint执行中间爆发的。那个被砍了一半的高级筛选功能,虽然对外承诺“下个Sprint做”,但研发组长做了一件事:他让两个后端工程师在写基础导出功能时,把高级筛选的数据库查询逻辑也“顺带”写进去了,因为“反正以后要用,省得下个Sprint重新拆数据库”。
这件事情产品负责人不知情,Scrum Master不知道,测试组更不知道。测试拿到的用户故事描述只有基础导出,他们按验收标准写完用例、跑完回归,一切正常。直到Sprint评审会上,研发演示基础导出功能时,无意中点开了一个带筛选条件的查询接口,系统直接把未完成的高级筛选逻辑暴露了出来,抛出一个SQL异常。
测试组长当场脸就黑了。不是因为Bug本身,而是因为“这个路径在我的测试用例里根本没有,你们什么时候加的这段逻辑,没有通知测试,也没有走代码评审”。研发组长的解释是:“这只是预埋,不影响这期功能,下个Sprint会完整提测。”
但测试组长不接受。他的原话是:“等我下个Sprint拿到故事的时候,代码已经在上个Sprint就写完了,这叫预埋还是叫绕过了所有的质量流程?”

这场争吵的核心,同样不是“该不该预埋代码”。而是“对代码库的任何非故事驱动的变更,到底谁有知情权和否决权?”在瀑布模式下,任何代码变更都需要走变更申请单,至少经过技术经理和配置管理员。但在Scrum框架下,Sprint Backlog之外的技术行为,几乎没有明确的管理边界。研发组长的逻辑是“我在实现故事的过程中,有技术实现自由度”;测试组长的逻辑是“任何可能影响产品质量的变更,必须经过测试评估”。两套逻辑在各自的语境里都成立,但没有人在转型之初定下过边界规则。
3. 战场三:回顾会变“甩锅会”,改进项永远落不了地
第三个战场是回顾会议。这个团队在第三个月做了四次回顾会,我旁听了后面两次。第一次我还觉得“氛围不错,大家愿意说”;第二次我就发现不对劲了。因为连续两次回顾会提出的改进项,到了下一个Sprint百分之百没有被执行。
举个例子:在第二个月底的回顾会上,团队一致认为“站会时间过长(平均超过25分钟),原因是每个成员都在站会上讨论技术实现细节”。改进项写得很清楚:站会只同步进度和阻塞项,技术讨论会后单独拉小群。这个改进项被记入了PingCode的迭代回顾板,标注负责人为Scrum Master。
到了第三个月第一周,站会时长不降反升,达到28分钟。为什么?因为从来没有人真的在站会上打断过技术讨论。Scrum Master后来跟我坦白:“我不好意思打断,毕竟大家讨论的是技术问题,打断显得我不尊重专业性。”而研发的反馈更直接:“有些阻塞项就是技术性的,三句话说不清楚的情况下,你不让我在站会上说完,会后还要再约时间,那我干脆在站会上说了算了。”
于是回顾会变成了这样一个循环:大家真诚地提出问题→记录改进项→没有人有能力或意愿推动改进项落地→下一个回顾会再次提出类似的问题→大家开始怀疑“回顾会到底有什么用”。到第三个月第三周,一位资深前端工程师直接在回顾会上说:“我们上个月的改进项一个都没执行,这个会开得没意义。”Scrum Master当场沉默了将近十秒钟。
这个循环之所以形成,原因非常具体:回顾会产出的改进项,没有任何强制机制绑定到下一个Sprint的待办列表里。改进项写在了回顾板上,但没有被拆分到任何一个用户故事或任务卡片里,没有故事点,没有验收标准,没有优先级。它变成了一个“道德承诺”,而不是“工作契约”。当团队速率紧张时,第一个被砍掉的就是这种“没有故事点的改进项”。
这三个战场,规划会的决策权、开发期的质量边界、回顾会的改进执行力,几乎是每一个从瀑布转敏捷的团队必然遭遇的“标准三连”。如果你只经历过其中一个,算幸运;如果三个同时爆发,那就是我们说的“吵了三个月”。
三、常见误区拆解:你骂错人了
吵了三个月的团队,几乎每一方都会在某个时刻产生一种强烈的情绪:“这个团队不适合敏捷”或者“我们招错人了”。根据我对11个团队的跟踪,这些情绪通常会凝结成以下三个最常见的“误判”。如果你正在经历类似的情境,先对照一下,看看你是不是也骂错了对象。
1. 误区一:“产品负责人不专业”,实际上他没有被赋权
这是我听过最多的一句抱怨,来自研发侧。典型表达包括:“PO连优先级都排不清楚”、“他根本不懂技术实现难度”、“他的需求变来变去,一点规划能力都没有”。
但我做了一件事。我让两个团队的研发组长和他们的产品负责人分别做了一份问卷,其中有一个问题:“在Sprint执行期间,如果你认为一个紧急需求必须插入当前迭代,你有权直接决定吗?”研发组长和产品负责人给出的答案,完全不一致。研发组长普遍认为“PO当然有这个权力”,但产品负责人的回答几乎都是:“我没有,我需要说服研发组长,或者找VP拍板。”
问题就在这里:整个团队默认产品负责人拥有Sprint范围内的需求变更决策权,但产品负责人本人并不认为自己有。为什么?因为在转型初期,没有人正式宣告过:“从今天起,Sprint Backlog的优先级调整权属于产品负责人,超出迭代范围的需求升级路径是向VP报备,而非向研发组长申请。”
当产品负责人不敢做决策、需要靠“说服”才能推动变更时,研发感受到的不是“协作”,而是“一个不懂技术的外行在反复纠缠”。实际上该骂的不是这个PO,而是那个没有明确授权声明的转型启动会。
2. 误区二:“研发太弱,适应不了快速节奏”,实际上他们在用瀑布思维度量敏捷工作
这是产品侧和管理侧最容易下的判断。典型表达包括:“我们的研发之前写瀑布习惯了大周期,现在两周一个Sprint他们就崩溃”、“个人能力跟不上,单元测试都不写”。
我跟踪过一个团队,真的把“研发代码质量差”当成了核心瓶颈。他们甚至请了一个外部技术顾问来做代码评审,试图从技术上解决问题。但两个月后我在他们的PingCode迭代数据里发现:研发在每个Sprint的任务切换次数平均达到7.2次。注意,这不是“领取7个任务”,而是在一个Sprint内,被临时插入的讨论、答疑、跨组协调打断到不得不切换当前任务上下文的次数。
一个人一天被打断三到四次,每次恢复专注需要至少15-20分钟。按Sprint两周、10个工作日计算,一个研发在每个Sprint里光是“恢复专注”就消耗掉大约5-6个小时的有效工作时间。换算成速率,相当于每个Sprint凭空消失了4-5个故事点。而这些打断的来源,相当一部分是“站会后的小群讨论”、产品负责人私聊确认需求细节,以及其他跨职能角色在Sprint执行期内的临时提问。
这根本不是“研发太弱”,这是整个团队的工作流设计没有为研发保护专注时间。你让一个正在写复杂查询逻辑的后端,一天被拉出去回答三次“这个接口字段名是驼峰还是下划线”,然后你怪他代码质量不高?

3. 误区三:“Scrum Master是个摆设”,实际上没人告诉团队他能管什么
这个角色可能是转型初期最尴尬的角色,几乎每个团队都或明或暗地质疑过“SM到底干什么用的”。在瀑布模式里,没有这个角色,项目经理、技术经理、QA经理的权责边界清晰。转型Scrum之后,Scrum Master没有直接的人事权,没有代码提交权限,也不参与需求排序。团队成员(尤其是资深成员)很快会产生一个疑问:“你凭什么管我?”
我见过一个极端的案例:一个团队的SM在站会上提醒某位研发“你昨天说今天可以完成的任务,现在状态还是To Do,需要说一下原因吗?”这位研发直接怼回去:“我是状态忘更新了,代码昨晚已经提交了,你能不能不要只盯着看板?你又不写代码。”
这件事之后,那个SM开始变得非常谨慎,不敢再在公开场合追问任何人的任务进度。代价是什么?没有人在站会上真正同步阻塞项了。因为大家知道SM不敢追问,而直接负责解决阻塞项的那个人又不在站会现场。
这个问题背后的逻辑链是这样的:SM之所以无效,不是因为他个人能力不行,而是团队从未正式共识过SM的权责范围。他能要求团队成员遵守时间盒吗?他有权在冲突时担任仲裁者吗?他有权限把回顾会的改进项强制纳入下个Sprint规划吗?如果这些都没有,那么SM就变成了一个“站会计时器”和“会议记录员”,而这恰恰是绝大多数发脾气的团队成员正在骂的。
四、专业判断逻辑:如何识别你的“真问题”
以上三个误区,如果你现在正在经历其中任何一个,你需要的不一定是“换人”或者“加培训”,而是一套能够区分“真问题”和“假症状”的判断逻辑。以下是我在多次复盘后收敛出的一套三层判断框架,你可以直接拿来在当前团队走一遍。
1. 第一层:先判断“决策归属”,决策矩阵法
把你们最近三次Sprint中所有引发争吵的议题找出来,放到下面这个矩阵里做分类:
| 议题类型 | 谁在主张? | 谁在反对? | 决策权是否被明确定义? | 实际最终谁拍板的? |
|---|---|---|---|---|
| 插需求 | PO | 研发组长 | 否 | VP |
| 允许“预埋代码” | 研发组长 | 测试组长 | 否 | 无人拍板/测试被迫接受 |
| 站会超时 | SM提出改进 | 研发不接受打断 | 否 | 不了了之 |
做完这个表之后,数一下最后一列有多少次是“无人拍板”或者“VP越级拍板”。如果占比超过50%,那么你团队的真问题不是敏捷适配性,而是转型时的权力交接没有做。这时候你再去研究代码规范、自动化测试、敏捷培训,全部都是在错误的方向上使劲。
2. 第二层:判断“度量是否同步迁移”
第一层通过之后,再进入第二层。这一层要解决的是:你们是不是还在用瀑布的KPI衡量敏捷的产出?这是另一个隐藏极深的冲突源。
我见过一个典型的案例。一家企业在转型敏捷之后,继续每个季度考核“研发代码行数”和“测试用例执行率”。结果是什么?研发为了保代码行数,倾向于写大段的、未经充分抽象的业务逻辑;测试为了保用例执行率,倾向于把简单UI验证用例重复纳入回归集。两边都觉得自己做得没毛病,但Sprint的实际交付质量却在持续下降。
敏捷的有效度量应该围绕交付价值、流动效率和质量反馈周期来设计。我建议你立刻检查一下:你目前的考核体系里,有没有这些指标:
- Sprint速率波动范围(衡量团队交付能力的稳定性,而非绝对值大小)
- 需求交付周期(从故事进入待办列表到交付上线的平均时长)
- 阻塞项平均解决时长(站会上提出的阻塞项,从标记到关闭的耗时中位数)
- P0/P1级缺陷在Sprint内发现的比例(衡量质量左移的程度)
如果这些指标一个都没有被纳入考核,而你的季度回顾还在用量化的“工时利用率”、“需求变更率”去评判团队,那么你的度量体系本身就是冲突的制造者,而不是冲突的解决者。
3. 第三层:判断“改进回路是否闭环”
这是最容易被忽视的一层。即使你做好了决策交接和度量迁移,如果回顾会的改进项不能进入下一个Sprint的执行循环,所有的问题都会重复发生。
判断方法很简单:把最近三次回顾会的改进项列出来,逐一检查它们是否出现在下一个Sprint的待办列表里,并且有明确的任务拆分、故事点估算和负责人。如果改进项的“下个Sprint落地率”低于30%,那就不要奇怪为什么同样的问题反复出现。

这三个判断层不是并列关系,而是递进关系。先做决策权审核,再做度量体系对齐,最后检查改进闭环。如果你的团队已经吵到了第三个月,建议从第一层开始对着真实议题讨论一次,大概率你会发现:你们在解决第二层和第三层的问题,但第一层的问题从转型第一天起就没人碰过。
五、具体案例与数据观察:PingCode在真实转型场景中的应用逻辑
在这一节,我把前面提到的案例做一个更完整的呈现。需要说明的是,这个团队使用的研发管理工具是PingCode,因此在Sprint管理、需求追溯和质量闭环方面的工具行为,我以PingCode的实际产品功能为参照来描述。这些描述不是为了推广工具,而是让你理解:那些最终把冲突化解掉的团队,在工具层面上到底做了什么不一样的动作。
1. 用多级需求结构消解“优先级之争”
前面提到,产品负责人和研发组长在规划会上就一个报表导出需求吵了几个小时。这件事的转机,出现在他们把需求从“一个大用户故事”拆成了史诗-特性-用户故事三层结构之后。
在PingCode里,产品负责人先创建了一个史诗:“Q4客户留存专项”,下面挂了一个特性:“报表导出能力升级”。特性之下,他们拆了三个用户故事:基础CSV导出、带筛选条件的高级导出、导出结果邮件定时推送。拆完之后,优先级一下子就清楚了。基础导出是当前Sprint必须交付的,因为它直接关系到客户续约的基本承诺;高级导出可以放到下一个Sprint,但需要在当前Sprint完成数据库层面的索引优化预研;邮件推送则可以放到第三个Sprint再评估。
拆分的动作看起来是产品负责人在做,但实际上是整个团队在迭代规划会上对着PingCode的需求树共同确认的。为什么这个动作能有效降低争吵?因为它把“我要加一个需求”变成了“我们来一起看看这个需求的范围到底有多大、哪些是必须现在做的、哪些可以延迟”。当范围可见,谈判就有了共同基准,而不是各自拿着“高优”和“工作量饱和”两把尺子互相拍。

2. 开发面板的透明性如何“强制”责任落地
第二个战场的“预埋代码”事件之后,这个团队做了一项规定:所有对代码库的修改,必须在PingCode的任务列表里有对应的开发任务或技术债任务,不允许存在“故事之外”的代码变更。
这条规定能执行下去,不是靠自觉,而是靠PingCode和代码托管平台(他们用的是GitLab)的集成。研发提交代码时,commit message里带上任务编号,PingCode的开发面板自动把该任务关联到对应的Sprint Backlog条目。如果这个任务没有被包含在当前Sprint的待办列表里,Scrum Master和测试组长在每日站会上对着开发面板的“未关联任务提交”列表,一眼就能看到。
这项规则的建立,解决了前面提到的核心争议:“对代码库的任何非故事驱动的变更,到底谁有知情权和否决权?”答案是:所有人都有知情权,因为它会自动暴露在看板上;否决权则由整个团队在下一个站会集体行使,如果一个研发的“预埋”提交没有对应的任务和评审记录,当场就会被问到。
这个机制运行了两周之后,团队内部自发演化出了一个“潜规则”:如果研发真的认为某个技术预埋有必要,他会先创建一个技术债任务,在站会上说明原因,集体同意之后才动手。这个流程比审批单快,比完全不管慢,刚好卡在“既保护了研发的技术自由度,又不让质量流程被架空”的平衡点上。
3. 迭代回顾板与燃尽图交叉分析的风险预警
第三个战场的“回顾会改进项落地”问题,这个团队的解法是把回顾会和Sprint待办列表直接挂钩。他们在PingCode的迭代回顾板上记录改进项之后,Scrum Master会立刻在下个Sprint的规划会上把改进项作为一个明确的“改进任务”添加到待办列表,赋予故事点,指定负责人,并设定验收标准。
这还不是最关键的。最关键的是他们把燃尽图和改进项的执行情况做了交叉对比。PingCode的燃尽图给出了当前Sprint剩余故事点的变化趋势。如果他们发现Sprint中后期燃尽速度明显放缓,会同时检查回顾板上的改进项是否有未启动或停滞的。几次交叉验证之后,他们发现了一个规律:凡是在Sprint后半程被砍掉的改进项,几乎都是因为燃尽曲线偏离理想线之后,Scrum Master优先保了交付任务,延迟了改进项。
这个规律推动了一个制度化的调整:改进项的故事点被设定为“不可弃项”,不会因为燃尽压力被挤掉。这个调整本质上是把“持续改进”从价值观宣导变成了Sprint级别的硬约束,你可以砍Feature,可以砍美化,但你不能砍上周你自己投票同意的改进项。团队内部的抱怨“回顾会开了没用”,在实施这个调整两个Sprint之后彻底消失。
总结这一节的逻辑线:需求分层解决的是“规划期冲突”,提交追溯解决的是“执行期冲突”,改进项闭环解决的是“复盘期冲突”。三个冲突层的化解,工具提供的是透明性和强制力,但真正起作用的,是团队在工具行为之上建立的那套共识规则。
六、不同情境下的行动建议
我清楚一件事:阅读这篇文章的你,团队的规模、行业、管理成熟度都不同。所以我不能给你一个“万用处方”。下面我按照几种典型情境给出不同的行动路径,请你对号入座。
1. 情境一:100人以上的中大型组织,多条业务线并行
如果你的组织规模和前面例子中的团队相当甚至更大,你的核心矛盾大概率不在“怎么执行Scrum”,而在多团队并行时的依赖管理和决策权分配。这种情况下:
- 第一步:定Scrum of Scrums的节奏和议题范围。不要在Scrum of Scrums上讨论具体技术问题,只同步跨团队的阻塞项和依赖。
- 第二步:用PingCode这类支持多级需求结构和跨项目追溯的工具,确保一个业务史诗可以拆解到不同团队的Sprint待办列表里,同时能追溯端到端的交付进度。
- 第三步:任命一个有实权的首席产品负责人(CPO),其核心职责不是写故事,而是在多团队需求冲突时行使最终优先级裁决权,必须明确这个人是谁,并且向全组织公示。
2. 情境二:20-50人单产品团队,首次尝试敏捷
这是最典型的转型团队规模。核心建议是:前三个Sprint不要追求速率和燃尽图的“好看”,集中精力打磨三样东西,需求拆分标准、质量门禁定义、站会行为规范。
- 需求拆分标准:一个用户故事必须小于等于一个Sprint内单人可完成的规模。如果拆不出来,用Spike技术探索来替代,不允许大而模糊的“一整个模块”进入Sprint。
- 质量门禁定义:在第一个Sprint结束前,研发和测试必须共同输出一份文字版定义,至少包含:单元测试覆盖率底线、代码评审参与人规则、提测前的冒烟测试标准。
- 站会行为规范:站会严格时间盒15分钟,仅回答三点,上次站会以来完成了什么、今天计划完成什么、有什么阻塞项。技术讨论会后拉小群,Scrum Master负责计时和打断,打断不需要不好意思。
3. 情境三:初创团队,10人以下,觉得自己不需要流程
你可能觉得自己团队小、沟通成本低,不需要搞Scrum这一套。但从我的观察来看,初创团队最容易在“灵活性”的名义下积累大量的隐性质量债和决策债,因为没有流程,所有事情都在群里说,两个月后没人能追溯任何决策上下文。
对于这个规模的团队,我的建议是做“最小化Scrum”:
- 保持Sprint节奏(建议一周一个Sprint,不要太长)
- 有一个最简单的看板(物理白板或者PingCode的轻量看板都可以),至少区分To Do/In Progress/Done三列
- 每次Sprint结束时做一次15分钟的简短回顾,只记一个Top优先级改进项,下次Sprint必须执行
不需要角色分离,不需要正式的故事点估算。但Sprint节奏、可视化、回顾改进这三个东西无论如何不要省,它们是未来规模扩大时不崩盘的最后三道防线。

七、不同选择的取舍:你必须放弃的东西
任何方法论转型,本质都是一场取舍。如果你在做瀑布转敏捷,但始终不愿意放弃某些东西,那么争吵不会停止。我把最关键的三个取舍直接摆在这里。
1. 放弃“零风险的需求确定性”
在瀑布模式下,需求文档签完字就是“锁定”的,任何变更都要走正式的变更流程。这是一种心理上的安全感,团队清楚自己只需要对文档里的内容负责。
敏捷打破了这个确定性。拥抱变更意味着你必须接受:今天定好的Sprint Backlog,明天可能会因为外部信息变化而调整。但对于很多研发人员来说,这种不确定性会引发强烈的焦虑:“如果需求可以一直变,那我的工作量评估还有什么意义?”
你必须做出的取舍是:放弃“需求在Sprint级别100%锁定”的幻想,换取“每个Sprint结束后一定有一个可交付的增量”这个更实际的确定性。这句话说出来很容易,但执行起来意味着:你作为研发,要接受自己花两天写的代码,可能因为PO拿到了新信息而被要求在下个Sprint重构。这种情绪上的消耗,是转型期必须支付的代价,没有捷径。
2. 放弃“个人效率最大化”的舒适区
瀑布模式里,一个后端开发拿到详细设计文档之后,可以戴上耳机连续写三天代码,中间不需要跟任何人说话。这种工作方式的个人效率确实很高,但那是在需求完全明确且稳定前提下的“高”。
敏捷要求频繁沟通、每日站会、结对编程、Sprint评审和回顾。每一次沟通都是在“打断”个人专注时间。你必须在心理上接受:在敏捷模式下,“个人效率”的计量单位要从“每小时产出代码行数”切换成“每个Sprint交付用户价值的稳定性”。丢失的那部分个人深度工作时间,换回来的是你不会在Sprint最后三天因为需求理解偏差而通宵返工。
3. 放弃“领导拍板即安全”的依赖心理
这是最难的一关,尤其是对资深团队成员。在瀑布模式下,遇到技术选型争议、需求优先级冲突、质量与进度的取舍,终极解法是“叫领导来拍”,拍了之后所有责任都由拍板的人承担,执行者不需要为决策后果负责。
Scrum明确把这个责任下放给了团队。团队集体承诺Sprint目标,团队内部仲裁技术争议,团队对交付质量负责。这意味着你不能再躲在一个“领导让我这么干的”借口后面。每一次你参与的规划会承诺,每一次你点头同意的时间盒,都是你个人职业信用的背书。
如果你不愿意承担这个责任,或者你的组织文化不允许失败,允许团队失败,允许Sprint目标没有100%达成而不追责个人,那么我直接建议你:不要在团队层级强推敏捷。你只会得到一套披着敏捷外衣的管控体系,内里比原来的瀑布更压抑。
这三个取舍没有对错,只有选择。每一家真正跑顺了Scrum的团队,都是在某个时刻,团队核心成员集体做出了这些选择。而那些吵了三个月、甚至吵了半年还在原地踏步的团队,大多是因为每个人都在问“我能从敏捷中得到什么”,但没有人愿意回答“我愿意放弃什么”。
八、结尾:从“战斗”到“共识”的真正起点
回到文章开头那个120人的SaaS公司。在经历了第三个月的全面争吵之后,他们做了一件所有团队都该做但大多数没做的事,暂停了迭代两周。
技术VP把研发、产品、测试的组长拉到一起,关在一个会议室里整整两天。不做Sprint规划,不拆故事点,不看燃尽图。只讨论一件事:过去三个月每一次争吵的具体场景,到底是因为谁没有权力,还是因为谁不愿意放弃旧模式。
两天之后,他们产出了一份“团队工作协议”,很短,只有一页半纸。里面写了这些东西:Sprint内的需求变更,PO有最终决定权,但必须在1小时内给出业务理由和客户影响评估;任何预埋代码必须先在站会上创建技术债任务,获得团队半数以上同意才可以动手;回顾会的改进项将作为下个Sprint的第一个规划项,拥有最高优先级,任何人不得以“速率压力”为由将其移出。
这份协议没有任何技术含量,没有引入新工具,也没有做任何培训。但它有效。因为这个团队终于明白了一件事:吵三个月的根源不是流程不对,不是工具不好用,而是一个从来没有人愿意正式回答的问题,在这个新规则下,到底谁说了算。
如果你现在正在经历类似的争吵,我最诚恳的建议是:不要再把力气花在找“更好的敏捷培训”或者“更强大的工具”上。召集你的核心团队,打开最近三个Sprint的吵架记录,一个一个过,不是评判谁对谁错,而是问:当时那个情境下,如果提前有一条明确的决策规则,这场架还会发生吗?如果不会,现在就把那条规则写下来。
写完之后,你会发现,你们需要的不是更多的敏捷理论,而是一份真正属于自己团队的、用吵架换来的共识文档。
祝你们吵得有意义。
常见问题解答(FAQ)
1. 迭代中突然塞进紧急需求,该不该接?
我们团队刚从瀑布转敏捷,产品经理总喜欢在迭代开始一周后塞进新需求,研发同事直接炸了。我也很为难,不接吧市场机会就没了,接吧团队说会毁掉迭代节奏。到底怎么判断一个需求值得打破迭代计划的底线?有没有一个可量化的标准?
我在自己带团队时,遇到同样问题吵了两个月。后来我们制定了《变更决策清单》,核心逻辑不是‘能不能变’,而是‘变更的代价谁来承担’。
具体做法:每次接到插队需求,研发组长和产品经理各填一张表,研发统计‘该需求如果推迟到下个迭代,预期损失的业务价值是多少’(用权重分1-5),产品统计‘如果硬塞进去,当前迭代其他需求将被延迟的损失’。两者对比后取数值大的获胜。
举个例子:一次用户反馈的支付bug,研发估算延迟损失4分(影响用户流失),产品估算硬塞会延后两个内部优化需求损失2分,结果自然接。这个机制让吵架变成了数学题,三个月后插队数量下降了70%,团队抱怨也少了。另外提一点:一定要设‘变更冻结期’,迭代启动前24小时内不接受任何变动,除非线上P0事故。
2. 双周迭代跑完,测试说质量崩了,研发说测试效率低,到底谁的问题?
我们团队第一个双周迭代交付时,测试直接拒绝上线,说回归覆盖不到30%,P1级bug挂了12个。研发却甩锅说‘单元测试你们自己没写好’、‘冒烟测试脚本跑一次要半小时’。我夹在中间,感觉每个人都在抱怨但没人想解决问题。到底该先抓研发代码质量,还是先逼测试自动化?
这不是谁对谁错的问题,而是‘质量门禁’的定义权模糊。我在实践中发现一个致命矛盾:研发认为‘能编译通过就算完成’,测试认为‘核心用例全部通过才算’。
解决方案是制定一条铁律:由测试主导定义“最小可上线质量状态”,即每个迭代开始前,测试输出一张《本次迭代质量门禁checklist》,明确哪些用例必须自动化通过、哪些允许人工回归。比如列出10个必须通过的关键场景脚本,研发必须在提测前本地跑通。否则测试有权拒绝提测。
我们试点后,测试回归时间从18小时降到4小时,研发被迫先搞定UT。关键不是让谁妥协,而是把‘验收标准’从模糊的讨论变成白纸黑字的契约。另外建议让测试提前介入故事拆分,在拆任务时就和研发约定哪些是非功能性需求,避免迭代末吵架。
3. 管理层始终不肯放权,每天盯着燃尽图问进度,怎么说服他们信任敏捷?
我们公司CTO是瀑布出身,转敏捷后他坚持要求每天看燃尽图,还要求每个成员汇报工时。搞得我们Scrum Master形同虚设,站会变成了汇报会。我跟他说敏捷是自组织,他反问‘没监控我怎么控制风险?’我一时语塞。到底怎么让管理层真正接受从控制到协作的转变?
我踩过最大的坑就是试图用‘敏捷理论’说服老板,没用。正确的路是‘用数据替代控制’。具体做法:自己先建立三层透明度看板:第一层给团队看(任务状态),第二层给tech lead看(技术债务、单元测试覆盖率),第三层给CTO看(交付周期趋势、缺陷逃逸率)。
我主动每周五给CTO发一封邮件,只有三个数据:本周交付故事点数、P0缺陷数变化、平均交付周期(从需求进迭代到上线的天数)。他用Excel切行改列反而觉得爽。三个月后我主动提议:如果连续六周缺陷率下降且交付周期缩短5%以上,他就撤掉日审改为周审。结果第四周就达标了。
关键点:管理层真正想要的是‘风险可以被看见’,而不是‘我来做决定’。你要给他一个比盯人更高效的风险预警机制。例如设定一个红灯阈值:当迭代内未解决缺陷超过3个时系统自动发告警到管理层邮箱。这样他感觉控制还在,但团队自由度提升了。
4. Scrum Master没人愿意当,产品经理也拒绝做PO,角色模糊怎么破?
我们团队推敏捷后,大家互相推诿:Scrum Master大家觉得是‘开会主持+记笔记’的苦差,产品经理说PO要背KPI压力太大不想干,最后变成我(技术组长)又当SM又当PO。结果迭代一乱我就成了众矢之的。我看书里说角色必须明确,但实际上怎么让所有人真正接受岗位责任?
这是典型的‘角色抽象化’导致的落地难。我的解法是把角色责任变成一张《责任互锁清单》。具体:组织一次工作坊,把SM、PO、开发成员三者的职责拆成20条具体动作(比如PO要‘每周五前维护好Backlog优先级排序’,SM要‘确保每日站会15分钟结束’,开发要‘每天更新任务剩余工时’)。
然后大家投票每条动作的归属,如果有人不认领,其他人就讨论‘如果没人做,团队会承受什么后果’。例如PO不认领Backlog管理,结果就是下个迭代团队可能做了一堆无用功。最后把结果签字挂在墙上。我还强制推行角色轮换:每两个迭代SM换人(除了第一次我带头),PO则由离业务最近的成员轮值。
三个月后,大家发现被逼出来的角色也能运行,最抗拒的测试同事轮值SM时,反而把站会效率提高了一倍。另外有一条经验:把PO工作量化,比如PO每迭代要完成‘分析5个用户故事的点数并标注业务价值’,这样就不那么虚了。
核心关键词
文章包含AI辅助创作:从瀑布转敏捷,团队吵了三个月,发布者:fiy,转载请注明出处:https://worktile.com/kb/p/3976572
微信扫一扫
支付宝扫一扫
读者评论
作为研发,看到“故事点之死”那段简直头皮发麻。我们团队也经历过PO拍脑袋插需求,但最坑的是PO自己都不敢拍板,最后变成研发和产品互相甩锅。作者说得对,不是人不专业,是没人明确告诉PO‘你有权决定优先级’,结果所有人都成了受害者。
测试视角:预埋代码那个案例太真实了!我们团队就有研发悄悄在旧Sprint里写了下期的逻辑,测试完全不知情,上线前一天炸出P0 Bug。关键是事后研发还觉得自己做了‘好事’,觉得测试在找茬。没有质量门禁的决策权,测试永远只能给研发擦屁股。
我就是文章里那种‘没有被赋权的PO’。领导说‘你现在是PO了’,但Sprint中途遇到紧急需求,我还是得求着研发组长和VP批。吵了三个月,研发觉得我乱指挥,老板觉得我能力不行。其实我只想要一句正式的话:‘Sprint内需求变更的最终决定权在你’。
作为技术VP,回顾会变成甩锅会这个坑我踩过。改进项写了几十条,一查执行率不到10%。后来我强制要求每个Sprint最多选两个改进项,必须拆成具体任务并且分配故事点,不完成就不算迭代结束。这一招虽然死板,但至少让团队看到改进是有结果的,而不是纯道德绑架。