到底是什么敏捷开发

网上有很多文章都在比较软件研发的瀑布模式、迭代模式和敏捷模式的区别,然而,敏捷其实不是一个技术,一个固化的模式,而是一种思想,一种宣言。敏捷软件开发关注保持简洁的代码,经常性测试以及及时地交付应用的功能模块。敏捷宣言的创建是为了替代文档驱动的繁重的软件开发流程,例如瀑布式方法。下面是我的理解。

一、概念

敏捷,把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷是应对快速变化的需求的一种软件开发能力,以用户的需求进化为核心,关注互动沟通,强调最简方案,能尽量早的将尽量小的可用的功能交付使用,并在整个项目周期中持续改善和增强。敏捷思想可在SDLC 中的各环节体现出来,如下图是一个敏捷化的IPD模式。
在这里插入图片描述
在迭代内每个build的敏捷工作模式如下:
在这里插入图片描述

二、敏捷宣言

敏捷宣言,也叫做敏捷软件开发宣言,包括四种核心价值和十二条原则。
(一)敏捷的四种核心价值:
1.个体和交互胜于流程和工具
2.工作软件胜于理解文档
3.客户协作胜于合同协商
4.响应变化 胜过 遵循计划

(二)敏捷宣言遵循的十二条原则:

敏捷选择提出的12条原则已经应用于管理大量的业务以及与IT相关项目中,包括商业智能(BI)。12原则包括:
  1.通过早期和连续型的高价值工作交付满足“客户”。
  2.大工作分成可以迅速完成的较小组成部门。
  3.识别最好的工作是从自我组织的团队中出现的,
  4.为积极员工提供他们需要的环境和支持,并相信他们可以完成工作。
  5.创建可以改善可持续工作的流程。
  6.维持完整工作的不变的步调。
  7.欢迎改变的需求,即时是在项目后期。
  8.在项目期间每天与项目团队和业务所有者开会。
  9.在定期修正期,让团队反映如何能高效,然后进行相应地行为调整。
  10.通过完车的工作量计量工作进度。
  11.不断地追求完善。
  12.利用调整获得竞争优势。
  
三、典型的敏捷事件
1.Kanban:相当于板报,上边按照to do /doing/done划分成三部分,每个人将写有自己名字以及任务的便利贴贴在相应的区域,以便小组之间互相了解彼此的工作进度,便于上级督查是敏捷的一种落地体现。

2.Pair work:结对编程、结对测试。结对工作体现了合作精神,针对有难度需要汇集各方才智的工作会事半功倍,避免闭门造车,提高工作效率。

3.Cross action:交叉设计、交叉评审、交叉执行,有助于发现自己发现不了的缺陷。

4.Daily scrum meeting:每日例会。主要总结昨日完成了什么,遇到什么问题,怎么解决的,今日计划是什么。

5.SOS meeting:Scrum of Scrums,大规模敏捷模型。当多个scrum team工作在同一个产品上的时候,虽然我们努力想做到全功能的特性团队,希望能在一个团队里做完所有的事情,而不需要依赖其他的团队,但这明显只是一个非常理想的状态;团队之间不可避免会有依赖,需要协同。Scrum of scrums的做法就是每个scrum团队选出1-2个代表,团队的代表聚在一起分享进度和协同解决依赖。如果组织很大,scrum团队太多,也会出现先按部门的划分在不同的部门里做SoS,然后不同部门的代表再聚在一起做“Scrum of Scrum of Scrums”。也就是分层次的SoS。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值