文章目录

  • 前言
  • 一、开发模式
    • 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

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


五、迭代实践

需求阶段

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

需求编号 父需求编号 需求描述 工作量(人/天) 负责人 状态 优先级 冒烟测试 开始时间 提测时间 测试完成时间 实际提测时间 实际完成时间
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 敏捷开发模式还在深入实践中,慢慢在实践中改进。


Scrum敏捷开发模式介绍与实践相关推荐

  1. Leangoo大讲堂:免费Scrum敏捷开发实战—武汉站

    活动信息: 授课时间:2016年5月21日 下午 14:00 – 17:30 (13:30签到) 授课地点:武汉市洪山区民族大道一号光谷资本大厦二楼培训中心 人数限制:150人(企业报名每家限制3人以 ...

  2. leangoo大讲堂:scrum敏捷开发实战——深圳站

    授课时间:2016年4月23日 下午 14:00 – 17:30 (13:30签到) 授课地点:深圳软件园,南山区科技中二路深圳软件园二期14号楼三楼大厅 人数限制:150人,企业报名的每家限制为3人 ...

  3. scrum敏捷开发工具实践分享

    随着敏捷开发越来越火,自然我们也不能落后,我们公司也开始向敏捷转型,前段时间请了Scrum中文网的廖老师给我们企业做了全面的scrum敏捷开发培训课,第一次对敏捷有了全新的认识! 而在我们实施敏捷的过 ...

  4. 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍

    如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了"批斗大会",所以团队的人都觉得这个会很鸡肋. 很多团队在开反思 ...

  5. 从瀑布开发模式到敏捷开发模式(scrum)的思路转换

    部门推广scrum敏捷开发已经小半年了.团队也从不适应.慢慢地开始变的习惯.之前领导安排我作为我们组的scrum master.因为从来没有做过leader.然后直接之前也没有接触过scrum.更是非 ...

  6. 敏捷开发系列学习总结(11)——Scrum敏捷开发流程的三个角色、四个会议和三个物件

    Scrum敏捷开发流程主要包扩三个角色.四个会议和个三物件. 三个角色 Scrum团队中包括三个角色,他们分别是产品负责人.开发团队和 项目的直接管理者(Scrum Master). Scrum 团队 ...

  7. 敏捷开发模式下如何更好的进行测试

    最近CTO组建了一个敏捷开发团队,团队人员包括  PM.设计.开发.测试角色,主要由PM来主导团队走向,因为以前并没有参加过敏捷开发的经验,对敏捷开发做了简单理解后,参考了前人的一些意见,总结出在 敏 ...

  8. 敏捷开发“松结对编程”实践之六:大型团队篇|后记(大型研发团队,学习型团队,139团队,师徒制度,人员招聘,职业生涯规划)...

    本文是"松结对编程"系列的第六篇.(之一,之二,之三,之四,之五,之六,之七,之八) 松结对编程是小型团队的实践,大约运行在1个师傅+1-3个徒弟的尺度上,当面临更大尺度的时候,就 ...

  9. 敏捷开发模式 与 TDD 的思考总结

    "你有了解哪些开发模式?" "你了解的这几种模式有哪些不同" "测试方法与目的是什么?" 带着这些问题,我们来看看Agile 中的Scrum ...

  10. 网上商城代码实现_中国中铁网上商城转型敏捷开发模式,实现快速反应、快速迭代...

    △北研中心的同事给业务部门演示迭代成果中国中铁网上商城成功转型敏捷开发模式,实现快速反应.快速迭代.切实解决公司内部以及合作方的业务需求,更好服务多样化的客户群体.经历了两次每2周为一迭代的短期快速开 ...

最新文章

  1. 计算机网络原理超详解说
  2. internetreadfile读取数据长度为0_Hadoop 读取数据
  3. 自动白平衡之完美反射算法原理及C++实现
  4. PostgreSQL 的 MVCC 机制解析
  5. Vision Transformer 论文
  6. 阿里云智能物联网解决方案宣讲会,帮助天津东丽临空经济区数字腾飞
  7. linux能远程开机么,Linux 下如何实现远程开机
  8. 【017】◀▶ C#学习(九) - ADO.NET
  9. 今日测试:javascript笔试必考
  10. vsftpd 在linux 中的环境配置【部分原创】
  11. (纪录片)电的故事 Shock Awe The Story of Electricity
  12. MYSQL MVCC 实现机制
  13. php对表中的字段自选排序,Mysql应用MySQL 按指定字段自定义列表排序的实现
  14. 构建wifi破解所需的密码库文件
  15. 计算机添加pdf打印机驱动,win10系统添加pdf打印机的解决方案
  16. 中国医科大计算机在线作业答案,16秋中国医科大学《计算机应用基础(中专起点大专)》在线作业标准答案包100分...
  17. mysql in 子查询无法使用索引全表扫描 慎用in
  18. Unity3D专区Unity实现加载场景进度条
  19. 从数据库中读取经纬度,在google map 上进行标注(一)
  20. Python——飞机大战(day10)

热门文章

  1. 计算机日期型函数公式,excel函数公式应用:日期格式转换公式大全-excel技巧-电脑技巧收藏家...
  2. Allegro Pad Designer焊盘制作指南
  3. MTK手机烧录与调试
  4. 【win10专业版】如何检测声卡是否损坏
  5. 践行快乐音乐教育 郎朗The ONE全球公益钢琴盛典传递音乐力量!
  6. Android, App常用图标尺寸规范
  7. a5松下驱动器参数设置表_「精品干货」松下A5伺服驱动器参数设置与常见故障解决分析...
  8. Revit二次开发——布管系统设置
  9. c语言:简单的客户管理系统
  10. python用函数判断一个数是否为素数_【转载】Python脚本判断一个数是否为素数的几种方法...