大牛总结目前最流行软件开发模式之敏捷开发(scrum)
软件开发模式之敏捷开发(scrum)
简介
这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢?
目录
- 什么是敏捷开发?
- 传统的开发模式和敏捷开发模式的对比?
- 敏捷开发scrum的实施。
什么是敏捷开发
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
传统的开发模式和敏捷开发模式的对比
瀑布模型:
优点:
1. 为项目提供了按阶段划分的检查点。
2. 当前一阶段完成后,您只需要去关注后续阶段.
3. 它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
缺点:
1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3. 通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4. 瀑布模型的突出缺点是不适应用户需求的变化。
敏捷模型:
优点:
- 敏捷开发的高适应性,以人为本的特性。
- 更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情。
缺点:
- 由于其项目周期很长,所以很难保证开发的人员不更换,而没有文档就会造成在交接的过程中出现很大的困难。
敏捷开发scrum的实施
Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;把一个开发流程的名字取名为Scrum,相当于大家像打橄榄球一样迅速、富有战斗激情。而Scrum就是这样的一个开发流程。
Scrum开发流程中的三大角色
– 产品负责人(Product Owner)
主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。
– 流程管理员(Scrum Master)
主要负责整个Scrum流程在项目中的顺利实施和进行,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。
–开发团队(Scrum Team)
主要负责软件产品在Scrum规定流程下进行开发工作,人数控制在5~10人左右,每个成员可能负责不同的技术方面,但要求每成员必须要有很强的自我管理能力,同时具有一定的表达能力;成员可以采用任何工作方式,只要能达到Sprint的目标。
scrum开发流程图
1、我们首先需要确定一个Product Backlog(产品需求列表),这个是由PO负责的(如图(一));
2、有了Product Backlog列表,我们需要通过 Sprint Planning Meeting(Sprint计划会议) 来从中挑选出一个Story作为本次迭代完成的目标,这个目标的时间周期是1~4个星期,然后把这个Story进行细化,形成一个Sprint Backlog;
3、Sprint Backlog是由Scrum Team去完成的,每个成员根据Sprint Backlog再细化成更小的任务(细到每个任务的工作量在2天内能完成);
4、在Scrum Team完成计划会议上选出的Sprint Backlog过程中,需要进行 Daily Scrum Meeting(每日站立会议),每次会议控制在15分钟左右,每个人都必须发言,并且要向所有成员当面汇报你昨天完成了什么,并且向所有成员承诺你今天要完成什么,同时遇到不能解决的问题也可以提出,每个人回答完成后,要走到黑板前更新自己的 Sprint burn down(Sprint燃尽图)(如图(二)和如图(三));
5、做到每日集成,也就是每天都要有一个可以成功编译、并且可以演示的版本。
6、当一个Story完成,也就是Sprint Backlog被完成,也就表示一次Sprint完成,这时,我们要进行 Srpint Review Meeting(演示会议),也称为评审会议,产品负责人和客户都要参加(最好本公司老板也参加),每一个Scrum Team的成员都要向他们演示自己完成的软件产品。
7、最后就是 Sprint Retrospective Meeting(回顾会议),也称为总结会议,以轮流发言方式进行,每个人都要发言,总结并讨论改进的地方,放入下一轮Sprint的产品需求中;
如图(一):
如图(二):
如图(三):
如图(四):
敏捷开发管理工具:teambition
teambition
大牛总结目前最流行软件开发模式之敏捷开发(scrum)相关推荐
- 【系统分析与设计】软件开发模式之敏捷开发(Scrum)分析
文章目录 1 敏捷开发 2 传统的开发模式和敏捷开发模式的对比 2.1 瀑布模型: 2.2 敏捷模型: 3 敏捷开发scrum的实施 4 敏捷工作件 5 敏捷管理实践 1 敏捷开发 敏捷开发以用户的需 ...
- 软件开发模式之敏捷开发
1.开发流程 优点: 敏捷开发的高适应性,以人为本的特性. 更加的灵活并且更加充分的利用了每个开发者的优势,调动了每个人的工作热情. 缺点: 由于其项目周期很长,所以很难保证开发的人员不更换,而没有文 ...
- 开发模型的理解:瀑布模型/增量式/迭代/敏捷开发——笔记
首先,不管采用何种开发模型.软件开发都至少具有以下的周期,包括: 需求获取/分析(系统分析.软件分析) 设计 实现 测试 发布(运行) 维护 正在上传-重新上传取消 既然所有的开发模型都具有相同的开发 ...
- 【软件测试基础理论知识】1.3软件开发模型之—敏捷开发(敏捷模型)
敏捷开发 一. 什么是敏捷开发 1.1 敏捷开发的定义 1.2 敏捷开发的原则 1.3 敏捷开发的特点 1.4 传统的开发模式和敏捷开发模式的对比 1.5 敏捷开发的分类 1.5 Scrum 一. 什 ...
- 软件开发模式之瀑布式 | 迭代式 | 螺旋式 | 敏捷式
软件开发模式有瀑布.迭代.螺旋以及敏捷模式等等. (1)瀑布开发模式 瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法.瀑布模型式是最典型的 ...
- Soft:软件开发的简介(敏捷开发等6大软件开发模式)、软件测试的简介(单元测试/集成测试/系统测试/验收测试/回归测试、黑白灰功能测试、DEV等四套环境)、运维的简介之详细攻略
Soft:软件开发的简介(敏捷开发等6大软件开发模式).软件测试的简介(单元测试/集成测试/系统测试/验收测试/回归测试.黑白灰功能测试.DEV等四套环境).运维的简介之详细攻略 目录 1.软件开发( ...
- 软件开发模式对比(瀑布、迭代、螺旋、敏捷)
软件开发模式对比(瀑布.迭代.螺旋.敏捷) 1.瀑布模型是由W.W.Royce在1970年最初提出的软件开发模型, 瀑布式开发是一种老旧的计算机软件开发方法. 瀑布模型式是最典型的预见性的方法,严格遵 ...
- 【笔记】关于全栈开发、技术发展方向,软件开发模式的思考
Full Stack Developer 全栈/全端开发者 掌握多种技能,并能利用独立完成产品的人. 优势-视野/全局思维,节约时间/经济成本. 横向开发,纵向开发 横向是把程序按数据,业务,表示等 ...
- 微软公司软件开发模式简介
微软公司软件开发模式简介 出处不详 北京大学出版社96年底所出的<微软的秘密>一书是目前我所见到的对微软公司软件产品开发过程介绍的最专业.最深入的一本书.通过本书,我们可以看到微 ...
- 从瀑布到敏捷——漫画解读软件开发模式变迁史
文章目录 前言 总览 1.瀑布模型: 2.敏捷开发: 3.看板: 4.Scrum: 4.精益软件开发: 前言 1913 年,美利坚工业之神--亨利福特,发明了世界上第一条流水线,汽车工业从此进入了大规 ...
最新文章
- 通俗理解tf.name_scope()、tf.variable_scope()
- 差分 ---- Codeforces Round #672 (Div. 2):C2. Pokémon Army (hard version)[差分的思想]
- [原]missing #39;;#39; before #39;namesapce#39;错误的解决
- 比特币多重签名机制使用篇
- swift添加下拉刷新_React Native自定义下拉刷新组件
- poj3264Balanced Lineup(RMQ)
- 2017和2019对比图刷屏,真实扎心!苹果中国女老板也跟风晒图...
- weblogic集群集群说明
- 极简代码(二)—— 内积
- python ** 运算符_Python学习第二天--运算符小结
- cad插件_CAD插件三领外挂7
- dotcms open source java cms_开放源Java(JSP)CMS系统的推荐源代码
- 阿里云ECS搭建在线IDE
- 分享3个提升效率的方法
- linux看caj文件格式,CAJ 文件扩展名: 它是什么以及如何打开它?
- 应用案例 | 2017款道奇RAM 1500车偶尔指南针无显示、空调不工作故障诊断
- ckeditor4 使用总结
- 华为WeAutomate RPA产品首席规划师周为:企业数智化转型之路,RPA共创新价值
- 超详细的APP数据指标体系分析
- 花呗利息计算器_花呗利息是多少?花呗利息怎么算