🧩 第十一章 衍生:敏捷开发
📄 一句话概括

Scrum 管的是团队怎么干活——实测 3 个角色+3 个产物+4 个会议=10 个要素;它故意不规定技术怎么做,那是 XP 的事。

📝 本节和前面几节的关系

11.6 讲 XP(管代码),这一节讲 Scrum(管推进)。两者经常一起用。

一、三件套

3 个角色:产品负责人(决定做什么)、Scrum 主管(保证流程)、开发团队(做什么)。 3 个产物:产品待办列表、迭代待办列表、可交付增量。 4 个会议:迭代计划会、每日站会、迭代评审会、回顾会。

二、实测:10 个要素

3+3+4=10,这就是 Scrum 的全部规定。 它不规定用什么语言、写不写文档、怎么测试——那些留给团队。 所以 Scrum 是【框架】不是【方法】:给骨架,内容自己填。

三、和 XP 的分工

XP 管【怎么写代码】:测试先行、结对、重构、持续集成。 Scrum 管【怎么推进工作】:谁决定、多久一轮、怎么对齐。 两者不冲突:一个管横向(技术实践),一个管纵向(时间节奏)。

四、最常见的误用

只开会不改代码:站会开得很齐,代码还是没法测。那不是 Scrum。 把回顾会变成追责会:一旦追责,下次没人说真话,流程就死了。 把待办列表当合同:列表是可重排的,排不了就说明没在迭代。

五、动手 Demo:确定团队工作推进方式的框架的Scrum

列出 Scrum 的三个角色、三个产物、四个会议。 数出它的要素总数。

roles = ["产品负责人", "Scrum 主管", "开发团队"]
arts = ["产品待办列表", "迭代待办列表", "可交付增量"]
meets = ["迭代计划会", "每日站会", "迭代评审会", "回顾会"]
print(len(roles), len(arts), len(meets),
      len(roles) + len(arts) + len(meets))   # 3 3 4 10

实跑输出:

--------------------------------------------------------------------
确定团队工作推进方式的框架的Scrum
--------------------------------------------------------------------

  Scrum 是**管团队怎么干活**的框架,和管理项目内容的流程不同。实测它的三件套:

      角色                        3 个:产品负责人/Scrum 主管/开发团队
      产物                        3 个:产品待办列表/迭代待办列表/可交付增量
      会议                        4 个:迭代计划会/每日站会/迭代评审会/回顾会
      合计要素                    10 个

  要素     个数     回答什么
  -----------------------------------------
  角色     3        谁来决定做什么
  产物     3        要做的清单和做完的东西
  会议     4        多久对一次齐

  **注意 Scrum 只有 10 个要素**——**它故意不规定技术怎么做。**
  **这是它和 XP 的分工**:XP 管【怎么写代码】,Scrum 管【怎么推进工作】。
  **所以两者经常一起用**,并不冲突。

实测:3 个角色、3 个产物、4 个会议,共 10 个要素。 它不规定技术怎么做——这是它和 XP 的分界。 所以它是框架不是方法:给骨架,内容自己填。

30 秒实验

  1. 对照这 10 个要素,看你们团队缺哪几个。
  2. 检查你们的回顾会是在改进还是在追责。

常见误区

  1. 以为 Scrum 就是开站会。10 个要素缺一个就变形。
  2. 以为 Scrum 能替代技术实践。它一句话都没说代码怎么写。
自测三问(点开对答案) 1. Scrum 的三件套是什么? —— 3 个角色(产品负责人/Scrum 主管/开发团队)、3 个产物、4 个会议。 2. 实测要素总数? —— 3+3+4=10 个。 3. Scrum 与 XP 怎么分工? —— Scrum 管怎么推进工作(时间节奏与角色),XP 管怎么写代码(技术实践)。

相关笔记