本文转自:Scrum中文网

原文链接:http://www.scrumcn.com/agile/scrum/10263.html

Sprint计划会议的准入是:进入本Sprint的产品Backlog条目已经完成梳理,符合INVEST原则。但在实践中,我们发现这个原则无法直接使用。

我们先看看一般的解释。

一个好的用户故事应该遵循INVEST原则:

  • 独立性(Independent)— 要尽可能的让一个用户故事独立于其他的用户故事。
  • 可协商性(Negotiable)— 一个用户故事的内容要是可以协商的,用户故事不是合同。
  • 有价值(Valuable)— 每个故事必须对客户具有价值(无论是用户还是购买方)。
  • 可以估算性(Estimable)—开发团队需要去估计一个用户故事以便确定优先级,工作量,安排计划。
  • 短小(Small)— 一个好的故事在工作量上要尽量短小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个迭代或Sprint中能够完成。
  • 可测试性(Testable)—一个用户故事要是可以测试的,以便于确认它是可以完成的。

如果仅仅从字面意思上看,INVEST好像是用户故事定义和拆分的原则,确实没办法指导冲刺的准入。

如果我们换一个角度,不是从特性解释而是从执行要求的角度,来看待INVEST原则,就可以用于控制迭代的准入:

  • 独立性(Independent)— 指的用户故事间的依赖控制程度。在进入迭代前,用户故事间的依赖程度必须是已经解耦到了这样一种程度:可以在一个迭代内实现所有强依赖的用户故事。如果不能在一个迭代内实现所有强依赖的用户故事,则意味着需要对用户故事重新进行定义和拆分。
  • 可协商性(Negotiable)— 指的是PO和Team对用户故事已经沟通到基本达成一致理解的程度,Team对用户故事的理解已经基本上没有什么疑问。如果还存在疑问,则说明沟通未达成一致。
  • 有价值(Valuable)— 指的对当前所有用户故事的价值,在PO和Team间已经理解达成一致,以便确认下一个迭代的目标和优先级。这里我想特别强调的是PO团队对技术故事的理解,尤其是技术债的理解,须知技术债的修复成本随着时间呈指数增长的。我们往往容易出现的一个问题是:由于非技术出身,PO团队不理解目前产品中已经欠下的技术债,而导致技术债始终无法得到偿还,进而变得修复成本越来越高。在迭代前,PO和团队应该一起审视下技术债的情况,以及确认是否对其价值达成一致。
  • 可以估算性(Estimable)— 有两个因素会影响到估算的准确性:故事太大、相关知识的缺乏。如果让我们估算一下一栋大楼的面积,我们很难估算;但是如果让我们估算一下一个房间的面积,我们则会估算得比较准确;所以要确保估算的相对准确,必须控制故事的规模。如果我们对故事的理解存在不足,或者技术实现方案了解不够,同样也会导致估算估算得非常不准。这就要求我们确认故事的规模是否已经足够小,以及确认我们的团队是否已经对故事有足够的了解,并对技术实现方案基本达成一致。
  • 短小(Small)— 要进入迭代的故事粒度必须是足够短小的,按照要求是应该能够在1-2天完成。我们应该确认故事的粒度是否已经在此大小范围。

可测试性(Testable)— 可测试性的含义是在明确的输入下有明确的输出,在迭代前我们要确认的是:是否所有用户故事都已经完成测试要点的讨论和整理。

基于以上对INVEST原则的理解,我们就可以整理出迭代准入的准则:

  • 独立性(Independent)— 强依赖故事的用户故事,是否可以在一个迭代内同时实现。
  • 可协商性(Negotiable)— Team是否理解用户故事,无疑问。
  • 有价值(Valuable)— PO团队是否了解当前欠下的技术债的价值。
  • 可以估算性(Estimable)— 可能纳入下一个迭代的用户故事是否可以一个迭代内完成;Team是否对技术实现方案已经达成一致理解。
  • 短小(Small)— 确定要纳入下一个迭代的用户故事是否可以在1-2天内完成。
  • 可测试性(Testable)—确定要纳入下一个迭代的用户故事是否已经完成了测试要点的讨论和整理。

本文作者:李洁(Jerry Li)Scrum中文网资深敏捷顾问,CSM,敏捷教练

本文转载自:Leangoo.com​

