首页 > 其他分享 >Sprint Planning

Sprint Planning

时间:2025-01-04 11:55:02浏览次数:1  
标签:故事 用户 开发 Planning 拆分 Sprint Backlog

Sprint Planning 冲刺计划会议简介#

Sprint Planning (冲刺计划会议),又叫规划会议。此会议通过 Scrum 团队的集体沟通讨论,确定接下来的 Sprint 中要完成的待开发项,把它们组成一个 Sprint Backlog。这些待开发项都是从 Product Backlog 中挑选的。

image

  • Product Backlog:产品功能特性列表
  • Sprint Backlog:迭代任务列表,可以细化为更小的开发任务 Task

可以规划一个 Sprint Backlog,也可以规划多个,根据产品规划路线图、产品开发进度、团队任务量等等多种因素来确定。

Sprint计划会议目的#

image

  • 设定目标:设定 Sprint 迭代的计划、目标和期望的成果。
  • 理解需求:对于待开发的需求,需要团队成员的理解是一致的。
  • 估算工作量:对 Sprint Backlog 中待开发项进行估算,有的待开发项需进一步细化然后估算。最后估算整个 Sprint 的工作量。
  • 承诺:团队对完成 Sprint(冲刺)目标做出承诺,并达成一致。

Sprint计划会议内容#

1、Sprint 目标,确定 Sprint Goal

产品负责人提议如何在这次的 Sprint 中增加产品的价值。然后,与 Scrum 团队共同讨论并制定本次冲刺的目标 - Sprint Goal,最后确定下目标。
“我们为什么要做这次的 Sprint,而不是去度假?”

2、待办项选择,这次 Sprint 迭代要完成哪些待开发项

Scrum 开发团队和产品负责人一起讨论,按优先级顺序从 Product Backlog 中选取待开发项,放入到当前 Sprint 中,组成 Sprint Backlog。

在此过程中,可以对 Sprint Backlog 中的待开发项进一步细化、拆解,分解为更小的开发 Task,这样容易估算工作量,也容易完成开发任务。

image

3、任务拆分,估算工作量,制定开发计划,分配开发任务,领取任务

  • 可以将一些待开发项拆分为更小的开发项。比如把大的 Epic 拆分为 Feature(特性),在把 Feature 拆分为更具体更小的 User Story(用户故事)。比如把用户故事拆分为程序员的开发任务 Task,便于开发人员开发和估算。

  • 待开发项或 更小的开发 Task,对它们的工作量进行估算,通常以天或小时为单位。

  • 确定每个待开发任务的执行顺序、所需资源和依赖关系。

  • 澄清待开发项,确保团队成员对它的理解是一致的。

  • 团队成员根据自己的技能和兴趣领取工作 Task。

  • 制定开发计划,可以用甘特图、燃起图来跟踪项目完成情况。

一般一个 Sprint 的迭代开发周期是 1 - 4 周。

image

4、定义验收标准

定义验收标准,确保团队成员对 “完成” 有共同的理解。

  • DoD - Definition of Done ,完成的定义
  • Acceptance Criteria,验收标准

Sprint计划会议注意事项#

  • 明确会议议程:在开始会议前,明确会议的议程和目标,并通知所有参与者分享。
  • 时间控制:对一个为期 2 周的 Sprint,会议时间通常持续 2 - 4 个小时,以此类推。
  • 利益相关者参与:产品负责人、Scrum Master、开发团队,以及邀请必要的与此次会议有关的人员,也要注意限制参与人数。因为人数越多,一是浪费无关人员时间,二是讨论事情复杂增大。
  • 透明沟通:要确保所有的沟通都是开发和透明的。
  • 避免过度承诺:团队应该避免选择过多的开发任务,而无法完成冲刺目标。
  • 冲刺计划灵活性:冲刺计划灵活性,以适应 Sprint 中需求的变更。

开发项与用户故事的拆分#

大开发项的拆分#

对 Sprint 中需求开发项的拆分和细化。

