第6章 计划:如何制定敏捷开发计划

news2024/12/20 11:53:01

上一章:第5章 自组织:敏捷团队如何开展自组织?

在上一章,我们介绍了如何建立自组织团队,本章我们将介绍如何制定一份好的迭代计划。 经常有人问我,敏捷核心是“拥抱变化”,那为什么要做计划呢?这是因为敏捷和所有项目管理都一样,我们需要行动方案来指导我们达成未来的目标,计划可以帮助我们有序地推进,但是敏捷的计划频度相较于传统开发更加高频,敏捷的计划更加灵活,我们称之为迭代计划。

在敏捷中,我们要将上一个迭代中用户的反馈加入本次迭代当中,也就是说敏捷落地是一个闭环,从最初的演进阶段,根据待办事项列表选择优先级最高的任务,接着实施阶段去完成该任务,然后反馈阶段收集用户体验得到他们最真实的想法,最后优化阶段根据之前的反馈进行优化,这四个阶段周而复始帮助我们的产品趋向最佳,不断提高用户的满意度。在整个过程中,迭代计划用来帮助我们更加高效地推进。

知道了这些,我们还要复习一下之前提到的“时间盒”概念,时间盒是一种管理方法,即在预算时间内对完不成的功能进行删减或者延迟,而不是拖延预算的时间。一个好的迭代计划应该是在时间盒内尽可能排进价值最高的代办事项。

1.制定迭代计划

具体制定迭代计划时,我必须要考虑到以下这些方面。

1.确定迭代周期,这通常由团队自行决定,一般在 1~4 周之间。迭代周期主要取决于两个因素:敏捷成熟度(指团队敏捷实践的能力)和自动化程度,这两种因素程度越高,迭代周期越短,反之越长。

2.确定一个迭代内的关键工作项,比如什么时间进行需求评审、什么时间测试。

3.固定关键工作项的发生时间,比如我们用两周迭代,然后在第二周的周一进行需求评审,周二开始测试。我们通常用表格将固定关键工作项的发生时间列出来,放在团队都能看到的位置,大家需要共同遵守。

4.培养团队的工作节奏感,大家根据上述表格来安排每周固定的会议,如需求评审会、迭代回顾会、迭代计划会,等等。

5.如果待办事项的紧急程度不一致,可以在一个时间盒中设置多个发布节点,但是一般不超过 2 个。如果有紧急需求,需要在迭代内进行发布,我们也可以灵活调整,让其发布,原则上不超过2个,因为迭代内太多次发布,整个节奏就会乱掉,那迭代节奏也就没有意义了。

2.迭代计划会议

既然迭代计划如此重要,我们在实际项目推进中就需要进行相应的迭代计划会议,与团队成员共同商议出一份大家都认可的迭代计划才可以事半功倍。那么我们该怎么举办一场迭代计划会议呢? 我们要考虑到这几点因素。首先是确定会议目的,即通过会议我们要明确即将要开展的工作内容,讨论明晰待办事项的相关信息;其次是确定会议参与人,一般 Scrum Master 是组织者,PO 和 跨组织职能团队均要参与;接着是会议议程,这个过程比较相对复杂一些,我们稍后会详细说明;再次是通过会议确定迭代目标,我们可以把此目标放在团队显眼处同步;最后是输出,即将结果做成迭代代办事项列表,这其实是待办事项列表的子集,因为它是从待办事项中选出的优先级最高的事项。

2.1会议议程

通常情况下,迭代计划会议的议程分为两个部分,What 和 How。 我们先来看第一部分,What 就是明确要做什么。在这个部分我们需要换位思考,站在用户的角度,作为用户去使用产品,设身处地地从场景中提炼用户的痛点,这个过程也叫作讲故事。 我们知道在待办事项列表中,PO 会使用 MoSCoW 法则对任务来进行基于客户价值的优先级排序。此时我们就要从待办事项列表中,选出既能满足用户痛点,同时优先级较高的用户故事,然后支持用户场景落地,也就是实现这个功能。

知识补充,MoSCoW 法则:
Must:必须要做的—功能集或Feature(特性)是系统的基础,没有了它们,系统将无法work或没有价值。
Should:应该做的—我们应该有的功能,这样子系统才可以正常使用,如果没有他们,系统将非常非常难用。
Could:可以做的—产品的附加值,加分亮点项。
Would not:不要做的–这个产品不需要的功能。
值得注意的是:待办事项中标为 Must、Should 的事情我们要保证完成,Could 优先级的我们争取未完成 ,在发生重要变更的时候,我们牺牲优先级为 Could 乃至 Should 的事情保证变更。

