咱们做项目的时候可能都遇到过这种情况:项目一开始信心满满,觉得 deadline 稳了。结果呢?各种意外状况频出,时间好像怎么都不够用了,最后项目只能无奈延期,整个团队都像霜打的茄子。
说到底,还是项目初期对工作量估计不足惹的祸!你可能会认为一个人做一件事需要5天,那5个人一起做,1天就能搞定!但实际上,估算不是一件简单的事,工作量也不是这种简单的加减法。
01、怎么进行估算?
传统的估算方法,就是按人和天来算的,是估计一个绝对值,计量单位就是人天或人时。
比如说:小明写一篇 500 字作文要2 小时(工作量 2 人时),小刚写同样的作文可能要 3 小时(工作量是3人时)。那到底写一篇500字的作文的实际工作量按2人时来算,还是按3人时来算?
因为人的能力是不一样的,用传统的估算方法,其实是很难衡量实际工作量的。
敏捷估算则另辟蹊径,它抛开了“人天”的绝对值,转而采用“故事点”这一相对值来衡量工作量的大小。
故事点是什么?
- 它是一个抽象的单位,就像厘米、千克、摄氏度一样,只是一个计量单位。
- 它是一个相对值,代表着工作量的大小,与具体的人员和时间无关。
如何使用故事点?
我们可以选择一个基准任务,例如写一篇200字的短文,将其定义为1个故事点。然后,根据其他任务与基准任务的相对工作量来估算故事点。
例如:
- 写一篇400字的短文,工作量是200字的两倍,估算为2个故事点。
- 写一篇600字的短文,工作量是200字的三倍,估算为3个故事点。
敏捷估算的优势:
- 简化计划制定:无需将人员和时间与具体任务绑定,计划更加灵活。
- 降低人员变动影响:工作量以故事点衡量,人员变动对计划影响较小。
- 促进团队协作:团队成员共同估算故事点,增强沟通和理解。
02、如何进行敏捷估算?
敏捷估算是一种快速且灵活的项目工作量评估方法,它聚焦于团队整体速度而非个人速度,帮助团队更好地规划迭代和预估项目周期。
以下是敏捷估算的步骤:
1. 建立基准故事点:
选择一个简单易懂的用户故事作为基准,将其工作量定义为“1个故事点”。
例如:开发一个简单的查询页面,可以作为基准故事,定义为 1 个故事点。
2. 相对估算其他故事:
将其他用户故事与基准故事进行比较,评估其工作量是基准故事的多少倍,从而得出该故事的点数。
例如:“查看个人基本信息” 与基准故事规模相似,因此也是 1 个故事点;而“录入个人基本资料” 则相对复杂,可能是 3 个故事点。
3. 计算总故事点数:
累计产品待办列表中所有用户故事的故事点数,得到项目总工作量。
4. 确定团队速度:
团队速度是指一个敏捷团队在一个迭代(Sprint)中能够完成的总故事点数。
例如:某个 Scrum 团队一个迭代可以完成 80 个故事点,那么 80 就是他们的团队速度。
5. 推算项目周期:
将项目总故事点数除以团队速度,即可得出完成项目所需的迭代次数。
例如:项目总规模为 1600 个故事点,团队速度为 80 个故事点/迭代,则预计需要 20个迭代才能完成。假设每个迭代为 2 周,那么项目周期约为 40周。
敏捷估算的要点小结:
- 相对估算: 使用故事点作为单位,它代表工作量的相对倍数,而非绝对时间。
- 关注规模: 规模以故事点计量,与时间、周期、人天或人时无关。
- 团队速度: 敏捷估算关注团队整体速度,而非个人速度。
- 推算周期: 通过总规模和团队速度,可以推算出项目所需的大致周期。
03、常用的敏捷估算方法
1. 宽带德尔菲技术: 这是一种基于专家意见的迭代式估算方法。团队成员匿名提供估算,然后汇总并讨论差异,经过几轮迭代最终达成共识。
主持人通过估算会议来收集和画出每个参与人的估算。每个参与人估算的结果都会在 X 轴第一轮那条线上显示出来。一开始的估算范围可能大得离谱。讨论完最初的估算后,所有参与者都会修改自己的估算。主持人再把这些新估算收集起来贴在同样的图上,比如“第二轮”那条线。后面几轮的估算分布会越来越接近。
2. 宽带德尔菲技术之计划扑克: 敏捷团队最好的估算方法是计划扑克,也称为敏捷扑克、Scrum扑克。团队成员使用预先设定好故事点值的卡片进行估算,同时亮牌有差异的话就进行讨论,最终达成一致的估算结果。
宽带德尔菲技术常用“计划扑克”操作,通过卡片数字进行估算,这些数字是故事点(一般采用斐波那契数列的数字)。
3. 亲和估算:也叫三角测量,这是一种快速、粗略的估算方法,经常用来估算大规模用户故事。团队成员将用户故事分组,每组代表大致相同的工作量。再把不同规模大小的用户故事按顺序排列,并贴到墙上,然后再将每个故事卡移动到合适的列上。
4. T恤估算: 跟亲和估算比较类似,使用不同尺寸的T恤(XS、S、M、L、XL)来代表用户故事的相对工作量。
不同的敏捷估算方法各有优缺点,主要区别在于估算精度和估算所耗费的时间成本,我们可以根据项目的具体情况和需求选择最合适的方法,或者组合使用多种方法以提高估算的准确性和效率。
比如:
- 如果要估算的故事多且团队信息不充分,最好用亲和估算,能快速出结果,但不够精确。一般估算product backlog 就是这样估算。
- 要是估算单个故事,或者对一个迭代进行估算。这时需要精准估算,最好用计划扑克。
好了,以上就是关于敏捷估算的一些基础内容。如果你想要掌握更多敏捷方法、工具和技术,或者更系统地学习Scrum的知识和技能,小艾老师推荐大家参加Scrum Master敏捷专家(CSM)认证培训。
最后给大家附上关于CSM认证的一些信息,小艾老师已帮大家整理成表格和图片,需要高清图片可以私聊小艾老师获取~~