比如从 Product Backlog 中挑选的大的 Epic(史诗),拆分为多个具体的 Feature(特性),特性进一步拆分为更小、更具体的 User Story(用户故事)。每个用户故事都是站在用户角度的最小可交付的工作项。
在把用户故拆分为开发任务(Task)。

  • Epic:史诗,更大更高层次的用户故事。可以是多个功能集合,对业务产生显著价值。
  • Feature:特性,可以看着是关联用户故事的集合,组合提供某种业务价值。
  • User Story:用户故事,站在用户角度对功能的描述,给用户带来什么价值。

image

用户故事拆分#

用户故事拆分方法有哪些呢,下面来看有哪些方法。

image

1、基于流程步骤拆分

按照用户完成一个业务流程步骤来拆分用户故事。梳理出清晰的用户操作路径。

比如:常见的 "用户下单购买商品" 的用户故事,可以拆分为

  • 用户浏览商品列表
  • 用户查看商品详情
  • 将商品加入购物车
  • 购物车商品结算
  • 选择支付方式完成支付

等更小的用户故事。这里每一个子故事代表了“下单购买商品”流程中的一个一个关键步骤,开发人员就可以根据这些子故事来进行系统功能的开发。

2、基于用户角色拆分

当一个系统涉及多个角色和系统交互时,可以根据不同的角色来拆分用户故事。这样可以明确角色在系统中的功能需求和角色权限。

比如:比如 ERP 系统的开发,在这个系统中有管理员、销售人员和仓库管理人员等不同的角色。对于“库存管理”这个用户故事,可以拆分为

  • 管理员设置库存预警阙值
  • 销售人员查询库存数量以确定销售策略
  • 仓库管理人员,根据收货单更新库存数量

等这些子用户故事,开发人员可以根据每个角色的需求进行功能开发。

3、基于功能特性拆分

按照开发的系统提供的功能特性来进行拆分。这种方法有助于聚焦系统具体功能模块。

比如:在社交媒体软件上“用户发布内容”的用户故事,可以拆分为

  • 用户发布文字内容
  • 用户发布图片内容
  • 用户发布视频内容
  • 编辑已发布的内容

等子用户故事,开发人员可以根据每个功能特性来进行开发。

比如“发布图片内容”的子故事,支持哪些图片格式?这就是业务规则。

4、其它一些拆分方法

其它一些方法有哪些:

  • 基于规则和约束拆分
  • 基于数据边界
  • 基于功能依赖顺序

开发任务的拆分#

细化研发工程师开发的任务(Task),比如一个需求开发,把它所有的开发任务都列出来:

  • 用户文档、页面设计、前端、功能的编码、测试、Bug修复、测试验收、部署等。

比如需求功能的编码,可以细化为哪些子开发任务?

  • 有多少个功能需要开发?

  • 对应程序中的功能模块有哪些?

  • 程序编码设计?功能模块里的类有哪些?

  • 类的功能有哪些?

  • 需要提前设计吗?等等

程序开发人员都可以进一步细化开发任务(Task)。

如果你使用 CICD Pipeline 集成开发测试交付流水线,那么需要写的测试脚本就有很多。
总之,统统列出来,便于估算开发时长。

说明:不仅有对用户故事的拆分,拆分为更小功能,还有对开发任务的拆分。

SprintBacklog 任务清单模板#

Dev Team 负责人负责维护 Sprint 开发任务清单,由开发需求或用户故事的功能拆分而来。

一般我们会用在线敏捷软件来管理开发任务。

任务清单模板如下:

image

这只是一个示例模板,里面的每一格标题都可以根据自家情况进行增加、删除和调整。

Scrum 整体流程图(计划面板、任务面板、发布面板)#

看到一个 Scrum 框架开发流程图,里面有各种步骤,而且图把各个步骤流程很好展示出来:

image
(来自网络侵删)

作者:九卷 (公众号:九卷技术录)

出处:https://www.cnblogs.com/jiujuan/p/18568462

版权:本文采用「署名-非商业性使用-相同方式共享 by nc nd 4.0 国际」知识共享许可协议进行许可。

【好技术好赚钱】

  合集: 敏捷开发

