健康的Product Backlog就像一个健康的人那样:整洁有序、组织合理、公开透明。
一个按照优先级顺序排好的敏捷Backlog不仅能够简化发版和迭代计划,还能够对团队计划去做的所有工作进行细致规划——包括客户根本不会关注的内部工作。尤其是当利益相关者和其他团队对团队提出额外的工作需求时,Backlog能够帮助他们设定期望指标,同时还能够使工程时间具备价值,产出实际可交付的成果。

什么是Product Backlog?

Product Backlog是开发团队根据路线图及需求制定的按优先级排列的列表。其中,最重要的项目显示在Product Backlog的顶部,确保团队知道这就是要先交付的成果。因此,开发团队不是按照Product Owner规定的节奏开展工作,Product Owner也不会是开发团队完成工作的驱动者。相反,开发团队根据Product Backlog中的顺序推进工作,通过看板的持续改善或scrum的迭代来完成这些项目。

专家提示:将所有工作内容存储在同一个任务跟踪器中——不要使用多个系统来管理bug、需求和研发工作项。如果是要求开发团队完成的工作,就请将其保存在单个列表中。

以两个“R”为出发点

团队的路线图和需求为Product Backlog奠定了基础。路线图计划可以拆分为几个史诗(epic),每个史诗(epic)都包含几个需求和用户故事。 让我们来看看一个名为Teams in Space的虚构产品的路线图。

由于Teams in Space网站是路线图中的第一个任务,我们希望将这一任务分解为下面三个不同的开发史诗(epic)(这里以绿色、蓝色和蓝绿色显示)和每个史诗(epic)中各自不同的用户故事。

然后,Product Owner将每个用户故事的需求,整合到开发团队的单个列表中。Product Owner可以先提供单个完整的史诗(epic)(左图)。或者,如果预订折扣航班的测试对这个系统来说更为重要时,就需要来自几个史诗的用户故事(右图)。 下面是两个例子:

哪些因素可能会影响Product Owner的优先级排序?

  • 客户优先权
  • 紧急反馈
  • 相对实施难度
  • 工作项之间的关联关系(如:如果先做完A,B会更容易)

虽然确定Product Backlog的优先级顺序是Product Owner的任务,但绝对不应该在封闭的情况下完成。实际上Product Owner会通过收集来自客户、设计人员和开发团队的意见和反馈,来优化每个人的工作量和所需交付的产品。

确保 Backlog处于健康状态

Product Backlog一旦创建,非常重要的一点就是要通过定期维护来确保它能够与开发项目的整体节奏保持一致。Product Owner在每次迭代规划会议前,都应该评审backlog,以确保优先级顺序正确无误,且上一次迭代的反馈已经被整合到本次迭代中。敏捷圈通常将Product Backlog的定期审查称为“Backlog修饰”。
如果Product Backlog的规模变大,Product Owner就需要按照短期和长期项目,将backlog进行分组。贴标签前,短期项目需要完善细节。这需要与设计和研发一起协作制定完整的用户故事、估算开发时间。较长期的项目不需要特别清晰具体,但最好能让开发团队做一个粗略的估计来判断项目的优先级。这里的关键词是“粗略”——也就是说团队完全理解并开始着手做长期项目后,所有的估算都有可能发生改变。
Backlog作为连接Product Owner和开发团队之间的桥梁。如果是由于客户反馈、精炼估算和新需求出现等原因,Product Owner可以随时重新变更backlog的优先级。但是,一旦进入开发阶段,尽量将更改的机率降到最低,因为这样会打乱开发团队的节奏并影响工作的聚焦点、流程和士气。

专家提示:一旦backlog超出了团队的长期能力,可以尝试关闭团队几乎无法达成的任务。在团队的任务跟踪器中,用特别的表述来给这些任务做标记,如“超出范围”等,以便用于稍后研究。

