到底什么是故事点(Story Point)?

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

故事点是一个度量单位,用于表示完成一个产品待办项或者其他任何某项工作所需的所有工作量的估算结果。

当采用故事点估算时,我们为每个待办项分配一个点数。待办项估算结果的原生数据并不重要,我们只关注最后得到的相对估算结果。一个估算值为2的用户故事应该是估算值为1的用户故事的2倍。而它也应该是另一个估算值为3的用户故事的三分之二。

团队不要采用100、200、300,或者1百万、2百万、3百万,而要使用1、2、3。估算结果是比值,而不是绝对值。

故事点包括什么内容

由于故事点数代表了开发用户发故事所需的全部工作量,所以团队的估算必须考虑到影响工作量的所有因素。这可能包括:

  • 要开展的工作的数量

  • 工作的复杂度

  • 要开展的工作中存在的任何风险或不确定性

 

在用故事点估算时,必须要考虑以上每一个因素。让我们看看每个因素是如何影响故事点的。

要开展的工作数量(The Amount of Work)

如果要开展的工作越多,工作量的估算值当然就会越大。考虑两个网页开发的案例。第一个网页只有一个字段和一个要求输入姓名的标签。第二个网页有100个只需要输入一小段文本的字段。

第二个网页并不比第一个网友更复杂。字段之间是不存在交互的,每个字段只不过是一点文本而已。因此第二个网页并不存在额外的风险。这两网页之间的唯一区别就是第二页有更多的事情要做。

应该给予第二个网页更多的故事点数。但它即使有多了100倍的字段数,可能仍然得不到多100倍的点数。毕竟,由于规模经济效应,第二个网页的工作量可能只是第一个网页的工作量的2或3或10倍。

风险和不确定性(Risk and Uncertainty)

产品待办项的风险和不确定性会影响其故事点估算值。

如果产品待办项的干系人在询问需求事说得不清不楚,那么团队在估算时应当把不确定性也反映在估算结果中。

如果要实现一项功能时需要改动一段缺乏自动化测试的、结构脆弱的老代码,那么估算结果中也应该反映这个风险。

复杂度(Complexity)

在进行故事点估算时,还应该考虑复杂度。回顾一下之前那个有100个琐碎文本字段且字段之间无交互的Web网页开发的例子。

现在考虑另一个也有100个字段的网页。但这些字段中,有些是采用日历控件弹出的日期字段;有些是格式化的文本字段,如电话号码或社会安全号码;另一些字段则需要做信用卡号码的校验和验证。

页面上的字段之间还需要相互交互。如果用户输入一个VISA卡,会显示三位CVV字段。但是如果用户输入美国运通卡,则需要显示四位CVV字段。

尽管这个页面上仍然只有100个字段,但这些字段更难实现。它们更复杂,需要花更多时间才能实现。开发人员出错的可能性更大,因此不得不采取一些预防和纠正措施。

这种额外的复杂度都应该反映在所提供的估算结果中。

要考虑所有因素:工作数量、风险和不确定性,和复杂度

把这三个因素合成一个数字并提供一个估算值,貌似是不可能的。然而其实是可能的,因为可以统一到工作量这个因素。

首先,估算人员要考虑的是:完成产品待办项所描述的那些工作,到底需要多少工作量。

然后,估算人员要考虑的是:在处理产品待办项的风险和不确定性方面需要付出多少工作量。通常可以通过考虑到问题发生的风险以及风险确实发生会造成的影响来做到。因此,例如,一个可能会发生并将消耗时间的风险将会增加估算值,而一个不太可能发生且无关紧要的风险则不会增加估算值。

此外,估算人员还要考虑要开展的工作的复杂度。复杂的工作需要花费更多的心思,可能需要进行更多的试错试验,可能需要与客户进行更多的反复,还可能需要花费更长的时间来验证和改正错误。

所有这三个因素必须都结合考虑。

要考虑“完成的定义”中的要求

故事点估算必须要覆盖直到实现产品待办项待真正完成的所有事项。如果团队的“完成的定义”中包括了创建自动化测试来验证这个故事(并且这是一个好主意)这个事项,那么创建这些测试的工作量也应该包含在故事点估算结果中。

故事点可能是个难以把握的概念。但是花时间去充分理解——故事点数代表着其工作的数量、复杂度及其风险和不确定性——将会是值得的。

作者:Mike Cohn

文章转自:scrum中文网

文章链接:到底什么是故事点(Story Point)? - Scrum中文网

推荐的敏捷开发工具:Leangoo领歌

敏捷开发中为什么要用用户故事(User Story Points) 来评估工作量? 敏捷开发中推荐使用用户故事数来评估工作量。这个给人的第一感觉是工作量难道不应该是时间吗?为什么要用用户故事数呢?在回答这个问题之前,我们需要回答下面的几个问题。 为什么要评估工作量? 这个问题可能问的很奇怪,但是确实需要回答,因为我看到有些团队会一直开发下去,团队不清楚应该什么时候会完成项目。 评估工作量的目的第一是让投资方知道项目的资金和时间成本。这样投资方才能知道是否应该启动项目。第二是让团队知道项目的里程碑,进而形成共同努力的目标。 #mermaid-svg-XVe7kPmaAtGmE2QF .l 阅读详情

相关推荐

了解故事

故事数是敏捷团队估算用户故事使用的一种主观的计量单位

m0_47147246的博客 1659

