转载:http://www.zhoujingen.cn/blog/2767.html

Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product backlog的重要性,但是我们如何制定和展现它,如何评定优先级,如何进行初始评估?下面我将介绍和product backlog相关的一些问题。

Scrum之 流程和术语介绍了流程,这里主要介绍第一个最重要的工件 Product Backlog。它是Scrum的核心,也是一切的起源。它是由Product Owner负责制定的一个按照重要性的级别排序了的故事列表。

  • 什么是Prodcut Backlog

backlog英文意思为“积压的工作”。 product backlog是一个具有优先级的需求列表, 并对每个需求进行了粗略的估算。在Scrum中表示可以预知的所有任务,包括未细化的产品功能要求、Bugs、缺陷、用户提出的改进、具竞争力的功能及技术升级等,按优先级定义出来,这些任务可能不是完整的,甚至可能随时会更改或添加。Prodcut Backlog永远处于不完整状态,它随着产品及其使用环境的变化而变化,它是动态的,管理层不断对之做出改变,确定产品需求,保证产品适用性、实用性和竞争性。

  1. 在列表上层的故事首先被团队完成
  2. Product Backlog不是制定一次就完了的,它是动态的,需要持续的被修订,可能会出现故事的增加、删除和修改、合并或者拆分
  3. 任何一个Backlog的目标都是:它应该足够短、级别足够高,无特殊情况不需要修改。如果Backlog改变了,那么我认为你应该假设你的 Backlog错了,而不是需求变更了。变更需求通常意味着Backlog太长或者太详细,比如把复杂算法和逻辑也写入了backlog中了,要不就是写 的太含糊不清了,需要花费太多的时间猜测它究竟讲的是什么。

这里有一个别人做的,大家可以参考一下 product sprint示例

Make the Product Backlog DEEP

  • Prodcut Backlog有什么用

产品backlog根据用户价值罗列所有即将在产品中开发的功能,通过简洁的展示需要实现的功能,我们可以对项目进行规模上的估算,确定发布计划和迭代计划。产品backlog可以帮助我们对将要做的事情有个整体的认识,以及可以知道我们现在的状态。如果没有backlog,我们将不知道现在和将来产品做成什么样子,由于对产品目标的不明确,当然也不知道什么时候可以发布产品,或者发布的产品能给客户带来什么价值。

  • 谁提供product backlog的需求

产品负责人与客户最近,他最清楚产品应该做什么样子,所以product backlog应该由Product Owner来制定。里面的需求由产品负责人或者客户制定,有时候Team里的需求分析人员可以和产品负责人或客户一起定义需求。制定后,由Scrum master和Team协助产品负责人修订并进行初始评估,里面的需求在sprint计划会议将进行更进一步的讨论。

  • 什么时候会修改product backlog

如果一个列表太长或者内容陈旧,product backlog的浪费远大于价值本身,所以我们必须不断的维护产品backlog。产品backlog由产品负责人提供,与Team进行规模估算时,可能会拆分合并或者添加删除故事,初始估计也由Team进行评估提供估计值。产品所有者通常会向开发小组提出自己确定的优先级顺序,而小组也可能会请产品所有者根据他们对主题的评估对这个顺序作出少量调整。

  • 怎么写故事

一般按照轻量级的故事来进行描述需求。用户故事是最基本的设计单元,它是从系统用户或者客户的角度出发对功能的一段简要描述。用户故事的形式很自由,没有什么强制性的语法。但是,按照大致符合这样一个形式来考虑 用户故事是比较有益的:“作为【用户的类型】,我希望可以【先这样做,然后那样做,就应该得到…的结果】以便【业务价值】。”以这样的模作为例子,可以得到一个用户故事说:“作为购书者,我希望可以根据ISBN来找到一本书,以便能更快的找到正确的书。”在做用户故事时,需要注意每个用户故事用的是用户的语言,它只描述一个功能(feature),而且每个用户故事的开发周期不要太长(1-5天)

我们不需要一开始对所有的故事都进行详细的描述,但计划放在下一个sprint中的故事应该比较清楚。可以按照硝烟一书中的表格来写backlog的故事:

  • ID为一个唯一标识,确定后最好固定不变,在其他工作或者文档中想引用故事就使用这个ID来引用
  • Name2到10个字,通过简单的描述来说明故事,如果要很多字才能表达这个故事,那很有可能这个故事太大,或者不清楚
  • 重要性 这个优先级决定了sprint选择的故事,优先级越高的越早实现
  • 初始估算 这个由Team来根据故事描述内容来估算,产品负责人讲解完故事后,Team对不清楚的进行询问,大概了解后进行粗略估算。从估算的角度出发,故事不应该太短,但也不能太过于详细,不需要把具体的规则和算法写进去。
  • How do demo 从用户视角,从操作层面进行讲解这个故事如何通过软件来演示,也可以作为一个简单的测试用例了。重要性高的backlog条目都要填写”如何演示“。
  • Notes相关信息、解释说明和对其他资料的引用等,一般都非常简短。

