敏捷产品管理之发布、迭代计划_Yanelnan的博客-CSDN博客

标签: | 发表时间:2021-07-20 09:58 | 作者:
出处:https://blog.csdn.net

上篇我带你从理解产品 Backlog 最好的形式 Story 开始,经过建模、搜集、编写、估算这四个步骤,编写出有效并且粒度合适的 Story 来帮助团队成员在理解需求上达成一致。让“一张卡片”发挥出它的洪荒之力,快速挖掘需求,理解需求。本篇我会带着你用编写好的 Story 来制定发布计划、迭代计划,并且在过程中进行有效测试和监控。
在这里插入图片描述

发布计划

当 Scrum 团队按照 Sprint 的方式进行迭代交付的时候,他们更加关注的是发布,而不是项目。那么什么是一个发布呢?简单的说,它就是一个开发团队交付一个可以工作的软件给团队外部的人使用,以满足他们的某个目的。当你交付一些内容给下游的QA验证团队来做测试时不是一个发布,当你把你的软件功能和其他团队开发的功能进行集成的时候不是一个发布。当你告诉其他人:“来吧,你现在可以使用它了”,这叫做一个发布。一个发布是多个Sprint 集中交付工作的一个成果,这常常是对市场、业务和客户产生影响的标志性的时刻。
那制定发布计划的步骤有哪些呢?我来带着你一步步实践

  1. 确定优先级
    大部分软件项目以每 2 到 6 个月作为一个发布周期,一般以产品开发线路图开始规划发布。它可以是未来几个发布要关注的重点,可以是之前我在产品 Backlog 里讲到的“主题”,也可以是必须包含的功能,那如何排列出优先级呢?
    这里推荐莫斯科规则( MoSCoW ) 排列优先级的方法:
    必须有(Must ) :指系统的基本功能
    应该有 ( Should ) :很重要但短期内有替代解决方法的功能
    可以有 ( Could ) :如果没有时间可以不予考虑
    这次不会有 ( Won’t have this time ) :客户期望拥有但同时承认需要在后续发布中实现

这里需要考虑面对高风险故事和有价值的故事如何权衡。我之前讲过风险驱动开发可以让我们尽早的消除风险带来的不确定性,但是敏捷宣扬先做最有价值的部分,这样可以使项目尽早发布,提供最有价值的功能,所以在高风险和有价值之间,优先选择价值最高的需求并且充分考虑到它的风险因素。

  1. 选择 Sprint 长度
    确定完优先级之后,团队所有成员需要一起选择一个适合的 Sprint 长度,一般建议1~4周,一旦固定了 Sprint 长度,就避免在项目实施期间随意更改。
    在这里插入图片描述
  2. 从 Story 到工期
    这里要说一个概念 — 团队速率,指团队一个 Sprint 能完成的工作量。前1~2次 Sprint 先进行观察,粗略计算出不受干扰的环境下团队平均能完成的 Story 数量。如 PO 已经排好所有 Story 的优先级,并且累计卡片数量是 100个。如果经过几次 Sprint 观察,团队速率是25,那计划经过4轮 Sprint 可以发布。这里需要注意三点:
  • 速率不是人天,是经过估算的 Story 规模(上篇估算 Story 有具体讲解),比如一个 Story 估算了 1 个故事点,实际花了 2 天完成,本次 Sprint 预估完成 3 个这样的故事点,那团队速率是 3 ,而不是 6 。
  • 速率是团队内部衡量工作量的标准,不与其他团队做比较,因为每个团队对于估点的单位、规模是不一致的。
  • 速率是实际完成的 Story ,不是列在 Sprint 计划里未完成或者完成一半的点数。比如本次 Sprint 预计完成 3 个故事点,实际前两个故事点全部完成,最后一个故事点只完成了一半,那团队实际速率是 2.5 ,而不是 3 。
  1. 创立发布计划
    最后一步将 Story 按照优先级分别分配到每个 Sprint 中,这里建议将发布计划钉在墙上。这样可视化的方式让团队成员每天能看见。
    注意,不要迷信发布计划!如果在 Sprint 的过程中获得任何新的信息,应该不断调整期望和计划。
    在这里插入图片描述

迭代计划

迭代计划是发布计划的进一步计划,但只在 Sprint 开始是才开始做迭代计划。Sprint 是以功能为纬度,而发布计划是以时间为纬度。这里要引入一个敏捷里的重要实践 - Spint 会议,即整个团队通过举行 Spint 会议来为下一轮 Sprint 做计划,会议的内容包括:

  1. 讨论故事
    会议的输入是已经排好优先级的 Story 集合,团队成员可以根据自己的想法对优先级进行讨论。流程是 PO 根据优先级顺序将 Story 依次将给开发人员,开发人员可以进行提问,直到全员统一理解,并且可以从中分解出任务为止。
  2. 从 Story 分解任务
    很多人会问我,为什么要做任务分解,把 Story 继续细分成更小的故事不就好了么?在我看来,分解任务其实是敏捷即时设计(just in time design)中的一次短脉冲,它取代了 Waterfall 模式前期的设计阶段。它不是用户价值的功能描述,是作为开发人员的待办事项。这里需要注意一点,任务卡片的模式可以不参照 Story 卡片的格式,只要能表示出完成 Story 的最快途径就好。
  3. 开发人员承担每个任务的职责
    开发人员可以在分解任务之后对任务进行认领,理想的任务卡片标准是一个任务卡片对应一个责任人一个人天,责任人最好是写在卡片旁边,即使是结对编程,每个卡片也需要有一个责任人。
  4. 讨论过所有故事,开发人员单独估计承诺他们的任务
    每个开发人员对认领的任务进行估算,如果 Sprint 时间内估算超过了开发人员所能承担的工作量,有以下几种选择:请求团队成员接受一些任务;与 PO 讨论,放弃其中一个 Story (或者是分解后的一部分)

