大多数“如何估计故事点”内容读起来就像企业培训课程:模糊的原则、计划扑克仪式以及 1,500 个在 Monday 早上没有帮助的单词。这篇文章是实用版本。到最后,您将有一种方法来估计您的团队将实际使用的方法、在实践中有效的相对规模,以及对仪式的诚实看法(规划扑克、T 恤尺寸):什么值得保留,什么可以跳过。
故事点实际衡量什么
故事点代表 相对努力,不是时间。 5 点故事的工作量大约是 1 点故事的五倍。这是否需要一天、一周或两名工程师取决于团队;这就是重点。这个数字表示“相对于其他事情来说这么多”。
团队在几个小时内采用积分的原因是:人类不擅长预测某件事需要多长时间,但相当善于说“这比那更大”。消除了时钟压力也消除了垫的诱惑。
这里的努力由三件事组成,融合成一个数字:
- 体积:有多少个工作单元
- 复杂性:有多少新颖性或技术难度
- 不确定性:估计本身的置信度如何
一个五点故事可能是一个厚重但众所周知的作品,或者是一个小但新颖的调查。两者应该得到相同的数字,因为两者将花费大致相同的努力。
实际有效的尺度:修正斐波那契
可接受的规模: 1, 2, 3, 5, 8, 13, ?
为什么是这些数字?因为差距随着估计值的增大而增大,这反映了人类的不确定性。你通常可以分辨出 1 和 2 之间的区别。你可能无法分辨出 11 和 12 之间的区别。强迫球队进入 8 vs 13 更诚实。
那个“?”取代 21+。如果一个故事感觉大于 13,那么它就不是一个故事;它是一个故事。这是一部史诗,你应该在投入它之前将其拆分。 (参见: 故事分裂,如下。)
有些球队使用 T 恤尺寸(XS、S、M、L、XL)而不是分数。功能上是一样的。使用您的团队喜欢的任何一个;进行重要的战斗。
如何设置基线(这是大多数团队跳过的)
大多数失败的估计都是由于跳过了基线设置步骤。球队的积分仅代表某种意义 对他们自己;它们是一个相对规模。所以在你估计任何事情之前,你需要一个锚点。
最便宜的基线设置练习:
- 从最后两个冲刺中抽取 10 张代表票
- 问:“哪一个是最小的?称其为 1。”
- 问:“剩下的每张票大约有 1 倍、2 倍、3 倍、5 倍、8 倍或 13 倍大吗?”
- 不要争论具体数字;争论哪个桶
- 写下来并将其固定在团队频道中
现在你有了一个锚点:团队知道“3”是什么样子。未来的估计参考此。经过 5 次冲刺后,锚点应该转向团队达成的共识;没关系。
如果没有这一步,每个团队成员都会根据自己的私人规模进行估计,并且这些点都是噪音。有了它,您可以在 2 个冲刺内获得有用的东西。
实际预估:3题,每票30秒
这是实际循环。对于每张可供估价的工单:
Q1:这和我们做过的事情相似吗?
如果是的话,像那个东西一样指向它。完毕。
Q2:如果没有,需要什么?
每个工程师都会说以下其中之一:“琐碎/小/中/大/巨大/无法分辨。”
Q3:收敛性检查。
如果每个人都这么说:点它(1/2/3/5/8/13)。继续前行。
如果估计值相差超过一桶,则 最高 和 最低 每个估算者给出 30 秒的理由。这才是真正的价值所在;通常,高估计者知道隐藏的复杂性,或者低估计者知道解决该问题的现有实用程序。他们解释后,重新估计。不要平均。选择一个号码,继续。
这本质上是计划扑克,只是去掉了纸牌和长达一小时的仪式。这样,一个6人的团队可以在25分钟内估算出15张票。
计划扑克擅长什么,哪里出了问题
规划扑克;每个人同时在卡片上显示他们的估计;确实有用的原因有一个:它可以防止锚定。如果一位高级工程师大声说“这是 5”,初级工程师即使认为这是 8,也会同意。隐藏的揭露可以阻止这种情况。
当出现以下情况时就会出错:
- 变成12 个工单的90分钟仪式
- 团队争论“5 vs 8”而不是继续前进
- 当估算者有洞察力时,他们会向最资深的人屈服,而不是坚持自己的估算
如果你的团队中初级人员较多并且倾向于尊重资历,请继续将扑克作为一种隐藏-揭露机制进行规划。如果你的团队经验丰富并且充满活力,那就放弃吧;让每个人同时大声说出一个数字。
拆分太大的故事
任何 13+ 的东西对于冲刺来说都太大了。分开它。
六种实用的分割方式,按优先顺序排列:
1. 按快乐路径与边缘情况划分。 “实现登录”→“登录(快乐路径)”+“登录(忘记密码/锁定/过期令牌边缘情况)”。
2.按用户角色划分。 “构建管理仪表板”→“超级管理员的管理仪表板”+“组织管理员的管理仪表板”。
3. 按数据输入拆分。 “从 CSV 导入”→“导入架构 A(大多数用户)”+“导入架构 B(10% 用户)”。
4、按接口层划分。 “构建 API”→“API 端点”+“前端接线”+“慢速部分的后台作业”。
5. 通过验证进行拆分。 “添加新流程”→“添加流程”+“为流程添加验证+错误处理”。
6. 按实验划分。 “构建新功能”→“为 5% 的用户构建新功能”+“推出+监控+清理”。
如果您无法使用这些模式之一将 13 指针分成更小的部分,那么这项工作实际上还没有被理解。添加 1 分尖峰:“调查 X,建议拆分。”
不是故事点的事情
值得一提的常见混淆:
- 时间。 5分并不是5小时或5天。团队的速率告诉您积分如何转换为时间。
- 困难。 一个新奇但小的问题可以是8分;繁琐但简单的迁移可以得到 8 分。相同的数量,不同的质地。
- 生产力得分。 速率是一种预测工具,而不是管理者的鞭子。当“我们需要提高速率”进入站立状态时,你的数字就不再具有任何意义。
没有历史的新球队怎么办?
你没有底线。三个选项:
选项A:借用。 使用锚定于“典型的小错误修复是 2”的尺度修改斐波那契。指出与此相关的一切。您将在 3-4 次冲刺内完成校准。
选项 B:时间优先。 对于前两个冲刺,估计理想的时间。对待 1 天 = 1 点,然后在有了锚点后过渡到相对指向。这可以让你更快地进行预测,但会训练团队以时间为先思考,从长远来看,这是错误的思维模式。
选项C:不估计。 使用#NoEstimates:改为跟踪每个冲刺的工单吞吐量。适用于源源不断的类似尺寸的工单。对于预测功能交付不太有用。
选项 A 是大多数团队应该做的。明确地告诉团队:“我们会在前 5 个冲刺的每次回顾中重新校准我们的规模,然后它就会稳定下来。”
人工智能生成的估计怎么样?
法学硕士可以根据描述文本来估计故事。他们在这方面出奇地好;通常与团队所说的相差不远。
作为健全性检查很有用(“人工智能说 5,我估计是 8;我错过了什么?”)。不能取代团队的判断,因为人工智能不知道你的代码库、你的团队的速率历史,或者什么是“这里微不足道的事情,因为我们有一个帮手”。
SprintFlint 对每张票进行人工智能建议的估价。团队可以推翻;该建议是为了对话。
长话短说
- 故事点 = 相对工作量、融合量 + 复杂性 + 不确定性。
- 使用 1、2、3、5、8、13、?。任何更大的东西都会分裂。
- 在开始之前设置基线:将 5-10 个参考票固定到频道。
- 每张票 30 秒:与过去的作品类似?如果是,请指出。如果否,投票,分歧触发 30 秒讨论,重新选择,继续。
- 仅当您的团队具有顺应资历的动态时,规划扑克才有用。否则丢弃它。
- 六种故事分割模式;如果都不适合,说明你还没有理解这项工作。
- 不要将分数与时间、难度或生产力混淆。
用故事点以外的东西进行估算? 敏捷估算技术比较 将故事点与计划扑克、T 恤尺码、理想时间和无估计放在一起;每个表面的内容、每个断裂的位置以及如何在不浪费时间的情况下进行切换。