有时我还会增加一个分类列来标识出故事的主题,通过主题来从更大视角来查看需求主要内容,后期也可以根据主题的优先级来初始确定故事的优先级。

Scrum 之 product Backlog的更多相关文章

  1. 0511团队项目2.0--产品product backlog

    介绍Scrum之product backlog Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product backlog的重要性,但是我们如何制定和展现它,如何评定优先级,如何进 ...

  2. 白话SCRUM 之二:product backlog

    在SCRUM方法中明确要求了3个文档: 1 product backlog 2sprint backlog 3 burn-down chart Product backlog 中列举了本项目应该实现的 ...

  3. Product Backlog:终极任务清单

    健康的Product Backlog就像一个健康的人那样:整洁有序.组织合理.公开透明.一个按照优先级顺序排好的敏捷Backlog不仅能够简化发版和迭代计划,还能够对团队计划去做的所有工作进行细致规划 ...

  4. 什么是产品待办列表?(What is Product Backlog)

    正如scrum指南中所描述的,产品待办事项列表是一个紧急而有序的列表,其中列出了改进产品所需的内容.它是scrum团队承担的工作的唯一来源. 在sprint计划 (Sprint Planning)活动 ...

  5. How to write a product backlog step by step

    一般来说,制定发布计划是在尝试回答这个问题:“最晚到什么时候为止,我们可以交付这个新系统的1.0版本“ 下面是验收标准规则的一个例子: 1.  所有重要性>=100的条目都必须在1.0版中发布. ...

  6. Product Backlog

    会议时间:周四中午13:20-14:20 会议地点:寝室 讨论了如何根据用户故事来写排球的程序.如何实现单机模式的基本加分判断胜负的功能.并选出项目测试人员.然后两个人一个小组进行程序基本功能的开发. ...

  7. !! Scrum之 流程和术语

    !!Scrum之 流程和术语 http://www.cnblogs.com/zhoujg/archive/2009/07/15/1523680.html 以下将对一些术语进行简单介绍,以便大家现在开始 ...

  8. 微软Team Foundation Service 的Scrum模板中的Feature和Backlog Items 的区别【转载】

    Features help us plan work better in Team Foundation Service Scrum process [原文:http://www.nsilverbul ...

  9. [团队项目] Scrum 项目 2.0 产品BACKLOG

    Scrum 项目 2.0 阅读教材第8章,8.1~8.3节 P157~168,了解获取用户需求的办法,每个组可以选择一二加以应用. 8.4节P168-171 查阅NABCDA模型的具体说明. 2.SC ...

随机推荐

  1. Ubuntu 根目录作用

    Ubuntu的根目录下存在着很多的文件夹,但你知道他们都存放着哪些文件呢?这些是深入了解Ubuntu系统必不缺少的知识,本文就关于此做一下介绍吧. /bin/    用以存储二进制可执行命令文件,/u ...

  2. Day_05

    01.error接口的使用 package main import "fmt" import "errors" func main() { //var err1 ...

  3. postman---postman自动发博客

    前面写了一篇如何通过Cookies值去登录博客园,今天我们来通过登录博客园之后,我们进行通过Postman自动写博客 自动写博客 1.打开Postman.填写博客园对应的Cookies: 2.抓取编写 ...

  4. Java重定向标准输入/输出

    在System类中提供了三个重定向标准输入/输出的方法static void setErr(PrintStream err) 重定向“标准”错误输出流static void setIn(InputSt ...

  5. Codeforces Round #604 (Div. 2) 练习A,B题解

    A题 链接 思路分析: 因为只需要做到相邻的不相同,利用三个不同的字母是肯定可以实现的, 所以直接先将所有的问号进行替换,比如比前一个大1,如果与后面的冲突,则再加一 代码(写的很烂): #inclu ...

  6. leetcode 排序问题

    1.堆排序 //大顶堆的构造,传入的i是父节点 void HeapAdjust(int k[],int p,int n) { int i,temp; temp = k[p]; * p; i <= ...

  7. [C7] Andrew Ng - Sequence Models

    About this Course This course will teach you how to build models for natural language, audio, and ot ...

  8. 使用Appium进行微信公众号自动化测试

    查看Android的webview视图版本:手机链接电脑后在电脑Chrome打开页面chrome://inspect/#devices查看Android的Chrome内核版本     下载与该版本相对 ...

  9. 剑指Offer-8.跳台阶(C++/Java)

    题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果). 分析: 实际上就是斐波那契数列的一个应用,青蛙跳上n级台阶的跳法数等于跳 ...

  10. 第02组 Beta冲刺(5/5)

    队名:無駄無駄 组长博客 作业博客 组员情况 张越洋 过去两天完成了哪些任务 验收了小程序的主要功能 制作Beta展示所需要用到的视频 制作Beta展示PPT 准备Beta答辩 提交记录(全组共用) ...