Agile简介

一.Agile
1.什么是Agile?
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
2.Agile方法的四个价值
(1)较之于过程和工具,更注重人及其相互作用的价值。
(2)较之于无所不及的各类文档,更注重可运行的软件的价值。
(3)较之于合同谈判,更注重与客户合作的价值。
(4)较之于按计划行事,更注重响应需求变化的价值。
3.敏捷强调的是适应性而非预见性
二.scrum
什么是scrum?
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums。
三.XP
什么是XP?
可在小规模范围内的每次迭代中使用瀑布式方法,也可选择各种工作并行进行。
ps:其中Scrum是Agile典型的管理实践,XP是Agile典型的技术实践。
四.敏捷方法之极限编程(XP)和 Scrum区别
区别之一: 迭代长度的不同
XP的一个Sprint的迭代长度大致为1-2周, 而Scrum的迭代长度一般为 2~ 4周。
区别之二: 在迭代中, 是否允许修改需求
XP在一个迭代中,如果一个User Story(用户素材, 也就是一个需求)还没有实现, 则可以考虑用另外的需求将其替换, 替换的原则是需求实现的时间量是相等的。而Scrum是不允许这样做的,一旦迭代开工会完毕, 任何需求都不允许添加进来,并有Scrum Master严格把关,不允许开发团队受到干扰。
区别之三: 在迭代中,User Story是否严格按照优先级别来实现
XP是务必要遵守优先级别的。但Scrum在这点做得很灵活,可以不按照优先级别来做,Scrum这样处理的理由是:如果优先问题的解决者,由于其它事情耽搁,不能认领任务,那么整个进度就耽误了。另外一个原因是,如果按优先级排序的User Story #6和#10,虽然#6优先级高,但是如果#6的实现要依赖于#10,则不得不优先做#10。
区别之四:软件的实施过程中,是否采用严格的工程方法,保证进度或者质量
Scrum没有对软件的整个实施过程开出工程实践的处方,要求开发者自觉保证。但XP对整个流程方法定义非常严格,规定需要采用TDD、自动测试、结对编程、简单设计、重构等约束团队的行为。
四.敏捷软件开发宣言
1.个体和互动
2.工作的软件
3.客户合作
4.响应变化
五.敏捷开发的12条准则
1.最高目标是尽早和持续地交付有价值的软件来满足客户
2.欢迎对需求提出变更——不管是在项目开发前期还是后期。要善于利用需求变更,帮助客户获得竞争优势。
3.要不断交付可用的软件,周期从几周到几个月不等,且越短越好
4.项目过程中,业务人员与开发人员必须在一起工作(能有效的沟通问题)。
5.要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务。
6.无论是团队内还是团队间,面对面交谈是最有效的沟通方法。
7.可用的软件是衡量进度的主要指标。
8.敏捷过程提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度。
9.对技术的精益求精以及对设计的不断完善将提升敏捷性。
10.要做到简洁,即尽最大可能减少不必要的工作
11.最佳的架构、需求和设计出自于自组织的团队。
12.团队要定期反省如何能够做到更有效,并相应地调整团队的行为。
六.三三五五
1.三个角色:SM、PO、开发团队(自然包括了我们的开发人员和QA)。
2.三个产出物:Product Backlog、Sprint Backlog、交互的可用软件工件。
3.五个活动:计划会、sprint评审会、回顾会、每日立会、Product Backlog的梳理(发生在整个SCRUM周期的任何时间)。
4.五个价值观:公开、专注、勇气、承诺、尊重。
七.敏捷的开发模式
在这里插入图片描述
回归:缺陷的回归和迭代的回归。
迭代回归:一个迭代的回归是为了测试前几个build的功能是否还能继续使用。
产品回归:测试产品的所有功能是否实现。
产品的UAT:客户抽取重要的案列来做验收测试。
维护:一般一年的项目一般有半年的免费维护期。
最简方案:在最初阶段拿出最简版本,先交付给客户去使用,然后再一个迭代一个迭代的更新完善,每个迭代都可独立交付使用。
在迭代内每个build的敏捷工作模式如下:
在这里插入图片描述

在这里插入图片描述
Pair Work:结队编程,结队测试
Cross Actions:交叉执行,交叉设计,交叉评审
Daily Scrum Meeting:每日例会
SOS Meeting:保证分组开发过程中,各组工作能相互接上
TDD:测试驱动开发(把用例前置驱动开发工作)
BDD:行动驱动开发
CI:持续集成
LLT:开发自测
DIT:开发集成测试
SIT:系统集成测试(执行我们写的测试用例)

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值