其次,How 就是明确我们怎么做,在这个部分我们需要先对选出来的用户故事进行工作量估算,我们可以采用故事点数和理想人天数来估算工作量;然后分解任务,遍历所有的用户故事,将其分解成团队成员可执行的任务,如分成前端任务、后端任务、联调任务、测试任务等,用户故事分解遵循谁认领谁分解的原则;最后团队承诺,任务分配到成员后,每次成员要承诺保质保量,尽可能做到不延期完成任务。

2.2两种估算方式

理想人天数估算,这是一种个体估算。具体是指假设没有任何突发事件的理想情况下,一个开发人员完成该故事所需的工作量。这种方式实施起来比较简单,完成一轮估算所需时间较短,因为每个人都很熟悉自己的工作效率,所以这种估算方式比较主流。
但是这种方式没有考虑到差异化,就像小马过河一样,每个人的工作效率是不同的,一旦估算的成员与执行的成员不是同一个人,那执行时的工作量偏差可能很大。

故事点数估算,这是一种集体估算,敏捷更推荐使用。具体是这样操作的:

  1. 建立团队共同认可的估算基准值,即团队对同一个需求要有一致的理解。这个基准值可以是完成一个需求的页面数,也可以是对数据库的增删改查次数,也可以是完成操作的步骤,一般完成单位功能基准值为 1;
  2. 对同一个需求,每位成员都要给出自己的评估值,然后通过估算扑克方法同时呈现,因为是相对估算,我们基于斐波那契数列,把故事点数设置为 0,1,2,3,5,8,13,20,40,60。
  3. 估算最低和最高的成员说明自己估算的理由。比如 A 认为这个需求点数是 60,因为 需求里涉及很多算法,而团队之前没有做过任何算法的工作。 而 B 认为需求点数是 5,因为他知道有第三方的算法工具可以直接引用。综合这些因素,团队考虑到 B 想法的可行性,最终决定对该需求评估是 5 个故事点;
  4. 对同一个需求进行 2 到 3 轮估算,通常用 5 分钟左右就可以最终确定该需求的估算;
  5. 重复第 2、 3 步,直到估算完本次迭代所有需求的工作量。

在这个过程中,大家都参与其中,所以最后的结果集合了各方视角,在团队建立了一致的理解,更重要的是增加了准确性。但是这种估算时间较长,两周迭代一般估算得花掉两个小时左右。
根据我的经验,对于刚接触敏捷的团队,可以使用理想人天进行估算。对于运用敏捷一年以上的团队,可以尝试着用故事点估算,这样团队更容易对需求达成一致。

3.总结

本章我们介绍了如何制定敏捷迭代计划。下一章将介绍如何执行计划以及监控执行过程。如果你有敏捷管理方面相关的疑问,欢迎你在留言区留言与我一起讨论,本系列文章会持续更新,请关注博主以待后续。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262692.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Latex+VsCode+Win10搭建

最近在写论文,overleaf的免费使用次数受限,因此需要使用本地的形式进行编译。 安装TEXLive 下载地址:https://mirror-hk.koddos.net/CTAN/systems/texlive/Images/ 下载完成直接点击iso进行安装操作。 安装LATEX Workshop插件 设置VsCode文…

