[敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum

1,Scrum概述

上篇中提到敏捷开发有两种主流的方法,一个是XP,另一个是Scrum,本篇简要介绍Scrum方法。Scrum是一套开发和维护复杂产品的框架或说是管理方法。

我们提到敏捷开发是一个增量的、迭代的开发过程。而在Scrum框架中,整个开发过程我们分解为若干个短的迭代周期,在Scrum中每一个迭代周期,我们称为一个Sprint(原义为冲刺,Scrum中指一个迭代)。根据Scrum的建议一般为4周(也可以根据实际产品特点调整这个周期长度,并不影响使用Scrum进行敏捷开发,比如互联网产品有些团队每1周为一个Sprint).

Scrum中使用产品Backlog(待办或储备)来管理需求,产品的Backlog是按商业价值进行排序的需求列表,列表条目的体现形式通常称为用户故事(名字很有意思,就是与用户有关的事)。

Scrum团队开发流程是先从Backlog中挑选优先级较高的需求进行开发,也就是说先把用户最需要的部分开发出来。挑选的需求需要Sprint计划会上经过讨论、分析和估算得到任务列表,称为Sprint backlog.

每个迭代结束时,Scrum团队将递交潜在的可交付产品增量。

Scrum起源于软件开发项目,但不仅仅适用于软件开发管理,它可以用于任何复杂的或是创新性的项目或工程。

(下图是来自Scrum中文网的Scrum流程图)

2,Scrum框架的核心

SCRUM框架包括3个角色、3个工件、5个活动、5个价值

(1)3个角色

  1. 产品负责人(Product Owner)
  2. Scrum Master
  3. Scrum团队

(2)3个工件

  1. 产品Backlog(Product Backlog)
  2. SprintBacklog
  3. 产品增量(Increment)

(3)5个活动

  1. Sprint计划会议(Sprint Planning Meeting)
  2. 每日站会(Daily Scrum Meeting)
  3. Sprint评审会议(Sprint Review Meeting)
  4. Sprint回顾会议(Sprint Retrospective Meeting)
  5. 产品Backlog梳理会议( Product Backlog Refinement)

(4)5个价值

  1. 承诺 – 愿意对目标做出承诺
  2. 专注– 把你的心思和能力都用到你承诺的工作上去
  3. 开放– Scrum 把项目中的一切开放给每个人看
  4. 尊重– 每个人都有他独特的背景和经验
  5. 勇气– 有勇气做出承诺,履行承诺,接受别人的尊重

3,SCRUM理论基础

Scrum以经验性过程控制理论(经验主义)做为理论基础的过程。经验主义主张知识源于经验, 以及基于已知的东西做决定。Scrum 采用迭代、增量的方法来优化可预见性并控制风险。

Scrum 的三大支柱支撑起每个经验性过程控制的实现:透明性、检验和适应。Scrum的三大支柱如下:

第一:透明性(Transparency)

透明度是指,在软件开发过程的各个环节保持高度的可见性,影响交付成果的各个方面对于参与交付的所有人、管理生产结果的人保持透明。管理生产成果的人不仅要能够看到过程的这些方面,而且必须理解他们看到的内容。也就是说,当某个人在检验一个过程,并确信某一个任务已经完成时,这个完成必须等同于他们对完成的定义。

第二:检验(Inspection)

开发过程中的各方面必须做到足够频繁地检验,确保能够及时发现过程中的重大偏差。在确定检验频率时,需要考虑到检验会引起所有过程发生变化。当规定的检验频率超出了过程检验所能容许的程度,那么就会出现问题。幸运的是,软件开发并不会出现这种情况。另一个因素就是检验工作成果人员的技能水平和积极性。

第三:适应(Adaptation)

如果检验人员检验的时候发现过程中的一个或多个方面不满足验收标准,并且最终产品是不合格的,那么便需要对过程或是材料进行调整。调整工作必须尽快实施,以减少进一步的偏差。

Scrum中通过三个活动进行检验和适应:每日例会检验Sprint目标的进展,做出调整,从而优化次日的工作价值;Sprint评审和计划会议检验发布目标的进展,做出调整,从而优化下一个Sprint的工作价值;Sprint回顾会议是用来回顾已经完成的Sprint,并且确定做出什么样的改善可以使接下来的Sprint更加高效、更加令人满意,并且工作更快乐。

4,Scrum术语

Scrum: Scrum无对应中文翻译

Agile: 敏捷

Lean: 精益

Iterative:迭代式的

Iteration:迭代

Agile Manifesto: 敏捷宣言

Empirical: 经验性的

Empirical Process:经验性过程

Transparency: 透明性

Inspect and Adapt: 检视与调整

Sprint:原意为冲刺,Scrum中的Sprint无对应中文翻译,指一个迭代

Sprint Goal:Sprint目标

Product Owner :产品负责人 简称PO

Scrum Master :简称SM, 一般不翻译

Development Team : Scrum开发团队

Scrum Team:指PO,SM和开发团队

Scrum Roles:Scrum角色,指PO,SM和开发团队

Emergent :涌现的

Product Backlog:产品待办列表,指需求清单

Sprint Backlog:Sprint待办列表,指Sprint任务清单

Sprint Burn-down Chart:Sprint燃尽图,团队用于做Sprint内的进展跟踪

Release Burn-down Chart:  发布燃尽图,产品负责人做发布进展跟踪

Sprint Planning Meeting: Sprint计划会议

Daily Scrum Meeting:每日站会

Sprint Review Meeting:Sprint评审会议

Sprint Retrospective Meeting: Sprint回顾会议

Product Backlog Refinement: 产品待办列表梳理

Product Backlog Item: 产品待办清单条目,简称PBI

User Story: 用户故事,指一条需求

Story Point:衡量用户故事的工作量大小的计量单位

Velocity: 团队速度

Sprint Task: 实现一条需求需要做的一个技术任务

Definition of Done: DoD,完成的定义

Stakeholders: 干系人

Backlog: 待办列表

Artifact :工件

Estimation :估算

Collaboration: 协作

Scaling Scrum:大规模Scrum

5,总结

主要介绍了一个非常受欢迎的敏捷开发框架Scrum,它是一套开发和维护复杂产品的敏捷开发框架,是一个增量的、迭代的开发过程。Scrum的核心包括3个角色、3个工件、5个活动、5个价值。最后介绍了Scrum中常用的专业术语私释义。

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

软件管理及.NET 技术交流群:467189533

==============================================================================================

转载于:https://www.cnblogs.com/yubinfeng/p/6617055.html

[敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum相关推荐

  1. 优酷鸿蒙开发实践 | 鸿蒙卡片开发

    作者:苎麻 " 如标题所述,我们将持续更新<优酷鸿蒙开发实践>系列文章.本文为系列首篇技术文章,后续文章包括:鸿蒙/Android混合打包技术实践,多屏互动技术实践等,欢迎持续关 ...

  2. java项目开发实践 pdf_Java项目开发实践 覃遵跃.pdf

    高等学校软件工程专业校企深度合作系列实践教材 Java项目开发实践 总主编 周清平 主 编 覃遵跃 副主编 陈园琼 张彬连 彭耶萍 王新峰 ( ) 图书在版编目 CIP 数据 / 高等学校软件工程专业 ...

  3. 48小时开发实践:如何开发一款可实时视频的智能小车

    本文的三位作者正阳.海洋.阿力,是来自不同公司的工程师,将 Agora SDK 与智能小车结合,开发了一款可实时视频远程看房的创新性项目.本文将从方案设计到具体实现,详实分享他们的开发经验.三人也凭借 ...

  4. 开发实践 | 使用Android开发TCP、UDP客户端(代码类)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 在进行Android开发的过程中, ...

  5. python开发实践教程_Python开发实践教程

    前言第一章 通过求三角形面积步入Python程序世界 案例1-1 求三角形面积 导读 知识梳理与扩展 小结 练习一第二章 常用运算.使用自定义函数 案例2-1 用函数的方法计算三角形面积 导读 案例2 ...

  6. 做游戏,学编程(C语言)教材《C语言课程设计与游戏开发实践教程》出版了...

    经过半年多的写作.修改.校样.印制,我们的实践教材<C语言课程设计与游戏开发实践教程>终于出版了.这本书可以看成是"做游戏,学编程(C语言)专栏"的详细版本,以下为书中 ...

  7. GitLab首席执行官Sid Sijbrandij畅谈当前开发实践

    \ 关键摘要 \\ 现代软件开发使用了许多工具,这些工具覆盖项目的整个生命周期--从规划到性能监控,同时现代软件开发也需要更多沟通.\\t 对GitLab来说,开放源码模式不具有可持续性,因此,他们转 ...

  8. 直播美颜技术:视频美颜sdk的快速集成与开发实践

    视频美颜sdk则是直播美颜技术的重要组成部分,它可以帮助开发者快速集成美颜功能,实现直播美颜.目前已经被广大平台.主播.平台用户所应用,在近几年甚至成了一个极其热门的讨论话题,毕竟它与人们的日常拍摄生 ...

  9. 一些后端开发术语(设计/开发/通信/故障/监控/服务治理/测试/发布部署/环境/CI/CD)

    工欲善其事,必先利其器:士欲宣其义,必先读其书. 一. 系统开发 1.1 高内聚/低耦合 高内聚指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则.模块的内聚反映模块内部 ...

  10. python开发的著名网站_python开发著名网站_python开发的著名软件 - CSDN

    根据权威机构统计,每日Python人才需求高达5000 +,但目前很少有程序员知道Python在市场中,竞争小,很容易得到快速和高薪就业.也许你不太了解十大Python常用的开发工具,现在我将告诉你. ...

最新文章

  1. 大学生学python到底有没有有-除了不会生孩子,Python还有啥不会的呢
  2. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )
  3. ajax判断密码是否一致,jquery.validate ajax方式验证密码是否正确
  4. mysql dba系统学习(3)mysql的启动停止
  5. 判别分析分为r型和q型吗_SPSS聚类和判别分析参考.ppt
  6. [HTML 5] More about ARIA Relationships
  7. JAVA入门[5]-初步搭建SpringMVC站点
  8. 在springboot中一些框架和插件的配置
  9. 使用md5对文件去重
  10. matlab运行时间特别长,Matlab运行时间过长
  11. vuetify-icon图标显示不正常
  12. 计算机软件工程学校排名,软件工程专业全国高校排名前十
  13. BLDC反电势过零检测计算
  14. “欲望像海水,喝得越多,越是口渴。”欲望过多,
  15. win8: html5+css3+js
  16. 扫描文件转换成word软件
  17. 服务器安卓系统安装教程,云服务器安装安卓系统
  18. ELK浅入浅出之环境搭建
  19. 5G网络巨大耗电量和基站密度,注定5G服务价格昂贵
  20. 【AI人工智能】斯坦福:2023 AI 人工智能发展指数报告

热门文章

  1. cygwin编译verilator_Windows 安装 verilator
  2. 谷歌官方版android,谷歌Android 11正式官方版
  3. java编程 linux_Linux下java编程
  4. teamviewer设备数量上限_智能控制设备连接故障排除
  5. 虚拟服务器磁盘满了咋办,虚拟主机磁盘空间不够用怎么办?
  6. oracle em 性能点不进,oracle em节点启动不成功问题处理总结
  7. vue webpack打包入口文件是哪个_Vue项目起步
  8. mysql 联接结果集函数_Oracle 中函数如何返回结果集
  9. java 购物车价格类型_WooCommerce - 为购物车中的每个产品添加自定义价格
  10. Linux使用expect自动登录,linux中使用expect实现自动登录(示例代码)