Scrum评估故事方法-计划扑克

Scrum评估故事方法-计划扑克 划扑克 编辑 计划扑克”(PlanningPoker)是一种标有数字的扑克牌。计划扑克的目的是为了能够在一个尽可能短的时间内,让团队成员更加多的了解需要做的工作,同时顺带得到一个可接受的估算结果,一般推荐4到8人参与估算。

什么是功能?兼论故事的东施效颦

我来划一个重:功能这词本义是指软件功能的“要、基础”。

luoxiang2009的博客 3513

PMP–一、二、三模–分类–14.敏捷–技巧–故事

DoDA:协商估算,使其变得更小。B:将较大的活动分解成更小的部分。C:重新调整故事的大小。D:执行估算较小的活动。CB分解是一种把项目范围和项目可交付成果逐步划分为更小、更便于管理的组成部分的技术。A:活动的客观工作量不变,协商估算变得更小没有意义。C:活动的客观工作量不变,调整故事大小没有意义。D.不执行估算大的活动明显不合理。

stqer的博客 1372

阿里云效中的Story Point是什么,代表的是什么意思,该怎么填

Story PointPoint是什么

一个后端菜鸟的博客 1362

为什么我们使用Story Points进行估算?

故事 (Story Points) - 简介 Scrum指南告诉我们,估算应该由将要完成工作的人提供,但它并没有告诉我们应该如何提供估算。它把这个决定留给了我们。Scrum团队使用的一种常见策略是使用称为故事的度量单位进行估算。但为什么要使用Story Points而不是几小时或几天或任何其他众所周知的时间单位?我们是故意试图混淆吗...

weixin_34216036的博客 3838

Scrum估算(estimation) 和故事 (Story Points)

Scrum要求产品在每个Sprint中保持可能可交付(例如,经过适当测试/集成)的状态,产品所有者(Product Owner)声明哪个工作是最优先考虑的,并且工作可以分成薄的垂直切片,通常是以客户为中心的用户故事(User Stories) 每个都要大于几天。如果我们正在做其他敏捷 (Agile)的东西,我们不能错过发布日期 (Time...

weixin_34143774的博客 4693

Scrumstory point的预估

一、什么是story pointStory point,翻译成中文即为故事故事Scrum团队使用的一种随机度量方式,用来度量实现一个故事需要付出的工作量”,还可能是“故事数的估算混合了对于开发特性所要付出的努力、开发复杂度、个中风险以及类似东西。 我们也可以理解为可以用story point来衡量一个issue的难度或工作量。二、story point的预估估计story point

HanpengChen的博客 1万+

项目管理story point与时间的关系

最近在承担PMO角色,项目管理工具是jira,其中很重要的一个事情是评估story point。在网上看了一些解释,总是感觉好像懂了,但又没有完全懂,最近搞明白了

爬不上树的小松鼠 3980

敏捷估算:故事

https://rigidity.medium.com/agile-waste-story-points-pt-1-a9df2572d0a3

github_37934404的博客 761

故事与人天

先确定故事,根据功能相对复杂性,先找到一个故事的功能,以对比其它功能,确定所有功能需要的故事。 再某第一个参照故事的功能,估计完成他的人天,再来确认其它功能的开发工作量。 参照故事估计:http://www.scrumcn.com/scrumptc/html/?453.html

踏雪听雨 1340

敏捷开发06:用户故事估算方法介绍

在以前开发 IT 软件时,使用较多的衡量软件开发工作量的单位是:小时、人天 或 人月。它是预估开发时间。比如:这个功能张三一个人开发需要 3 天时间完成。这种 “人天” 估算只是 “理想人天” 的估算,有时与实际开发完成所需天数有很大差别。因为每个人完成同样复杂度工作所需的时间是不同的。那在敏捷 Scrum 框架中,用户故事的开发工作量,如何估算一个用户故事开发工作量?用户故事的规模大小业务复杂度、难度业务规则复杂度开发人员能力大小、个体差异团队成员休假、有事请假等突发因素。

九卷技术录 1194

敏捷软件开发实践-Sprint Story Point Estimation

介绍:对于story来说,一个很重要的衡量它的大小的因素就是story point,它不等同于软件工作量评估中的Function Point,因为story point只是用来粗略的相对的估计story的大小,而Function Point则是用来衡量功能模块的精确大小并且要参与到公式计算的,这里澄清下。story point的估算是一门很深的学问,而且我们不能马虎,因为如果...

weixin_33845477的博客 538

story point 的单位?

通用方程为1个有效的人-天=6个有效的人-小时。 为什么不用人-小时,原因在于: 人-小时的粒度太细了,它会导致太多小到1-2个小时的任务出现,然后就会引发微观管理。 最后发现实际上每个人还是按照人-天的方式来思考,只是在填写数据时把它乘6就得到了人-小时。“嗯……这个任务要花一天。哦对,我要写小时数,那我就写6小时好了。” 两种不同的单位会导致混乱。“这个估算的单...

hanqunfeng的专栏 889

Time vs Story Points Estimation [转]

One of the most common questions we get is whether to estimate in time or points. It seems like points are used only “to avoid thinking about time” and they are essentially the same. Wrong. Let ...

268
上一篇: scrum工具leangoo时间线视图管理项目
下一篇: 使用leangoo领歌单团队敏捷开发项目管理
哆啦B梦_
博客等级 码龄11年 1147粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值