当前位置:网站首页>软件开发模式之敏捷开发(scrum)
软件开发模式之敏捷开发(scrum)
2022-07-02 06:25:00 【android_Mr_夏】
简介
这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属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
参考
边栏推荐
- php中生成随机的6位邀请码
- Build FRP for intranet penetration
- Ceaspectuss shipping company shipping artificial intelligence products, anytime, anywhere container inspection and reporting to achieve cloud yard, shipping company intelligent digital container contr
- 类加载器及双亲委派机制
- Check log4j problems using stain analysis
- [daily question] - Huawei machine test 01
- In depth study of JVM bottom layer (IV): class file structure
- php中的数字金额转换大写数字
- Oracle EBS interface development - quick generation of JSON format data
- Sqli labs customs clearance summary-page1
猜你喜欢
Sqli labs customs clearance summary-page4
Cloud picture says | distributed transaction management DTM: the little helper behind "buy buy buy"
In depth study of JVM bottom layer (V): class loading mechanism
Write a thread pool by hand, and take you to learn the implementation principle of ThreadPoolExecutor thread pool
MapReduce与YARN原理解析
图解Kubernetes中的etcd的访问
JSP智能小区物业管理系统
CVE-2015-1635(MS15-034 )远程代码执行漏洞复现
UEditor . Net version arbitrary file upload vulnerability recurrence
在php的开发环境中如何调取WebService?
随机推荐
Sqli Labs clearance summary - page 2
mapreduce概念和案例(尚硅谷学习笔记)
In depth study of JVM bottom layer (V): class loading mechanism
sqli-labs通关汇总-page4
Explain in detail the process of realizing Chinese text classification by CNN
JS countdown case
ssm垃圾分类管理系统
sqli-labs通关汇总-page1
图解Kubernetes中的etcd的访问
php中计算树状结构数据中的合计
Flex Jiugongge layout
Common prototype methods of JS array
Write a thread pool by hand, and take you to learn the implementation principle of ThreadPoolExecutor thread pool
sqli-labs通关汇总-page2
Data warehouse model fact table model design
Redis -- cache breakdown, penetration, avalanche
Go package name
SSM二手交易网站
ORACLE APEX 21.2安裝及一鍵部署
How to call WebService in PHP development environment?