Scrum敏捷开发模式介绍与实践-程序员宅基地

技术标签: 设计规范  敏捷流程  sprint  scrum  软件工程  


前言

在当今信息爆炸的时代,软件系统种类繁多、网络环境瞬息万变、行业竞争异常激烈场景下,软件企业如何在较短的生命周期中提高软件的开发效率、交付质量,降低研发和交付成本是首先要考虑的。敏捷开发模式就是注重软件的持续交付和快速应对需求的变化,通过固定的短周期的迭代开发方式和快速的反馈保证产品和项目的质量,并且规范了管理敏捷团队的策略和模式。


一、开发模式

1. 瀑布流开发模式

瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤顺序进行。主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。

2. 迭代开发模式

迭代式开发也被称作迭代增量式开发或迭代进化式开发,每次只设计和实现软件的一部分,逐步完成整个软件的开发,弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。

3. 螺旋开发模式

瀑布模型和快速原型(快速创建一个可以运行的软件原型,后期慢慢根据客户需求完善软件)模式结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

4. 敏捷开发模式


二、敏捷开发模式

敏捷开发模式,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力模式。相对于传统开发模式,其更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。


三、敏捷模式

1. Scrum

Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
Scrum 是一种可以让人们将复杂的问题解决的同时保证生产率,创造性地交付最高可能价值的框架。

2. Kanban

KanBan is an approach to change management that employs a Kanban system onto an existing process context in order to provoke evolutionary and incremental change.
Kanban可以被引入进任何开发框架去支持和推动持续性软件开发,不管你的开发模式是敏捷的(比如:XP),还是传统的开发方式(比如:waterfall)。
Work In Progress,细分的工作流程。

3. XP

Extreme Programming,极限编程。特点:快速反馈、假设简单、增量变化、包容变化。

4. Lean Startup

精益创业,是一种用于开发产品和服务的方法论,旨在缩短产品开发周期,并快速发现产品创意构思是否可行。最小可行产品(MVP)是“一个新产品的版本,它允许团队以最少的努力收集关于客户的最大验证学习量”(类似于试点实验)。


四、Scrum 敏捷开发模式

官网

1. 框架图

在这里插入图片描述

2. 角色

在这里插入图片描述

Scrum Master,SM

定义:开发团队负责人
职责:负责团队管理,交付执行。

Product Owners, PO

定义:产品需求负责人
职责:负责需求录入。

Software Developers, SD

定义:开发成员,前端、后端、测试
职责:开发。

3. 术语

Product Backlog

定义:产品需求清单
活动:PO 输出产品需求清单,组织迭代计划会议。

Sprint

定义:冲刺、迭代
活动:一个迭代周期,一般2 - 4周。

Sprint Planning

定义:迭代计划会议
活动:评估需求风险、优先级、复杂度,根据迭代团队规模划分每个迭代的需求清单,确定迭代各个阶段的时间点(设计、开发、测试、发版),环境资源准备(迭代分支、技术支持等)。

Sprint Backlog

定义:迭代需求清单
活动:需求分析,评估工作量、设计实现方案、拆分任务、分配需求任务,根据需求工作量的评估确定每个需求的提测时间点,让测试可以提早介入。

Scrum Team

定义:完整功能的交付能力的团队,开发、测试、设计。
活动:SM 负责整个团队的管理、协调及敏捷交付模式的执行。

Daily Scrum

定义:日常迭代活动,
活动:日例会,早晚可各一次,10分钟左右,跟踪迭代需求开发进度,发现、解决风险,SM 更新需求清单表、燃尽图,跟踪、协调风险。

Increment

定义:产品增量,经过一个迭代交付的产品需求增量
活动:演示,验收。

Sprint Review

定义:迭代评审会议
活动:迭代评审会议,2个小时,讨论迭代开发中的优缺点,总结、改进。

Sprint Retrospective

定义:迭代回顾会议,产品发展一个里程碑的交付
活动:迭代回顾会议,回顾多个迭代中的敏捷交付规范是否认真落实,改进建议。


五、迭代实践

需求阶段

输入:迭代需求清单
内容:需求分析、需求设计、工作量评估、确定团队成员、需求分配、任务拆分。
输出:迭代需求进度表

