




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,敏捷与,DevOps,浅谈,1,2020/3/30,2,引言,敏捷,的出现缩小了商业需求和开发之间的隔阂,有效的加快了产品开发的周期和效率,开发和运维之间的隔阂需要解决,DevOps,的理念应运而生,3,目录,理解敏捷,敏捷开发流程,Scrum,迭代式增量软件开发,DevOps,理念,敏捷与,DevOps,4,敏捷更符合软件开发规律,传统开发,敏捷开发,软件更像一个活着的植物,软件开发是,自底向上逐步有序的生长过程,类似于植物自然生长,敏捷开发遵循软件客观规律,不断的进行,迭代增量,开发,最终交付符合客户价值的产品,5,理解敏捷,敏捷开发是,一种以人为核心、迭代、循序渐进的开发方法,在敏捷
2、开发中,软件项目在构建初期被切分成,多个子项目,各个子项目,的成果,都经过测试,具备可视、可集成和可运行使用的特征,6,谁在用敏捷,7,目录,理解敏捷,敏捷开发流程,Scrum,迭代式增量软件开发,DevOps,理念,敏捷与,DevOps,8,敏捷开发流程,PO,和开发团队对产品业务目标形成共识,PO,建立和维护产品需求列表,需求会不断新,增和改变,并进行优先级排序,PO,每轮迭代前,Review,需求列表,并筛选高,优先级需求进入本轮迭代开发,开发团队,细化本轮迭代,需求,并按照需求的优,先级,依次在本轮迭代完成,开发团队每日,站立会议,特性开发,持续集成,使开发进度真正透明,PO,对每轮迭
3、代,2,4,周,交付的可工作软件,进行现场验收和反馈,回到第,3,步,开始下一轮迭代,迭,代,每日工作,交付,可以工作,的软件,迭代计划,回顾,确定一个迭代,的工作内容,产品和利,益相关人,9,目录,理解敏捷,敏捷开发流程,Scrum,迭代式增量软件开发,DevOps,理念,敏捷与,DevOps,10,Scrum,特点,Scrum,将小型团队转化为自身命运的管理者,强调每个人的主动性与参与性,快速实现“频繁变更的需求,关注交付与产出的商业价值,目的:促使整个开发过程,迅速,自我驱动,11,Scrum,角色,敏捷团队包括,3,个核心角色,PO(Product Owner,传递来自市场的声音、提升
4、项目的回报,确定产品,Backlog,中的优先级,从产品的角度确保团队工作方向,Scrum Master(Scrum,教练,管理,Scrum,流程,确保,Scrum,运转,确保每个,Sprint,目标的实现与产出,不受外界干扰,Team(Virtual Team,虚拟团队,由,5-9,人组成(开发,测试等)、评估每个,Sprint,工作,12,Scrum,框架,迭代,每,2-4,周,Daily,SCRUM,每,24,小时,高优先级,可运行的软件,工作项,分解,产品订单,Product Backlog,迭代订单,Sprint Backlog,新的功能,增量,迭代规划会议,Sprint Plan,
5、一般,不超过,8,小时,前,4,个小时,产品负责人,向团队展示,最高优先级的产品,团队则向他询问,产品,Backlog,的内容、目的、含义及,意图,后,4,小时:团队计划本,Sprint,的安排,迭代复审会议,Sprint Review,一般,4,个小时,由,团队成员,向产品负责人和其他利益,相关人展示,Sprint,周期内,的产品开发情况,迭代回顾会议,Sprint Retrospective,一般,3,个小时,Scrum Master,将,鼓励团队在,SCRUM,过程框架和实,践范围内,对开发过程做出修改,使它在下一个,Sprint,周期中更加有,效和令人愉快,每日站立会议,Daily S
6、crum Meeting,在简会上,每个成员主要回答三个问题,自上次,SCRUM,简会后的一天了(昨天,你做了什么,从现在到下次,SCRUM,简会的一天里(今,天,你要做什么,在实现,SCRUM,及项目目标的工作中,你,遇到,哪些困难,吗,产品负责人,Scrum,主管,开发团队,13,Scrum,工具,团队,Sprint,计划会议,Sprint Backlog,Daily,简会,评审会议、总结,Product Backlog,所有需要完成的产品清单,包括优先级、商业诉求,PO,负责,Sprint Backlog,由团队主动选择完成的每个,Sprint,需要完成的,Story,列表,每个,Sto
7、ry,包括了需求、优先级、工作量,一旦确定,不亦更改,Sprint Burn down,显示工作量趋势变化的图表,每天,由,Scrum Master,更新,14,Story,列表,故事是用来讲的、分享的、讨论的,有价值:从商业的角度阐述(非技术术语,小、独立,简单的功能,可讨论:关于故事的交流更重要,动态的:伴随交流,确定细节、优先级,优先级、需要交付的截止日期,大需求可先写下大故事,再,提炼,分解,15,Story,列表,XXXXX,备注,XXX,内容,优先级,P1,Sprint,Sprint 1,细节,1,XXX,细节,2,XXX,细节,3,XXX,Task 1,3 hour,Task 2
8、,2 hour,Task 3,3 hour,Task 4,3 hour,Task 5,2 hour,Task 6,3 hour,Deadline,2015XXXX,SP,8,16,估算时间,story point,计划纸牌,17,Daily Meeting,每天,15,分钟,团队面对面站立成圈,晨会是为项目信息同步可视化,不是为了,解决问题,避免无关的讨论,SM,引导,欢迎各界人士,但,只有“猪”可以发言,18,任务看板,燃尽图,19,迭代结果的验收,Review,迭代结果的验收,Review,团队需要演示所完成的,迭代工作,典型的做法是使用演示形式展示新功能或者底层架构的实现,非正式的,2,
9、小时的提前准备,不需要正式演示文档,相关的利益相关者,邀请所有关注产品的人参加,20,一个好,Demo,的效果,1,促进,PO,融入团队,PO,真正被团队认可成为团队的一员,不再是,那个被,Boss,传递需求,2,判定演示成效,符合故事结果预期,没有,Bug,亮点可以是技术的革新,界面好,生产力提升等,每个评委都必须把不足点表达出,并请团队改进,3,沟通,每个故事,Demo,后,有,1,3,分钟,沟通和提问,团队会直接直面客户的反馈,21,目录,理解敏捷,敏捷开发流程,Scrum,迭代式增量软件开发,DevOps,理念,敏捷与,DevOps,22,DevOps,的出现,开发团队,要求的不断满足
10、新的客户需求,并快速实现新的功能,而,运营,最关心的是“稳定压倒一切”,任何差错都有可能对生产环境中的用户造成直接影响,23,如何解决开发和运维的隔阂,Wikipedia,对,DevOps,的定义是,DevOps,是,软件开发,运维,和,质量保证,三个部门之间的沟通、协作和集成所采用的流程、方法和体系的一,个集合,它是人们为了及时生产软件产品或服务,以满足某个业务目标,对开发与运维之间相互依存关系的,一种新的理解,DevOps,并不仅仅关注软件部署,它是部门间沟通协作的一组流程和方法,打破了目前的,rd-qa-op,流水线的流程,例如,rd,每次提交代码触发一系列的自动化步骤,包括,编译,单元
11、测试,代码覆盖率,功能测,试,部署测试,性能,容量测试,rd,qa,op,都在过程中做质量保障,24,如何解决开发和运维的隔阂,代码树,主干开发,所有的,feature,作为一个整体发布,Team Foundation Server,持续集成工具,开发测试一体,25,持续集成,持续集成,的解决方案是简洁的。产品由,SVN,去管理,构建过程由,CI server,负责,而,构建过程包含了编译,测试,发布,部署过程,Tools,Automated infrastructure,自动化,系统之间可集成,shared version control,SVN,共享源码,one step build and deploy,持续构建和部署,feature flags,公司内部称为,single branch,主干开发,Shared metrics,指标度量工具,IRC and IM rob
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论