转载: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. Apache(基于IP地址)

    1.Apache的安装 (1)先用命令“cat /etc/passwd|grep apache”,查看有有没有Apache ①如果有Apache,我们就不用再安装 ②如果没有,我们就安装一下 (2)使 ...

  2. [C4W2] Convolutional Neural Networks - Deep convolutional models: case studies

    第二周 深度卷积网络:实例探究(Deep convolutional models: case studies) 为什么要进行实例探究?(Why look at case studies?) 这周我们 ...

  3. [C7] Andrew Ng - Sequence Models

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

  4. 用java写爬虫

    今天学了怎么用java代码获取要爬取页面的源代码,因为只写了一点,所以接下来会陆续跟新此文章 首先,看一下我写的代码 这就是爬取下来的网页源代码,第一张图刚刚补注释有个注释写错了,别误导你们就行,接下 ...

  5. MongoDB Shell基本操作(五)

    官网文档:https://docs.mongodb.com/ 1. 创建数据库 #如果数据库不存在,则创建数据库,否则切换到指定数据库 use DATABASE_NAME 示例: use runoob ...

  6. 9.Go-反射、日志和线程休眠

    9.1反射 在Go语言标准库中reflect包提供了运行时反射,程序运行过程中动态操作结构体 当变量存储结构体属性名称,想要对结构体这个属性赋值或查看时,就可以使用反射 反射还可以用作判断变量类型 整 ...

  7. c# lock 锁

    lock语句 lock 语句获取给定对象的互斥 lock,执行语句块,然后释放 lock. 持有 lock 时,持有 lock 的线程可以再次获取并释放 lock. 阻止任何其他线程获取 lock 并 ...

  8. Erlang语言基础总结

    1.=操作符(模式匹配) 当看到一个表达式像X = 123时,它的意思看似“将整数123赋予变量X”,但这种解读是不 正确的.=不是一个赋值操作符,它实际上是一个模式匹配操作符.与其他函数式编程语言一 ...

  9. iview 组件的额外传参问题记录

    在使用iview组件的时候,经常遇到额外传参的问题,一般情况下可以使用以下2种方法都可以解决: 1.直接在方法后面输入参数,有的时候借用$event获取当前dom信息,在某些特定情况下可以将参数绑定在 ...

  10. Django学习笔记(19)——BBS+Blog项目开发(3)细节知识点补充

    本文将BBS+Blog项目开发中所需要的细节知识点进行补充,其中内容包括KindEditor编辑器的使用,BeautifulSoup 模块及其防XSS攻击,Django中admin管理工具的使用,me ...