需求编号 父需求编号 需求描述 工作量(人/天) 负责人 状态 优先级 冒烟测试 开始时间 提测时间 测试完成时间 实际提测时间 实际完成时间
10011 1001 人员管理列表页面 3 张三 待处理 中级 2022/04/30 2022/05/02

开发阶段

输入:迭代需求清单、进度表、设计方案、任务清单
内容:日例会、提测、发版。
输出、更新:迭代需求进度表、燃尽图、风险点

迭代需求进度表(进度1)

需求编号 父需求编号 需求描述 工作量(人/天) 负责人 状态 优先级 冒烟测试 开始时间 提测时间 测试完成时间 实际提测时间 实际完成时间
10011 1001 人员管理列表页面 3 张三 待测试 中级 通过 2022/04/30 2022/05/02 2022/05/02

迭代需求进度表(进度2)

需求编号 父需求编号 需求描述 工作量(人/天) 负责人 状态 优先级 冒烟测试 开始时间 提测时间 测试完成时间 实际提测时间 实际完成时间
10011 1001 人员管理列表页面 3 张三 已发布 中级 通过 2022/04/30 2022/05/02 2022/05/03 2022/05/02 2022/05/03

燃尽图(迭代日期与未完成任务数)
在这里插入图片描述
风险点

序号 风险描述 影响 解决方案 状态 更新时间 负责人
1 后端接口提供延迟 前端联调进度阻塞 需求整体提测时间延后 已解决 2022/05/03 张三

测试用例

编号 标题 优先级 类型 冒烟用例 作者 创建时间 负责人 状态 通过时间
1 人员列表页面数据显示正常,点击分页正常 P0 功能测试 李四 2022/05/02 张三 通过 2022/05/02

提测、发版阶段

输入:测试用例
内容:回顾会议
输出:测试报告、发版计划、迭代回顾会议经验总结表

迭代回顾会议经验总结表

编号 优点 总结
1 缺陷率低 开发质量提高,严格遵守了开发规范
编号 缺点 总结
1 提测延后率高 前后端开发进度不协调,缺少沟通

回顾阶段

编号 新加的规范 去掉的规范
1 代码评审

总结

总的来说,Scrum 敏捷开发模式还在深入实践中,慢慢在实践中改进。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_16608213/article/details/124508860

智能推荐

python中文显示不出来_解决Python词云库wordcloud不显示中文的问题-程序员宅基地

文章浏览阅读2.6k次。解决Python词云库wordcloud不显示中文的问题2018-11-25背景:wordcloud是基于Python开发的词云生成库,功能强大使用简单。github地址:https://github.com/amueller/word_cloudwordcloud默认是不支持显示中文的,中文会被显示成方框。安装:安装命令:pip install wordcloud解决:经过测试发现不支持显示中文..._词云python代码无法输出文字

台式计算机cpu允许温度,玩游戏cpu温度多少正常(台式电脑夏季CPU一般温度多少)...-程序员宅基地

文章浏览阅读1.1w次。随着炎热夏季的到来,当玩游戏正爽的时候,电脑突然死机了,自动关机了,是不是有想给主机一脚的冲动呢?这个很大的原因是因为CPU温度过高导致的。很多新手玩家可能都有一个疑虑,cpu温度多少以下正常?有些说是60,有些说是70,到底多高CPU温度不会死机呢?首先我们先看看如何查看CPU的温度。下载鲁大师并安装,运行鲁大师软件,即可进入软件界面,并点击温度管理,即可看到电脑各个硬件的温度。鲁大师一般情况下..._台式机玩游戏温度多少正常

小白自学Python日记 Day2-打印打印打印!_puthon打印任务收获-程序员宅基地

文章浏览阅读243次。Day2-打印打印打印!我终于更新了!(哭腔)一、 最简单的打印最最简单的打印语句: print(“打印内容”)注意:python是全英的,符号记得是半角下面是我写的例子:然后进入power shell ,注意:你需要使用cd来进入你保存的例子的文件夹,保存时名字应该取为xxx.py我终于知道为什么文件夹取名都建议取英文了,因为进入的时候是真的很麻烦!如果你没有进入正确的文件夹..._puthon打印任务收获

Docker安装:Errors during downloading metadata for repository ‘appstream‘:_"cenerrors during download metadata for repository-程序员宅基地

文章浏览阅读1k次。centos8问题参考CentOS 8 EOL如何切换源? - 云服务器 ECS - 阿里云_"cenerrors during download metadata for repository \"appstream"

