用户故事的划分

在Release计划会议和Sprint计划会议中,划分用户故事是一个很重要的活动。但是很多时候,团队成员并不清楚为什么需要小的用户故事,应该怎样划分。常常为这些问题争论不休,因此我在这里做一个回答。

为什么用户故事越小越好

  • 缩短完成用户故事的时间

很多人想当然的认为用户故事大小跟完成的时间是成正比(线性的)。但是事实并不是这样。有研究表明随着用户故事规模的增长,完成它需要的时间会呈非线性的增长。参见“Scale Lean & Agile Development”里面的截图。两倍大小的用户故事需要花五倍的时间来完成。为什么?因为随着其粒度的增大,不确定性(由于缺陷、人的因素,外部依赖等因素)会急剧提高。

scrumcn1252250112

  • 减小用户故事大小的差异性

在软件开发中很多时候团队成员都在等待。等待有很多原因,开发人员在等待BA回答需求问题,开发人员在等待架构和代码审查,测试人员在等待开发人员完成开发工作等等。在稀缺资源面前会有一个长长的任务队列。如果能够消除由于资源竞争产生的队列,团队开发的效率就会大大的提高。如何解决,排队理论(Queuing Theory)给了比较好的答案。根据排队理论,用户故事的不确定性是导致系统开发周期非线性膨胀的主要因素。不确定性的表象有几种:

不确定的迭代长度

不确定的用户故事集合

用户故事大小差距很大

团队成员不固定发布时间

不固定新的需求到达时间(irregular arrival)不确定。

解决方案就是”Leveling the work”,尽量使一切变得确定,稳定。所以需要有Time-box,所以需要把大的任务切成类似大小的小用户故事。

其实在实际生活中排队理论使用最广泛的是电信行业。传输中就是把大的数据分割成很多小的包,从而大大减小了不确定性,提高了系统的效率。只不过可惜的是,大家在开发电信系统的时候没有想到应用排队理论。

将大的用户故事分割成小块有很多好处:

  • 减少等待 – 下游的成员不必要等待过长的时间,小用户故事在系统内的流转会更快,从宏观来说变成了一个并行模式而不是串行模式。
  • 加快反馈 – 每一个小功能的完成都是一个反馈点,可以及时沟通信息。大块需求导致很多需求的缺陷往往到最终测试的时候才能发现,如果不能及早完成,尽快测试,缺陷会越来越难以解决。软件很少一次就做好。多次反馈(至少三次)及不断演进才是一个真正把功能做好的策略。
  • 减少缺陷 – 沟通更加及时,有问题可以及时发现,立刻解决,而不需要过长时间的等待。
  • 更好的衡量进度 – 可以工作的软件能够更好、更真实地反映项目进度状况。
  • 人天生只能关注很小部分 – 精力和智力所限。
  • 较少的投入获得较早的回报 – 这样可以尽早的达到成本与收入的平衡点。
  • 风险小 – 小的功能投入的资源较少。
  • 更容易分优先级 – 大块用户故事中难免还有优先级较低的小用户故事,通过细分,可以真正关注高优先级的用户故事。
  • 更容易让每个人接触不同的用户故事 – 用户故事变小,也会更简单,因此很容易让不同人同时去完成。

怎样划分用户故事?
主要是要从客户角度对用户故事进行划分,具体可以:

按照不同操作 – 添加、删除、修改、浏览等

按照数据 – 可以浏览产品名和介绍、可以浏览产品价格

按照特性 – 易用性、性能、兼容性、并发性等等按照角色 – 从不同用户角度

按照投入的人力 – 比如要完成信用卡支付(Visa, Master, AmericanExperess),可以分成三个故事来实现

等等。

 

关于作者:

scrumcn1252250165

 

滕振宇(Daniel Teng),爱迪德高级软件经理,InfoQ中文站特约编辑。他是亚洲第一位也是目前唯一一位认证Scrum教练(Certified Scrum Coach),Daniel具有多年的敏捷项目(Scrum & XP)实践经验以及丰富的带队经验。