小结

本篇我们将项目分成一系列 Sprint 来做发布计划,每轮 Sprint 中安排一定的 Story 和任务。一轮迭代完成的故事点就是团队的速率。下篇我带着大家详细了解怎么根据不同速率的可视化管理工具,测量并监控速率。

相关 [产品管理 迭代 计划] 推荐:

敏捷产品管理之发布、迭代计划_Yanelnan的博客-CSDN博客

- -
上篇我带你从理解产品 Backlog 最好的形式 Story 开始,经过建模、搜集、编写、估算这四个步骤,编写出有效并且粒度合适的 Story 来帮助团队成员在理解需求上达成一致. 让“一张卡片”发挥出它的洪荒之力,快速挖掘需求,理解需求. 本篇我会带着你用编写好的 Story 来制定发布计划、迭代计划,并且在过程中进行有效测试和监控.

敏捷流程中的产品管理

- - 人人都是产品经理
对于敏捷开发,讲它的价值、方法的内容已经够多. 而对于需求、设计、测试这三个环节,如何适配并融入敏捷开发的流程,却着墨寥寥. 本文主要从产品设计及需求表达两个方面,介绍如何在敏捷开发的背景下,保证产品设计不挖坑,并为开发人员提供的高效支撑. 文中所述适用于中小规模的团队,产品形态以web端非成熟期产品为最匹配.

产品管理:用流程规避风险

- Dynamic - 所有文章 - UCD大社区
最近一直在跟的一些项目,过程中出现了一些反复,原因有很多. 深入分析一下问题根结,希望以后能避免. 关键词:产品负责制、确认层级机制、产品脊梁、靠谱. 1、项目初期,产品原则已经开会统一、皆大欢喜,但中期却在产品原则上出现分歧. 甚至在产品面临上线时,还有人为该产品赋予新的定位. 2、产品设计环节中,在产品需求和定位已确认的情况下,纠结在“不符合需求、偏离定位”的设计细节,僵持不下、浪费时间、拖垮精力.

产品管理的前世今生—昨天

- Frank Cai - 《程序员》杂志官网
作为“产品管理的前世今生”系列文章首篇,本文介绍了产品管理体系所依赖的理论基础、所属的学科范畴、经历的阶段以及一些常识性的概念错误. 说到产品管理体系的诞生,问10个产品管理者,会有9个告诉你宝洁的故事. 确实如此,国内几乎所有的产品管理者,不分行业,都无一例外地知道产品管理者诞生于宝洁公司,并以此作为工作的标杆而津津乐道.

产品管理过程的核心管控方法

- - CSDN博客推荐文章
产品管理过程是一个复杂过程,好的管理者都知道如何抽丝剥茧,让复杂的过程简单化. 最近也有很多人问我,我们在产品管理过程中有什么好的思路可以分享. 首先,我相信不同的PM有不同的方法,没有所谓的一定最好,只有通过实际环境使用过才能逐步形成自己靠谱的方法. 抽出一些时间,我把我认为较为有效的经验大致整理了一下分享给大家.

《Scrum敏捷产品管理》读书笔记

- - CSDN博客研发管理推荐文章
提到产品管理,在Scrum中,首先就想到的角色是产品负责人. 因此我们先来看看产品负责人(Product Owner),以及这个角色的特征:. 然后对于大型产品而言,一个产品负责人是不够的,所以存在产品负责人扩展的问题. 对于产品负责人,常见的问题有:. Kano model (卡诺模型)可以帮助我们选择合适的功能,开发出吸引人的产品.

迭代式开发技术

- - CSDN博客研发管理推荐文章
    迭代是一开发种技术,用来把系统功能传递到一系列的增量的完整版本,每个版本一个特定固定的时间段被开发,该时间段称之为迭代. 图中颜色代表每次开发每项活动所占的比重不同. 1、在进行大规模的投资前,就解决了关键的风险问题. 2、使的早期用户反馈在初始迭代中就能出现. 4、各个目标里程碑提供了短期的焦点.

文章: 从关系数据库向NoSQL迁移:采访Couchbase的产品管理主管Dipti Borkar

- - InfoQ cn
尽管关系数据库用于存储数据已经有几十年的历史,而且对很多用例而言,这仍然代表着一类可行的方案,但NoSQL正在成为人们当前的选择,尤其是考虑可伸缩性和性能的时候. 本文是对Couchbase的产品管理主管Dipti Borkar的采访,主要谈到了从关系数据库向NoSQL迁移的挑战、收益和过程. QCon北京2013,架构设计,大数据云计算等十八项专题,1月6日前报名7折.

敏捷开发-快速迭代

- - CSDN博客研发管理推荐文章
今天跟大家分享的是“敏捷开发、快速迭代”. 我们大都采用的是“瀑布开发模式”,有了问题,就得返工,虽然最终的产品会比较齐全完善,但是开发周期太长,开发人员会产生排斥,甚至厌恶的心理. 经过YH系统的开发,也且生体会到了这一弊端. 借鉴敏捷开发模式,来改善软件开发过程,提高项目的开发效率. 要想借鉴,首先得弄懂以下3个问题.

二叉树迭代器算法

- - 酷壳 - CoolShell.cn
二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用. 但是,仅有遍历算法是不够的,在许多应用中,我们还需要对遍历本身进行抽象. 假如有一个求和的函数sum,我们希望它能应用于链表,数组,二叉树等等不同的数据结构. 这时,我们可以抽象出迭代器(Iterator)的概念,通过 迭代器把算法和数据结构解耦了,使得通用算法能应用于不同类型的数据结构.