需要注意的非常规现象:

  • Product Owner在项目一开始就对backlog进行了优先级排序,并且在开发人员和利益相关者提供反馈意见时也没有对其进行调整。
  • 开发团队将backlog中的事项限制为面向客户的项目。
  • Backlog存储在本地,不经常共享,导致感兴趣的各方无法获取更新后的内容。

Product Backlog如何让团队保持敏捷?

经验丰富的Product Owner会严格修改其项目的Product Backlog,使其成为可靠且可共享的工作大纲。
Backlog鼓励能够让项目变得更健康的讨论和决策——因为并不是每项任务都可以排在第一位。
利益相关者可以质疑既定优先级,这是一个很好的做法。围绕优先事项进行讨论能够确保每个人的优先事项保持一致。这些讨论可以促进团队优先级一致性的文化,确保项目中的每个成员都有优先级一致的思维。
Product Backlog同时也是迭代规划的基础。所有工作项都应包含在backlog中:用户故事、bug、设计变更、技术债、用户提出的需求、回顾中的操作项等。这样做可以确保每个迭代的每个人的工作项都包含在整个讨论中。然后,在完全知晓需要完成的所有事项的情况下,团队成员可以在迭代开始前与Product Owner一起权衡此次迭代的工作项。

专家提示:Product Owner决定了backlog中工作项的优先级,而开发团队则通过backlog来决定团队开发速度。而对于希望将工作“推”给团队的新Product Owner而言,这可能是一种难以平衡的关系。

文章来源:Worktile敏捷博客

欢迎访问交流更多关于技术及协作的问题。

文章转载请注明出处。

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. Scrum 之 product Backlog

    转载:http://www.zhoujingen.cn/blog/2767.html Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product 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方法实践的西油计科党建设计与实现 个人实践流程清单 一.Alpha版本冲刺个人在SCRUM团队任务清单: 时间 我这个三天做了什么 实际解决燃尽图项目数量 我遇到了什么问题 我下一个三天 ...

  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. Some Very Good VC++/MFC Resources Besides Codeproject.com

    Some Very Good VC++/MFC Resources Besides Codeproject.com http://www.naughter.com/ (VC++/MFC huge co ...

  2. [Unity3D]Unity3D叙利亚NGUI血液和技能的冷却效果

    ---------------------------------------------------------------------------------------------------- ...

  3. go语言学习之路(一)

    Go 语言简介 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发, ...

  4. ef core code first from exist db

    目标 为现有数据库生成新的连接,允许只选择部分表 可以处理一些很怪的需求,比如EF升级EF Core(这个可能有其他解),EF.EF Core同时连接一个数据库 我遇到的问题是: 原项目是.net f ...

  5. .net与.net core学习目录

    .net C#调用python 模拟请求(模拟header/gzip解压/泛型) C#控制台关闭之前做一些操作 C# 元组.匿名对象.ref&out DataTable转换为Entity(反射 ...

  6. Bootstrap 缩略图 警告框

    @{    Layout = null;}<!DOCTYPE html><html><head>    <meta name="viewport&q ...

  7. Delphi跨平台Socket通讯库

    盒子中的souledge大侠发布了新的Socket库,以下为原文: 我之前写过一个iocp的框架,放到googlecode上了. 由于当时的delphi版本尚无法跨平台,所以该框架只能运行在Windo ...

  8. Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法

    Codejock.Xtreme.Toolkit.Pro.v15.3.1 下载 与 VS2015补丁使用方法 打算放在CSDN进行下载的,上传完成后发现资源分设置的1分,本打算赚点下载分的.在页面上没有 ...

  9. 微信小程序把玩(二十四)toast组件

    原文:微信小程序把玩(二十四)toast组件 toast消息提示框,可用在提示一些信息,比如清楚缓存给用户一个友好的提示!或操作一些请求不想让用户有什么操作,toast也可以做到因为toast显示时其 ...

  10. error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”

    解决办法: 打开项目工程----> 属性 ---> c/c++ --> 语音 --> 符合模式 修改成否即可