Daniel于2006年1月创建了Irdeto上海研发团队,并将Scrum和XP成功引入了团队。目前该团队主要负责数百万美金级别的大型付费媒体计费及客户关系管理系统的开发及维护,四年中成功发布产品的两个新版本。系统现在在美洲、欧洲以及亚洲的许多国家运行。

Daniel一直致力于将海外的敏捷思想、理论及方法以及实践介绍到国内,帮助国内的软件团队高效并有趣地工作,真正为客户创造价值。作为敏捷社区的活跃分子,Daniel通过博客、InfoQ以及讨论组等宣传敏捷。Daniel经常受邀到各个会议中针对敏捷话题进行演讲,他是敏捷中国2009的讲师,并受邀QCon北京2010以及在CSDN举办的软件开发2.0大会2009等中作关于敏捷的演讲。

Dianelblog: http://www.cnblogs.com/tengzy/

火爆 售票中
Scrum.Org 主办
Search
近期公开班
专业Scrum Master (PSM I) 认证徽章
12月26-27日(周四、周五)
专业Scrum Master (PSM I) 认证公开课
远程
Derek Ding 丁志润 授课
领导大规模敏捷Leading SAFe认证徽章
1月11-12日(周六、周日)
Leading SAFe领导大规模敏捷认证课
远程
Scott Wang 王庆付 授课
scrum alliance csm认证徽章
1月18-19日(周六、周日)
Scrum Master (CSM) 中文认证课
Lance Zhang 授课
safe scrum master ssm
2月22-23日(周六、周日)
SAFe ScrumMaster 官方认证公开班
远程
Eric Liao 廖靖斌 授课
大规模敏捷顾问SAFe SPC认证课徽章
2月27-3月2日(周四-周日)
SAFe认证-SPC SAFe认证培训师导师班
上海
Eric Liao & Marsha Xue授课
scrum alliance csm认证徽章
3月1日-2日(周六、周日)
Scrum Master (CSM) 中文认证课
Lance Zhang 授课
Scrum.org专业Scrum产品负责人(PSPO)认证徽章
3月29-30日 (周六、周日)
专业Scrum产品负责人(PSPO)中文认证公开课
远程
Derek Ding 丁志润 授课
scrum alliance csm认证徽章
4月12-13日(周六、周日)
Scrum Master (CSM) 中文认证课
Lance Zhang 授课
scrum alliance csm认证徽章
5月10-11日(周六、周日)
Scrum Master (CSM) 中文认证课
Lance Zhang 授课
Scrum联盟acsm认证徽章
5月24-25日(周六、日)
高级Scrum Master(A-CSM)认证公开课
Lance Zhang 张宁宁 授课
scrum alliance csm认证徽章
6月14-15日(周六、周日)
Scrum Master (CSM) 中文认证班
Lance Zhang 张宁宁 授课
Certified Scrum Product Owner(CSPO)认证徽章
6月28-29日(周六、日)
Scrum Product Owner(CSPO)中文认证班
Lance Zhang 张宁宁 授课
safe scrum master ssm
8月10-11日
SAFe ScrumMaster 官方认证公开班
Eric Liao 廖靖斌 授课
scrum alliance csm认证徽章
10月26-27日
Scrum Master (CSM) 中文认证课
中文远程
Scott Dunn & Eric Liao 授课
领导大规模敏捷Leading SAFe认证徽章
10月19-20日
Leading SAFe领导大规模敏捷认证课
Eric Liao 廖靖斌 授课
Scrum联盟acsm认证徽章
10月19-20日
高级Scrum Master(A-CSM)认证公开课
Jim Wang 王军 授课
0
0
小时
0
分钟
0
由Scrum.org主办的 2024中国Scrum大会 8月17日将在上海开幕
0
0
小时
0
分钟
0
预约回电
留下您的手机号,我们会在第一时间联系您。
热线电话:400-696-6280
预约回电
预约成功,我们会尽快联系您。