尚硅谷_谷粒学苑-微服务+全栈在线教育实战项目之旅_基于微服务的在线教育平台尚硅谷-程序员宅基地

文章浏览阅读2.7k次,点赞3次,收藏11次。SpringBoot+Maven+MabatisPlusmaven在新建springboot项目引入RELEASE版本出错maven在新建springboot项目引入RELEASE版本出错maven详解maven就是通过pom.xml中的配置,就能够从仓库获取到想要的jar包。仓库分为:本地仓库、第三方仓库(私服)、中央仓库springframework.boot:spring-boot-starter-parent:2.2.1.RELEASE’ not found若出现jar包下载不了只有两_基于微服务的在线教育平台尚硅谷

随便推点

网络学习第六天(路由器、VLAN)_路由和vlan-程序员宅基地

文章浏览阅读316次。路由的概念路由器它称之为网关设备。路由器就是用于连接不同网络的设备路由器是位于OSI模型的第三层。路由器通过路由决定数据的转发。网关的背景:当时每家计算机厂商,用于交换数据的通信程序(协议)和数据描述格式各不相同。因此,就把用于相互转换这些协议和格式的计算机称为网关。路由器与三层交换器的对比路由协议对比路由器的作用:1.路由寻址2.实现不同网络之间相连的功能3.通过路由决定数据的转发,转发策略称为 路由选择。VLAN相关技术什么是VLAN?中文名称叫:虚拟局域网。虚_路由和vlan

设置div背景颜色透明度,内部元素不透明_div设置透明度,里面的内容不透明-程序员宅基地

文章浏览阅读2.8w次,点赞6次,收藏22次。设置div背景颜色透明度,内部元素不透明:.demo{  background-color:rgba(255,255,255,0.15) } 错误方式:.demo{ background-color:#5CACEE;opacity:0.75;} 这样会导致div里面的元素内容和背景颜色一起变透明只针对谷歌浏览器的测试_div设置透明度,里面的内容不透明

Discuz!代码大全-程序员宅基地

文章浏览阅读563次。1.[ u]文字:在文字的位置可以任意加入您需要的字符,显示为下划线效果。2.[ align=center]文字:在文字的位置可以任意加入您需要的字符,center位置center表示居中,left表示居左,right表示居右。5.[ color=red]文字:输入您的颜色代码,在标签的中间插入文字可以实现文字颜色改变。6.[ SIZE=数字]文字:输入您的字体大小,在标签的中间插入文..._discuzcode 大全

iOS NSTimer定时器-程序员宅基地

文章浏览阅读2.6k次。iOS中定时器有三种,分别是NSTimer、CADisplayLink、dispatch_source,下面就分别对这三种计时器进行说明。一、NSTimerNSTimer这种定时器用的比较多,但是特别需要注意释放问题,如果处理不好很容易引起循环引用问题,造成内存泄漏。1.1 NSTimer的创建NSTimer有两种创建方法。方法一:这种方法虽然创建了NSTimer,但是定时器却没有起作用。这种方式创建的NSTimer,需要加入到NSRunLoop中,有NSRunLoop的驱动才会让定时器跑起来。_ios nstimer

Linux常用命令_ls-lmore-程序员宅基地

文章浏览阅读4.8k次,点赞17次,收藏51次。Linux的命令有几百个,对程序员来说,常用的并不多,考虑各位是初学者,先学习本章节前15个命令就可以了,其它的命令以后用到的时候再学习。1、开机 物理机服务器,按下电源开关,就像windows开机一样。 在VMware中点击“开启此虚拟机”。2、登录 启动完成后,输入用户名和密码,一般情况下,不要用root用户..._ls-lmore

MySQL基础命令_mysql -u user-程序员宅基地

文章浏览阅读4.1k次。1.登录MYSQL系统命令打开DOS命令框shengfen,以管理员的身份运行命令1:mysql -u usernae -p password命令2:mysql -u username -p password -h 需要连接的mysql主机名(localhost本地主机名)或是mysql的ip地址(默认为:127.0.0.1)-P 端口号(默认:3306端口)使用其中任意一个就OK,输入命令后DOS命令框得到mysql>就说明已经进入了mysql系统2. 查看mysql当中的._mysql -u user

推荐文章

热门文章

相关标签