专栏首页WorktileProduct Backlog的深入解读

Product Backlog的深入解读

健康的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敏捷博客】查看哦~

本文分享自微信公众号 - Worktile研发中心(Worktile-RD),作者:BlackMan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何改进团队流程,最大限度发挥Scrum的优势?

    在充满不确定性且不断变化的环境中交付复杂的产品会涉及到很多方面。因此,我们尝试简化过程并聚焦具体的行动。 下面是改进团队流程的5个步骤,希望能对你的团队有所帮助...

    Worktile
  • 谈谈团队内部的角色与分工

    关于敏捷开发的问题,被提及最多的便是关于团队和人员的问题。定义里会告诉你:Scrum 团队是自组织、跨职能的完整团队。那么究竟怎样的团队才是自组织的团队,什么样...

    Worktile
  • 如何有效利用组织发挥Scrum的优势?

    Scrum是一种能使业务变得敏捷的框架。而组织恰恰需要变得敏捷。只是,组织本身有时候并没有足够的能力来帮助Scrum团队的成长,甚至还会阻碍Scrum团队的成长...

    Worktile
  • nginx proxy cache配置参数解读

    本文主要解析一下nginx ngx_http_proxy_module中的cache相关配置参数。

    codecraft
  • Vim魔法堂:认识快捷键绑定

    Brief                               习惯在VS上按<F5>来编译运行程序,刚用上VIM上就觉得无比的麻烦,而随着对VIM的学...

    ^_^肥仔John
  • 『工具』修复windows下各种.dll缺失或者其他组件

    2016-03-0413:45:50 发表评论 417℃热度 DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿...

    timhbw
  • teg nginx根据header分流

    同一域名路径根据不同header头分发到不同节点,以此来做灰度发布。 主要配置 通过 http_newversion 判断版本,转发至不同upstream。

    葫芦
  • framework7框架中tab页面下拉刷新方案

    最近在使用framework7框架开发web app,发现在tab页面中直接定义多个ptr-content会导致异常。最后绑定用户点击tab的事件,动态解绑/绑...

    TLingC
  • Facebook宣布重组人工智能团队 AI部门架构迎来剧变

    Facebook内部人工智能(AI)研究部门负责人伊恩-勒坤 BI中文站 1月24日报道 据消息灵通人士透露,长期掌管Facebook人工智能研究部门(以下简称...

    企鹅号小编
  • 新模型预测新冠疫情数据(连续8日准确)

    后端技术探索

扫码关注云+社区

领取腾讯云代金券