Scrum敏捷开发模式介绍与实践

article/2025/9/25 1:27:59

文章目录

  • 前言
  • 一、开发模式
    • 1. 瀑布流开发模式
    • 2. 迭代开发模式
    • 3. 螺旋开发模式
    • 4. 敏捷开发模式
  • 二、敏捷开发模式
  • 三、敏捷模式
    • 1. Scrum
    • 2. Kanban
    • 3. XP
    • 4. Lean Startup
  • 四、Scrum 敏捷开发模式
    • 1. 框架图
    • 2. 角色
      • Scrum Master,SM
      • Product Owners, PO
      • Software Developers, SD
    • 3. 术语
      • Product Backlog
      • Sprint
      • Sprint Planning
      • Sprint Backlog
      • Scrum Team
      • Daily Scrum
      • Increment
      • Sprint Review
      • Sprint Retrospective
  • 五、迭代实践
      • 需求阶段
      • 开发阶段
      • 提测、发版阶段
      • 回顾阶段
  • 总结


前言

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


一、开发模式

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

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


五、迭代实践

需求阶段

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

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

开发阶段

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

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

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

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

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

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

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

测试用例

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

提测、发版阶段

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

迭代回顾会议经验总结表

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

回顾阶段

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

总结

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



http://chatgpt.dhexx.cn/article/EnoMDCoy.shtml

相关文章

什么是软件开发模式?

软件开发模式简介 1. 边做边改模型(Build-and-Fix Model) 好吧,其实现在许多产品实际都是使用的“边做边改”模型来开发的,特别是很多小公司产品周期压缩的太短。在这种模型中,既没有规格说明,也没有经过设…

T58 Office开发模式

加Check box https://www.howtogeek.com/204036/how-to-add-check-boxes-to-word-documents/ 点击设计模式激活。

C# 软件开发模式、设计模式、设计原则和架构

一、怎样做好软件开发? 软件是数据算法的集合体,是利用一定方法将数据进行合理的组合和分配的产物。其实在人们的生活当中,处处都充满着资源(数据)和方法(算法),成功的人都是善于使用他们总结的方法来使用资源的。软件开发也不例外…

螺旋式开发模式

螺旋模型是一种演化 软件开发过程模型,它兼顾了 快速原型的 迭代的特征以及 瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个…

常见的开发模式和不常见的开发模式

1. 瀑布式开发 瀑布模型的优点: 1、为项目提供了按阶段划分的检查点。 2、当前一阶段完成后,您只需要去关注后续阶段。 3、可在迭代模型中应用瀑布模型。增量迭代应用于瀑布模型。迭代1解决最大的问题。每次迭代产生一个可运行的版本,同时增加更多的…

软件开发的11种模式

软件开发的11种模式 1,边做边改模型(Build-and-Fix-Model) 在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改。在这个模型中,开发人员拿到项目立即根据…

常见的开发模式模式

前言 主要是了解常见的开发模式,从而理解测试贯穿在整个软件研发过程中的定位。 一、常见的开发模式 引用林子老师梳理的开发模式,主要包括以下几种: 测试流程通常跟软件开发流程紧密相关,需要基于开发流程来定义。基于企业不同…

云手机虚拟服务器地址和端口,手机服务器地址端口号

手机服务器地址端口号 内容精选 换一换 当后台重新配置邮箱服务器等信息后,手机端WeLink一定要退出重新登录一次。我们常用的邮箱,比如:QQ邮箱、163邮箱、腾讯企业邮箱、网易企业邮箱、263企业邮箱等常见邮箱,可以参考常见问题 > 客户端-邮件里的“常见的IMAP邮箱配置方…

使用正则表达式验证手机号码

使用正则表达式验证手机号码 开发工具与关键技术:VS2015、正则表达式 作者:易金亮 撰写时间:2019.07.07在项目中,总会涉及到数据的新增,比如新增用户信息等,而说到新增用户信息,就离不开用户的…

安卓搭建虚拟服务器,安卓手机搭建云服务器

安卓手机搭建云服务器 内容精选 换一换 本文介绍使用云手机服务时需要了解的基本概念。云手机是一台包含原生安卓操作系统,具有虚拟手机功能的云服务器,简单来说,云手机=云服务器+Android OS。您可以远程实时控制云手机,实现安卓APP的云端运行;也可以基于云手机的基础算力…

JS判断输入手机号码是否正确

JS判断输入手机号码是否正确 现在中国地区的号码 中国电信号段133、149、153、173、177、180、181、189、190、191、193、199 中国联通号段130、131、132、145、155、156、166、167、171、175、176、185、186、196 中国移动号段134(0-8)、135、136、137、138、139、1440、147、…

android qq账号登陆验证手机号码,注册QQ号如何跳过手机验证

QQ的安全性在逐步提高,而我们申请QQ的过程也越来越复杂了。许多用户不希望申请QQ时透露手机号码这类隐私信息。所以很少人使用需要手机验证的手机申请方式,所以电脑申请QQ成为主流,但电脑申请方式在申请过一次QQ号码之后(不论成功与否)就不能…

虚拟号码怎么开通?

虚拟码号的开通方式基本一样 一、首先是企业实名,上传企业的证明文件,法人证件。 二、然后是提出开号需求,号码数量,号码区域 三、然后缴纳费用 四、等待3-8个工作日开号 通过API或者SDK接口接入自己的系统,要不就…

自定义HorizontalScrollView嵌套HorizontalListView实现手势监听、按钮监听横向滚动功能

今日空闲花了点时间对以前自主实现的项目功能进行改进和优化, 其实一些界面的小功能有时候没实现过,也没经验类似项目功能经验,反而耗费的时间会更多。下面我所描述的界面功能就是我在对用RecyclerView控件不熟悉的情况下使用了HorizontalScr…

ScrollView/HorizontalScrollView常用技巧,附源码

ScrollView是ViewGroup的派生类,ViewGroup是View的派生类。 屏幕大小总是有限制的,对移动设备来说更是如此。当有很多内容需要显示的时候,一屏显示不完时,就需要使用滚动的方式。 ScrollView只能包含一个直接子vi…

Android 自定义 HorizontalScrollView 横向滑动效果

自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应…

Android ScrollView、NestedScrollView、Horizo​​ntalScrollView 等

在这篇文章中,我们想看看几个滚动视图的变体或子类以及它们是如何使用的。以下是我们迄今为止涵盖的变体: ScrollView - 超类 NestedScrollView - 子类 Horizo​​ntalScrollView - 子类 StickyScrollView - 子类和第三方库。 ParallaxScrollView - 子类…

Android横向滑动加载更多的控件的实现---HorizontalScrollSlideView

Android横向滑动加载更多的控件的实现—HorizontalScrollSlideView 需求 之前公司业务要求做一个横向滑动的,可以加载更多的控件,第一时间想到的就是 RecyclerView 来实现 ,后面仔细想想滑动拦截不好控制等等 所以就换了个思路来实现了。思…

Android HorizontalScrollView 水平滑动 在listview上面动态添加图片

Android HorizontalScrollView 水平滑动 listview 上动态添加图片 最近遇到了个 在listview展示广告的需要动态添加图片 如图: 使用了 horizontalScrollView 在listview上进行添加 java代码: package com.baozi.bzhorizontalscrollview;impor…

HorizontalScrollView实现Gallery

从简便的方式,继承LinearLayout再布局了添加视图,使其左右滚动。 主界面Activity: package com.xmz.activity;import java.util.HashMap;import java.util.Map;import android.app.Activity;import android.os.Bundle;public class MainActivity extend…