INVEST原则的应用相关推荐

  1. 划分用户故事(user-story)的原则

    在敏捷开发过程中是通过用户故事来将需求具体化成可以进行迭代开发的一个个现实的可见的开发任务.因此在敏捷软件的开发过程中,用户故事的划分对于迭代和开发起着举足轻重的作用. 用户故事从其名字来看是站在用户 ...

  2. 打造Worktile敏捷开发管理工具的思与惑

    从2019年初,我们团队准备开发一款适合研发团队使用的敏捷开发管理工具,那时候我们也在思考,到底什么样的工具才算是优秀的研发管理工具,研发管理的场景.方法和流派有很多,市面上关于研发管理工具的产品也是 ...

  3. 用Leangoo敏捷开发工具如何管理用户故事?

    用户故事(英语:User story)是指从用户的视角来表达软件需求的一种方式 用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述.用户故事可以帮助研发团队理解真正的用户需求是什么, ...

  4. 使用Leangoo共享脑图/思维导图做多级需求管理

    上篇介绍了如何使用Leangoo思维导图实现影响地图.本文,将介绍如何用Leangoo脑图来做多级需求管理. 什么是Epic? Epic是史诗故事,通常需要花费多个Sprint来开发和测试,才能完成最 ...

  5. 如何使用敏捷工具Leangoo脑图做Epic/ Theme /Story 管理

    Leangoo 敏捷开发工具最新发布了Leangoo的思维导图功能.Leangoo脑图是一个共享的思维导图,它具备了思维导图的所有属性,但它绝不仅仅是一个思维导图,那么Leangoo脑图有什么不一样呢 ...

  6. 谈谈Backlog梳理活动

    文章转自:Scrum中文网 原文链接:http://www.scrumcn.com/agile/scrum/10247.html 刚开始尝试Scrum的团队,往往都会碰到一个问题,那就是Sprint计 ...

  7. SPIDR - 完美分割用户故事的五种简单技巧

    根据INVEST原则,对用户故事的要求是它必须"足够小"或具有合适的大小.用户故事应该足够小,可以在冲刺中完成6-10个.当然这也取决于开发团队的速度.为了原则上实现这一目标,必须 ...

  8. PMCAFF | 产品经理如何设计敏捷开发流程?

    作者 | 耗子吴 最小可行化产品 硅谷创业家 Eric Rise 在其著作 <精益创业> 一书中提出了 "精益创业"(Lean Startup)的理念,其核心思想是,开 ...

  9. NO.106 需求的状态、研发阶段及注意事项。

    为什么80%的码农都做不了架构师?>>>    禅道项目管理软件设计的需求有两个字段来跟踪它的变化,一个是需求的状态字段,一个是需求的研发阶段字段,下面来看下这两个字段. 一.需求的 ...

最新文章

  1. matlab2013 a/b 找不到vs2013 c++ 编译器 解决方案
  2. Android开发--圆角按钮和绘制直线的实现
  3. captura录屏发生了一个错误_录屏教程的方法有哪些?学会这两种轻松搞定
  4. Python的介绍与安装
  5. 实训笔记(一) 创建文件夹(SDCard)
  6. Nginx学习笔记(一)
  7. MFC中动态创建控件以及添加事件响应
  8. Linux SPI框架
  9. 基础算法 —— 模拟思维
  10. mysql mycat 路由规则_Mycat水平拆分之十种分片规则
  11. Linux 命令(3)—— sed 命令
  12. 【LoadRunner】解决LR11无法录制Chrome浏览器脚本问题
  13. java电器类代码_阅读下列说明和Java代码,将应填入(n)处的字句写在对应栏内。...
  14. android 版本号命名规范,软件版本号命名规则
  15. linux kvm usb设备,KVM虚拟机上关于宿主机的USB设备使用问题探究
  16. 基于多尺度稀疏表示的视网膜OCT图像阴影修复
  17. MusicFree一款小而美的播放器
  18. oracle关于索引
  19. 【MFC进阶】05文件处理CFile
  20. oracle参数配置oci,Linux下OCI环境配置

热门文章

  1. A-棋盘问题(dfs)
  2. poj3678详解(2-SAT)
  3. axios的this指向_vue使用axios中 this 指向问题
  4. mysql+存储过程+删除重复数据_mysql 存储过程 删除重复
  5. #HTTP协议学习# (二)基本认证
  6. 夏天来了,你的数据中心应该跟着热起来
  7. Linux的文件权限
  8. 解决导入.vdi文件时报“uuid is exists”错误
  9. MySQL8索引篇:性能提升了100%!!
  10. 微服务时代组件化和服务化的抉择