敏捷开发:Sprint Planning 冲刺计划会议详细介绍和用户故事拆分、开发任务细分
Sprint Planning 冲刺计划会议简介
Sprint Planning (冲刺计划会议),又叫规划会议。此会议通过 Scrum 团队的集体沟通讨论,确定接下来的 Sprint 中要完成的待开发项,把它们组成一个 Sprint Backlog。这些待开发项都是从 Product Backlog 中挑选的。

- Product Backlog:产品功能特性列表
- Sprint Backlog:迭代任务列表,可以细化为更小的开发任务 Task
可以规划一个 Sprint Backlog,也可以规划多个,根据产品规划路线图、产品开发进度、团队任务量等等多种因素来确定。
Sprint计划会议目的

- 设定目标:设定 Sprint 迭代的计划、目标和期望的成果。
- 理解需求:对于待开发的需求,需要团队成员的理解是一致的。
- 估算工作量:对 Sprint Backlog 中待开发项进行估算,有的待开发项需进一步细化然后估算。最后估算整个 Sprint 的工作量。
- 承诺:团队对完成 Sprint(冲刺)目标做出承诺,并达成一致。
Sprint计划会议内容
1、Sprint 目标,确定 Sprint Goal
产品负责人提议如何在这次的 Sprint 中增加产品的价值。然后,与 Scrum 团队共同讨论并制定本次冲刺的目标 - Sprint Goal,最后确定下目标。
2、待办项选择,这次 Sprint 迭代要完成哪些待开发项
Scrum 开发团队和产品负责人一起讨论,按优先级顺序从 Product Backlog 中选取待开发项,放入到当前 Sprint 中,组成 Sprint Backlog。
在此过程中,可以对 Sprint Backlog 中的待开发项进一步细化、拆解,分解为更小的开发 Task,这样容易估算工作量,也容易完成开发任务。

3、任务拆分,估算工作量,制定开发计划,分配开发任务,领取任务
可以将一些待开发项拆分为更小的开发项。比如把大的 Epic 拆分为 Feature(特性),在把 Feature 拆分为更具体更小的 User Story(用户故事)。比如把用户故事拆分为程序员的开发任务 Task,便于开发人员开发和估算。
待开发项或 更小的开发 Task,对它们的工作量进行估算,通常以天或小时为单位。
确定每个待开发任务的执行顺序、所需资源和依赖关系。
澄清待开发项,确保团队成员对它的理解是一致的。
团队成员根据自己的技能和兴趣领取工作 Task。
制定开发计划,可以用甘特图、燃起图来跟踪项目完成情况。
一般一个 Sprint 的迭代开发周期是 1 - 4 周。

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:用户故事,站在用户角度对功能的描述,给用户带来什么价值。

