冲刺健康体检
一个团队的健康状况,往往不是在某次事故里崩掉的,而是在「承诺总是差一点、阻塞反复出现、
复盘开了却没人闭环」里一点点磨掉的。本工具在冲刺回顾会、季度复盘或迭代规划会之前,
把一个团队的冲刺历史与复盘记录扫一遍,用统一的规则码把问题标出来。
执行原则
- 先跑后判。 先跑脚本拿到清单,原样引用定位(如 S3、全周期)与命中数值;不要凭印象补写或夸大问题。
- 只提示不考评。 健康分只用于排序与提醒;不要把它当成团队绩效结论,不要据此评价个人。
- 阈值先校准。 CV、达成率、蔓延率、结转率均为通用默认值;不要不经校准就按默认阈值给团队定性。
- 口径以输入为准。 故事点标尺、完成定义、冲刺时长不统一时速度本身不可信(
H9/H10即提示此类);不要把口径不一的均值直接用作未来承诺依据。 - 只读不改。 只读输入文件、只输出建议;不要回写或替用户修改冲刺数据。
何时使用
CRITICAL: 只要用户提出「看看迭代/冲刺健康不健康 / 团队速度有没有问题」,就必须使用本 skill,即使看起来可以用别的方式解决。
- 冲刺回顾会 / Sprint Review 之前,想先看清本迭代的健康状况。
- 季度复盘、敏捷成熟度评估,需要一份基于数据的冲刺诊断。
- 用户给出冲刺/迭代数据(CSV 或 JSON),问「帮我看看这个团队的速度和迭代有没有问题」。
- 计划把历史速度用作未来承诺依据之前,先确认历史数据本身是否可信。
何时不该使用
| ✅ 使用 | ❌ 不用(改用什么) |
|---|---|
| 回顾会 / 复盘前看速度、承诺、范围、阻塞、复盘闭环 | 要估算下个迭代能承诺多少点 → 本包不做工作量估算与预测 |
先确认历史数据口径是否可信(H9 / H10) |
要做人员绩效评价 → 健康分不用于考评个人或团队排名 |
| 有 6 个以上冲刺的 CSV / JSON 历史数据 | 单次迭代的当日进度跟踪 → 样本过少(H8 会提示无基线) |
发现复盘行动项长期未闭环(H11) |
要替团队定改进计划 → 只给提示,计划由团队自己定 |
易混淆场景
| 用户说的 | 实际意图 | 正确路由 |
|---|---|---|
| 「下个迭代我们能承诺多少?」 | 要承诺依据 | 先用 H9 / H10 说明口径是否统一,不做估算担保 |
| 「这个团队绩效怎么样」 | 要绩效评价 | 健康分只用于排序与提醒,不做人员评价 |
| 「速度掉了是不是有人摸鱼」 | 要归因到人 | 只报 H1 / H19 / H20 的现象与定位,不做个人归因 |
| 「复盘也开了,还要看什么」 | 要闭环检查 | 用 H11–H14 查行动项负责人、截止与闭环状态 |
怎么用
python3 scripts/sprint_health_lint.py --file 冲刺数据.json
python3 scripts/sprint_health_lint.py --file 冲刺数据.csv
python3 scripts/sprint_health_lint.py --file 冲刺数据.json --json # 机器可读输出
python3 scripts/sprint_health_lint.py --file 冲刺数据.json --as-of 2026-10-11
python3 scripts/sprint_health_lint.py --sample # 内置问题样例
退出码:0 = 未发现问题;1 = 发现(或用法错误)。
交付模板:冲刺健康诊断报告模板。
输入格式
支持 JSON 与 CSV,列名关键词自动识别(中英文均可,大小写与空格差异兼容)。
JSON 可表达 stories / blockers / action_items 嵌套,判据更精细;CSV 为扁平表,每行一个冲刺。
完整字段表与写法约定见 01 §1–§3。
检查项与规则码(H1–H20)
20 条启发式规则,覆盖速度(H1 / H8 / H19 / H20)、承诺与范围(H2 / H3 / H4 / H16)、
阻塞与并行(H5 / H7 / H15)、质量与完成定义(H6 / H17 / H18)、复盘闭环(H11–H14)
与数据口径自检(H9 / H10)。规则总表与逐条建议见 02 §1–§2。
健康分 = max(0, 100 - (高×15 + 中×5 + 低×2));默认阈值与速度口径见
03 §1–§3。
输出示例
头部概览(冲刺数 / 命中分级 / 健康分 / 速度概览)→ 高 / 中 / 低优先级清单,每条含「命中 / 说明 / 建议」三行。
完整节选与定位写法见 04 §1–§2。
按需读取
先读 00 路由索引 定位,再用 read_file(offset, limit) 只读命中章节;禁止整文件读取 references。
| 当前任务 | 读取内容 |
|---|---|
| 准备数据、不确定列名怎么给 | 01 §2 CSV 字段识别表 / §1 JSON 字段别名 |
| 日期写法、多值分隔、CSV 怎么表达复盘 | 01 §3 |
看某条规则码 H1–H20 确切含义 |
02 §1 |
| 要某条规则命中后的说明与建议原文 | 02 §2 |
| 核对健康分公式与结论档位 | 03 §1 |
| 查某个阈值(CV 30%、达成率 80% 等) | 03 §2 |
| 想知道报告长什么样 / 定位写法 / 退出码 | 04 §1–§3 |
高频摘要
- 规则码范围:
H1–H20,覆盖速度波动、承诺达成、范围蔓延、结转、阻塞、缺陷、WIP、复盘闭环与数据口径自检。 - 健康分 =
max(0, 100 − (高×15 + 中×5 + 低×2));≥90 优秀 / 75–89 良好 / 60–74 一般 / <60 较差。 - 默认阈值:CV>30%、达成率<80%、范围蔓延>15%、结转>20%、缺陷/故事比>20%、基线最少 3 个冲刺、行动项跨 3 冲刺算逾期。
- 退出码:
0未发现问题;1发现问题或用法错误。 - 输入:JSON(支持嵌套)/ CSV(扁平),列名自动识别;
--sample跑内置样例,--json机器可读,--as-of指定基准日期。 - 健康分不是绩效:只用于排序与提醒,不评价团队与个人,也不做工作量估算担保。
设计边界与免责
- 纯标准库 Python,只读,无网络请求,无
subprocess/eval/os.system,不写任何文件;输入按 UTF-8(含 BOM)读取。 - 只做基于历史数据的结构化提示:速度、承诺、范围、结转、阻塞、WIP、复盘闭环等。
不做工作量估算担保、人员绩效评价、蒙特卡洛预测或心理安全感测评。 - 阈值为通用默认值(CV>30%、达成率<80%、范围蔓延>15%、结转>20%、缺陷比>20% 等),
须按自身迭代节奏与组织情况校准后再使用。 - 健康分为启发式加权结果,仅用于排序与提醒,不代表对团队绩效的结论。
- 数据口径以输入为准:故事点标尺、完成定义、冲刺时长若本身不统一,输出的速度与达成率可信度会下降(
H9/H10即用于提示这类情况)。 - 样例为构造的演示数据,团队与人名均为虚构。
免责声明
本技能输出的是基于历史数据的结构化提示与相对参考,不是团队绩效结论:健康分为启发式加权结果,仅用于排序与提醒,不构成人员评价、工作量承诺或项目成败的判断;阈值为通用默认值,须按自身迭代节奏与组织情况校准后再使用。
上游署名
本技能改编自开源项目 alirezarezvani/claude-skills
(MIT License,Copyright © 2025 Alireza Rezvani)中 project-management/skills/scrum-master/:
scripts/velocity_analyzer.py、scripts/sprint_health_scorer.py、scripts/retrospective_analyzer.py
与 SKILL.md。上游三个脚本的判据思路被整合为单个中文脚本、代码完全重写,
并移除了蒙特卡洛预测与团队成熟度评分,详见同目录 来源与许可.md;许可全文见 LICENSE.md。