[创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论

目录 一、价值转移理论 1.1. 什么是价值? 1.2. 什么价值创造 (1)、定义 (2)、影响价值创造的因素 (3)、价值创造的三个过程 (4)、价值创造的实践 (5&…

如何在单选按钮中添加图标和文字

文章目录 1. 概念介绍2. 使用方法3. 示例代码我们在上一章回中介绍了Radio Widget相关的内容,本章回中将介绍RadioListTile Widget.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在这里介绍的RadioListTile和上一章回中介绍的Radio类似,不同之处在于RadioListTile组…

启动异常:Caused by: java.lang.IllegalStateException: Failed to introspect Class

背景 今天项目需要,导入一个本地的jar包,在pom文件,添加自定义依赖后,并通过mvn命令: mvn install:install-file -Dfilejar包的位置 -DgroupId自定义的groupId -DartifactId自定义的artifactId -Dversion自定义的ver…

clickhouse-副本和分片

1、副本 1.1、概述 集群是副本和分片的基础,它将ClickHouse的服务拓扑由单节点延伸到多个节点,但它并不像Hadoop生态的某些系统那样,要求所有节点组成一个单一的大集群。ClickHouse的集群配置非常灵活,用户既可以将所有节点组成…

Python机器学习算法KNN、MLP、NB、LR助力油气钻井大数据提速参数优选及模型构建研究...

全文链接:https://tecdat.cn/?p38601 分析师:Huayan Mu 随着机器学习和大数据分析技术的发展,帮助客户进行油气行业数字化转型势在必行,钻井提速参数优选呈现由经验驱动、逻辑驱动向数据驱动转变的趋势。机械钻速最大化、机械比能…

【尚硅谷 - SSM+SpringBoot+SpringSecurity框架整合项目 】项目打包并且本地部署

前后端分离开发:把一个项目拆成两部分进行开发,所以在打包的时候,需要使用不同的打包方式。 后端 – SpringBoot – jar包 前端 – Vue: 因为使用了vue-admin-template框架:所以先使用框架进行打包使用Nginx部署,通…

练13:二分法

欢迎大家订阅【蓝桥杯Python每日一练】 专栏,开启你的 Python数据结构与算法 学习之旅! 文章目录 1 二分查找2 例题分析 1 二分查找 ①定义 在计算机科学中,二分算法(Binary Search)是一种高效的查找算法,…

Android Studio更改项目使用的JDK

一、吐槽 过去,在安卓项目中配置JDK和Gradle的过程非常直观,只需要进入Android Studio的File菜单中的Project Structure即可进行设置,十分方便。 原本可以在这修改JDK: 但大家都知道,Android Studio的狗屎性能,再加…

基于ST STM32MP257FAK3的MP2控制器之工业PLC 方案

简介 1.可编程逻辑控制器(PLC)是种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制…

唯品会Android面试题及参考答案

HTTP 和 HTTPS 的区别是什么?你的项目使用的是 HTTP 还是 HTTPS? HTTP 和 HTTPS 主要有以下区别。 首先是安全性。HTTP 是超文本传输协议,数据传输是明文的,这意味着在数据传输过程中,信息很容易被窃取或者篡改。比如,在一个不安全的网络环境下,黑客可以通过网络嗅探工具…

黑马Java面试教程_P2_Redis

系列博客目录 文章目录 系列博客目录1前言2 使用场景面试官提问1:我看你做的项目中,都用到了redis,你在最近的项目中哪些场景使用了redis呢?面试官会接着问你1.1:如果发生了缓存穿透、击穿、雪崩,该如何解决?2.1缓存…

Python如何正确解决reCaptcha验证码(9)

前言 本文是该专栏的第73篇,后面会持续分享python爬虫干货知识,记得关注。 我们在处理某些国内外平台项目的时候,相信很多同学或多或少都见过,如下图所示的reCaptcha验证码。 而本文,笔者将重点来介绍在实战项目中,遇到上述中的“reCaptcha验证码”,如何正确去处理并解…

Unity3D仿星露谷物语开发5之角色单例模式

1、目的 使用单例模式创建角色对象,保证整个游戏中只有一个角色,并且让游戏对象具有全局可访问性。 2、流程 (1)创建SingletonMonobehaviour脚本 Assets下创建Scripts目录用于存放所有的脚本,再创建Misk子目录&…

控制表格向上滚动距离最佳实践(以Element ui为例)

前言 在web开发中,有些时候使用的组件库的表格不支持滚动的属性或方法。这个时候我们就要自己去实现这一功能。在Element Plus里,组件库已经具备了支持滚动表格的属性或方法,但是在支持vue2的element ui里,Table组件本身不提供直…

ubuntu16.04ros-用海龟机器人仿真循线系统

下载安装sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi sudo apt-get install ros-kinetic-rocon-*echo "source /opt/ros/kinetic/setup.bash…

6.3 Postman环境变量与全局变量

欢迎大家订阅【软件测试】 专栏,开启你的软件测试学习之旅! 文章目录 前言1 变量类型2 环境变量(Environment Variables)3 全局变量(Global Variables)4 环境变量与全局变量的区别 前言 为了提高测试的灵活…

概率论得学习和整理27:关于离散的数组 随机变量数组的均值,方差的求法3种公式,思考和细节。

目录 1 例子1:最典型的,最简单的数组的均值,方差的求法 2 例子1的问题:例子1只是1个特例,而不是普遍情况。 2.1 例子1各种默认假设,导致了求均值和方差的特殊性,特别简单。 2.2 我觉得 加权…

模型 QFD(质量功能展开/质量屋)

系列文章 分享 模型,了解更多👉 模型_思维模型目录。将客户需求转化为产品设计。 1 模型 QFD(质量功能展开)的应用 1.1 电信服务及网络维护过程质量改进QFD应用案例 背景介绍: 随着中国加入WTO和国家对电信管制的普遍…

ECharts柱状图-柱图38,附视频讲解与代码下载

引言: 在数据可视化的世界里,ECharts凭借其丰富的图表类型和强大的配置能力,成为了众多开发者的首选。今天,我将带大家一起实现一个柱状图图表,通过该图表我们可以直观地展示和分析数据。此外,我还将提供…