用户故事拆分
用户故事拆分方法有哪些呢,下面来看有哪些方法。
1、基于流程步骤拆分
按照用户完成一个业务流程步骤来拆分用户故事。梳理出清晰的用户操作路径。
比如:常见的 "用户下单购买商品" 的用户故事,可以拆分为
- 用户浏览商品列表
- 用户查看商品详情
- 将商品加入购物车
- 购物车商品结算
- 选择支付方式完成支付
等更小的用户故事。这里每一个子故事代表了“下单购买商品”流程中的一个一个关键步骤,开发人员就可以根据这些子故事来进行系统功能的开发。
2、基于用户角色拆分
当一个系统涉及多个角色和系统交互时,可以根据不同的角色来拆分用户故事。这样可以明确角色在系统中的功能需求和角色权限。
比如:比如 ERP 系统的开发,在这个系统中有管理员、销售人员和仓库管理人员等不同的角色。对于“库存管理”这个用户故事,可以拆分为
- 管理员设置库存预警阙值
- 销售人员查询库存数量以确定销售策略
- 仓库管理人员,根据收货单更新库存数量
等这些子用户故事,开发人员可以根据每个角色的需求进行功能开发。
3、基于功能特性拆分
按照开发的系统提供的功能特性来进行拆分。这种方法有助于聚焦系统具体功能模块。
比如:在社交媒体软件上“用户发布内容”的用户故事,可以拆分为
- 用户发布文字内容
- 用户发布图片内容
- 用户发布视频内容
- 编辑已发布的内容
等子用户故事,开发人员可以根据每个功能特性来进行开发。
比如“发布图片内容”的子故事,支持哪些图片格式?这就是业务规则。
4、其它一些拆分方法
其它一些方法有哪些:
- 基于规则和约束拆分
- 基于数据边界
- 基于功能依赖顺序
开发任务的拆分
细化研发工程师开发的任务(Task),比如一个需求开发,把它所有的开发任务都列出来:
- 用户文档、页面设计、前端、功能的编码、测试、Bug修复、测试验收、部署等。
比如需求功能的编码,有哪些步骤?
有多少个功能需要开发?对应程序中的功能模块有哪些?程序编码设计?功能模块里的类有哪些?需要提前设计吗?等等,程序开发人员都可以进一步细化开发任务(Task)。
如果你使用 CICD Pipeline 集成开发测试交付流水线,那么需要写的测试脚本就有很多。
总之,统统列出来,便于估算开发时长。
说明:不仅有对用户故事的拆分,拆分为更小功能,还有对开发任务的拆分。
敏捷开发:Sprint Planning 冲刺计划会议详细介绍和用户故事拆分、开发任务细分的更多相关文章
- ios开发——实用技术篇&Pist转模型详细介绍
Pist转模型详细介绍 关于Plist转模型在iOS开发中是非常常见的,每开一一个项目或者实现一个功能都要用到它,所以今天就给大家讲讲Plist怎么转成模型数据, 前提:必须有一个Plist文件或者通 ...
- Android 蓝牙开发(3)——蓝牙的详细介绍
前面的两篇文章,主要是在 Android 官网关于蓝牙介绍的基础上加上自己的理解完成的.主要针对的是 Android 开发中的一些 API 的使用. 第一篇文章 Android 蓝牙开发(1) 主要是 ...
- iOS开发——实用OC篇&多种定时器详细介绍
多种定时器详细介绍 在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 然而,在iOS中有很多方法完成以上的任务,到底有 ...
- FFmpeg开发笔记(三):ffmpeg介绍、windows编译以及开发环境搭建
前言 本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8. FFmpeg简介 FFmpeg是领先的多媒体框架,能够解码 ...
- 团队项目之Sprint计划会议
一.我们团队在4月15日进行了冲刺计划会议,会议过程大致如下: 1.总结目前的工作进展,再一次确定所做项目的方向: 2.将之前的调查问卷的结果进行统计,做了需求分析,大致了解了用户的想法: 3.根据初 ...
- 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程
产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...
- 用户故事驱动的敏捷开发 – 2. 创建backlog
本系列的第一篇[用户故事驱动的敏捷开发 – 1. 规划篇]跟大家分享了如何使用用户故事来帮助团队创建需求的过程,在这一篇中,我们来看看如何使用这些用户故事和功能点形成产品backlog.产品backl ...
- 【DevCloud·敏捷智库】如何利用用户故事了解需求
摘要:这篇文章主要解决因为不能很好地理解需求而估算做不好的问题,在这里可以了解下如何利用用户故事了解需求. 背景 很多团队在应用敏捷开发时,对估算经常感到困惑.这里所说的估算是指产品列表条目(PBI, ...
- 菜鸟Scrum敏捷实践系列(一)用户故事概念
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 敏捷开发 ...
- 转: NetBean 远程开发的好文2 --> 工欲善其事,必先利其器系列--Netbeans之远程开发
转自: http://www.cnblogs.com/zuoca/archive/2012/07/09/Remote_Development_With_Netbeans_origin.html 实践 ...
随机推荐
- 牛逼!Vue3.5的useTemplateRef让ref操作DOM更加丝滑
前言 vue3中想要访问DOM和子组件可以使用ref进行模版引用,但是这个ref有一些让人迷惑的地方.比如定义的ref变量到底是一个响应式数据还是DOM元素?还有template中ref属性的值明明是 ...
- ZEGO 教程 | RTC + AI 视觉的最佳实践(移动端)
摘要:帮助开发者在音视频场景中快速获得 AI 视觉功能 -- 美颜.滤镜.背景抠图等. 文|即构 Native SDK 开发团队 Z世代作为社会新的消费主力,追求个性.热爱新奇事物,青睐与酷炫 ...
- ubuntu莫名的 系统出现文件系统只读
运维记录 日期:2024年9月15日 问题描述: 在安装多个 LNMP 服务后,系统重启出现了问题.当尝试运行 apt update 命令时,系统出现了如下错误信息: 忽略:1 http://secu ...
- [TK] 送礼物
题解引用 引理1: 区间 \([l,r]\) 是最优解的必要不充分条件是: \(l,r\) 分别是区间的最小值与最大值. 这很显然,若假设不成立,当区间向内缩小时,一定有分子不变,分母变小,进而算出更 ...
- 【赵渝强老师】在Spark SQL中读取JSON文件
Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用.为什么要学习Spark SQL?如果大家了解Hive的话,应该 ...
- SCHED_RR和SCHED_FIFO的区别
SCHED_RR和SCHED_FIFO是Linux内核中用来调度进程的两种调度策略,它们有以下几点区别: 调度方式:SCHED_RR采用轮转调度方式,而SCHED_FIFO则采用先进先出调度方式. 优 ...
- seaborn.lmplot详解
官方文档 首先我们要知道,lmplot是用来绘制回归图的. 让我们来看看他的API: seaborn.lmplot(x, y, data, hue=None, col=None, row=None, ...
- 2020年度国产数据库:openGauss
根据墨天轮2020年一年的数据库流行度得分趋势变化,我们选出了流行热度增长显著的数据库为2020年度国产数据库.恭喜 华为开源关系型数据库 openGauss 荣获 "2020年度国产数据库 ...
- 怎么理解vue的单向数据流
单向数据流是父组件传给子组件的数据,子组件没有权利修改,只能委托父组件修改,然后子组件更新
- 小程序的button组件
button组件 按钮组件 功能比html的button按钮丰富 可以通过open-type属性可以调用微信提供的各种功能(客服,转发,获取用户权限,获取用户信息等): 按钮的属性 size 按钮的大 ...