先说说背景:我们是一个8人前端团队,负责公司SaaS平台的迭代。刚开始我们采用了常见的2周Sprint周期(Scrum指南规定Sprint长度不超过一个月,团队可根据实际情况选择1周、2周等固定周期,但需保持一致性),每天15分钟站会,Sprint结束后做回顾。结果呢?第一个月过去了,交付速度反而比之前慢了30%。
第一个坑:Sprint规划变成了“需求堆砌”
刚开始做Sprint规划时,我们犯了一个致命错误:把用户故事当任务来分解。比如“用户登录功能”,产品经理说“这个简单,两天搞定”,我们就在Sprint Backlog里写“实现用户登录”。
结果呢?这个“简单”的功能包含了:
- 前后端接口联调
- 密码加密逻辑
- 记住密码功能
- 错误提示优化
- 异常场景处理
为什么这么写不对? 因为用户故事是价值单元,不是任务单元。你需要把它拆解成可独立交付的任务。
正确的做法是先把故事拆成技术任务,再估算工作量。我们后来用了一个技巧:
建议将用户故事拆解为可独立交付的技术任务,具体数量根据故事复杂度灵活决定,通常3-7个任务较为合理,比如前端UI、接口联调、业务逻辑、异常处理、单元测试。团队一起估算,而不是一个人拍脑袋。这直接避免了“我以为很简单”的坑。
第二个坑:每日站会变成了“汇报会”
这是我见过最普遍的问题。站会一开始,全员自动进入汇报模式:“我昨天做了A”、“我今天做B”、“没有阻塞”。15分钟变成了“报菜名”,信息量趋近于零。
更坑的是,有人会在这时候开始讨论技术细节:“我发现那个Redis缓存的问题,需要改一下配置…” 然后两个人开始辩论,其他6个人干瞪眼。
怎么解决? 我们彻底改了站会规则:
站会白板模板包含四列:已完成、进行中、阻塞、今日重点。每个成员只需要在白板上更新自己的卡片,然后说三句话:
如果讨论偏离主题,Scrum Master应引导回到三句话格式,并在会后安排深入讨论。这个改进看似简单,却对团队效率产生了显著影响。
效果立竿见影:站会从平均25分钟降到了8分钟,而且信息密度翻倍。
第三个坑:回顾会变成了“吐槽大会”
回顾会最可怕的是:大家开始互相甩锅。“测试没做好”“需求不明确”“代码质量差”… 每个人都觉得自己没问题,是别人拖了后腿。
这种氛围下,改进措施根本落不了地。
我们的解法: 用数据说话。
我们建了一个简单的看板,记录每个Sprint的四个指标:
- Sprint目标达成率(基于故事点)
- 团队满意度(1-5分)
- 阻塞项数量
- 交付延迟率(延期天数占比)
然后回顾会只讨论这些数据背后的原因。举个例子:
Sprint 5 数据:
- Sprint目标达成率:85%(计划20个故事点,完成17个)
- 团队满意度:3.2/5
- 阻塞项数量:3个
- 交付延迟率:30%
卡住的故事:
这时候讨论就不会变成“你不行”,而是“接口变更这件事怎么避免”。我们后来加了一个规则:所有外部依赖必须提前2天确认。这个改进直接让Sprint目标达成率从85%升到了95%。
还有个技巧:每期回顾只定1-2个改进点,多了根本执行不下去。比如这个Sprint只聚焦“减少接口变更”,下个Sprint再解决“测试环境问题”。
真正让Scrum起作用的三个实战技巧
1. 把“时间盒”玩出花
Sprint不是越长越好。我们试过1周、2周、3周,最后发现1周Sprint最适合我们(但需根据团队稳定性和外部依赖调整,例如初期可试用2周)。原因很简单:
- 2周的Sprint容易让人“先摸一周再说”
- 1周的Sprint逼你必须每天出活
- 如果任务太大,拆成2-3个Sprint
2. 明确定义“已完成”(Done)标准
这是从某篇文章学来的:把看板列改为“待办”、“进行中”、“已完成”三列,并明确定义“已完成”标准(Definition of Done)。为什么要这么写?因为“进行中”是个黑洞,任务进去就出不来了。每个任务在移入“已完成”前,必须满足所有验收条件。
3. 引入“技术债务偿还”机制
在每个Sprint中预留10-20%容量用于技术债务偿还,或通过Sprint回顾识别并逐步解决。比如重构代码、升级依赖、写文档。这个设计听起来奢侈,但实际效果非常香:后续Sprint的速度提升了40%。