敏捷开发: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 实践 ...
随机推荐
- 【Mac + Appium + Java1.8(一)】之Android自动化环境安装配置以及IDEA配置(附录扩展Selenium+Java自动化)
配置环境: MacOS:10.13.6 java:1.8 IntelliJ IDEA:2018.3 Android SDK:25 Appium:1.9.1 Appium-desktop:1.7.1 j ...
- el-submenu 设定title不显示
原因为 插槽中有空格 slot=" title" 修改为 slot="title"即可
- 【YashanDB知识库】oracle dblink varchar类型查询报错记录
问题单:Oracle DBLINK查询崖山DB报错 oracle服务器上ODBC安装 unixodbc安装:yum -y install unixODBC mysql 配置安装对应版本的odbc: m ...
- pyinstaller 打包成 exe
生成 spec 和可执行文件: pyinstaller --onefile your_file.py 如果需要修改生成的spec文件,则后续可以这样运行: pyinstaller -F your_fi ...
- ES7学习笔记(四)字段类型(mapping)
在上一节中,我们创建了索引,在创建索引的时候,我们指定了mapping属性,mapping属性中规定索引中有哪些字段,字段的类型是什么.在mapping中,我们可以定义如下内容: 类型为String的 ...
- Python 版本管理工具选择与 Pyenv 使用说明
Python 版本管理工具的主要作用是帮助开发者在同一台机器上管理多个 Python 版本和环境.这对于开发和部署不同项目非常有用,因为不同项目可能依赖不同的 Python 版本或者不同的包版本. 具 ...
- CSS – Design System
介绍 这篇 Tailwind CSS 的教程:Translating a Custom Design System to Tailwind CSS 充分的体现了什么是 Design System. 设 ...
- NOIP2023 游记 初见曙光
NOIP2023 游记 Day 0 明天就考 NOIP 了,今天还是得扎实的复习一下. 安排一下我的复习计划: 上午&&下午 复习线段树 复习权值线段树 学习带权并查集 复习 lca ...
- 国产OS 中标麒麟下 C# 桌面应用开发环境搭建笔记
1.中标麒麟 7.0 x86 桌面版 默认安装创建用户时,如果没勾选 root 用户使用相同的口令,那么安装完成以后,root 是没有设置口令的,通过 sudo passwd root 输入当前普通用 ...
- android 代码如何增加atrace跟踪
在 Android 代码中增加 Atrace 跟踪,可以使用 Android 提供的 android.os.Trace 类.这允许你在应用代码中手动添加自定义的跟踪点,以捕获特定代码段的执行情况.以下 ...