标签:故事,用户,开发,Planning,拆分,Sprint,Backlog
From: https://www.cnblogs.com/Leo_wl/p/18651737

相关文章

  • general planning
    总体计划学校考试1.3---1.13大学英语1.3---1.7听说教程1,2,3,8+futurelistening综合训练1,2,3,8听力+综合教程综合训练1,6,7翻译准备4篇作文完形填空,单项选择综合训练,综合教程6,7,8区块链导论1.3---1.8复习两次考试的考点复习自己记的笔记高数1.3---1.13复习之......
  • 【2025最新计算机毕业设计】基于SprintBoot+Vue爱之屋摄影在线预约管理系统【提供源码
    作者简介:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容:......
  • sprintf 将格式化的数据写入字符串
    一.sprintf函数sprintf函数是C标准库中的一个函数,用于将格式化的数据写入字符串。与printf类似,但sprintf的输出是写入到字符数组(字符串)中,而不是输出到标准输出(屏幕)。函数原型intsprintf(char*str,constchar*format,...);str:一个指向字符数组的指针,表示输出......
  • [ABC227D] Project Planning
    算法朴素的贪心从性质上就不可能通过,考虑换一种方式注意到当\(C\)即总项目数确定时,我们是有办法确定是否可行的不难发现,对于确定当前的元素\(a_i\),我们可以分类讨论\(a_i\geqC\)显然的,当\(a_i\geqC\)时,无论如何也只能贡献\(C\),即每个项目贡献一......
  • 敏捷开发:Sprint Planning 冲刺计划会议详细介绍和用户故事拆分、开发任务细分
    SprintPlanning冲刺计划会议简介SprintPlanning(冲刺计划会议),又叫规划会议。此会议通过Scrum团队的集体沟通讨论,确定接下来的Sprint中要完成的待开发项,把它们组成一个SprintBacklog。这些待开发项都是从ProductBacklog中挑选的。ProductBacklog:产品功能特性列表......
  • 【C】错误的变量定义导致sprintf()‌输出错误
    问题描述刚刚写一个用AT指令透传相关的函数,需要用到sprintf()‌拼接字符串。结果发现sprintf()‌拼接出来的内容是错误的,简化后的代码如下:constcharAT_CIPSEND_FIX_LENGTH_HEADER[11]="AT+CIPSEND="; //错误的!!! constcharAT[]="AT\r\n";voidESP8285_CipSend_......
  • Fall 2024 IE 360 Facilities Planning and Design
    Fall2024IE360FacilitiesPlanningandDesign  Homework1Name: Clickortapheretoentertext.        StudentID:Clickortapheretoentertext. Question1:(60pts)Anautomobileenginecylindermanufacturingcompanyplanstoman......
  • sprintf_s strcat_s
    strcat_s函数原理:dst内存空间大小=目标字符串长度+原始字符串场地+‘\0’;获取内存空间大小使用sizeof函数(获取内存空间大小);获取字符串长度使用strlen函数(查字符串长度charsrc[1024]={"C/C++教程-strcat_s函数"};chardst[1024]={"www.codersrc.com"};//注意:str......
  • Robotics: computational motion planning 部分笔记—— week 3 Sampling base planni
    随机路标图思想空间过大,无法遍历,由此采用随机路标图(ProbabilisticRoadMaps)进行采样。基本就是采样点,连线,判断是否发生碰撞,在生成起点终点间的路径之前,该算法试图通过采样的方式搜索整个构型空间。在生成足够多样本后,可以用A*等算法进行路径规划。由于采样的随机性,生成......
  • ROS2 - Moveit2 - Planning with Approximated Constraint Manifolds(使用近似约束流
    使用近似约束流形进行规划OMPL支持自定义约束,以使规划轨迹遵循所需的行为。约束可以在关节空间和笛卡尔空间中定义,后者基于方向或位置。在规划轨迹时,每个关节状态都需要遵循所有设置的约束,默认情况下,这是通过拒绝采样来执行的。然而,这可能会导致非常长的规划时间,特别是当约束非......