当前软件行业的趋势倾向于使应用程序开发和部署成为业务运营的重要组成部分。这些公司开始专注于实现像DevOps解决方案这样的方法,这有助于缩短产品开发时间。使用DevOps进行开发减少了交付软件所需的阶段。软件交付时间短允许用户尽早部署软件,并通过更多的反馈为业务增加价值。

DevOps与敏捷的结合

DevOps的实施主要集中在软件的各个方面,例如注重软件的可操作性、软件过程的自动化、可扩展性,以及每个版本的更好的部署方式以及它的监视和长期维护。DevOps的缺点是它不能支持敏捷开发中支持的代码的持续测试。与DevOps不同,敏捷主要关注产品是否满足客户的需求,因此专注于严格的测试。

与其单独使用DevOps和敏捷来进行开发,不如将它们结合在一起作为一股力量来汲取二者的长处,从而使软件行业受益。这可以通过将敏捷的冲刺与DevOps提供的集成团队合作来实现。因此,在软件开发中混合DevOps和敏捷方法是提高生产力和交付高质量软件产品的关键要求。这种方法可以优化软件的增量开发及其维护。

DevOps和敏捷结合的优势

●为发布过程创建了一个模式,并提高产品价值。
●允许更好的协作。
●降低发布版本的风险。
●解决错误和修复Bug的速度更快。
●增加透明度。
●产品质量提高,满足用户期望。

二者结合需考虑的问题

为了避免遇到障碍,让我们来看看对DevOps和敏捷开发的顺利结合和实现更高的生产率构成威胁的挑战。

1、在团队内部建立良好融洽的关系,确保工作流程顺畅进行。

团队成员应该理解如何协同使用DevOps和敏捷开发方法,并且应该拓宽自身视野,找出在不引起冲突的情况下充分利用二者的方法,并为增加软件的业务价值做出贡献。团队成员不应该只关注开发周期,还应该关注软件的维护、可操作性和交付等方面。团队应该是富有经验的,并且应该拥有每个版本、服务、适应变更、如何管理变更、工具自动化的知识。

2、概述生命周期

随着DevOps和敏捷的集成,团队现在关心整个开发生命周期中的操作。因此,应该制定一个适当的开发生命周期来提高一致性,最小化开发时间,对每个版本提供全面的测试,并加快产品交付的过程。开发生命周期应该包括开发阶段早期的DevOps方法。

3、为冲刺调整DevOps

敏捷方法将开发过程划分为多个Sprint,但是现在不妨结合团队具体情况来设计一种策略,将DevOps正确地包含在Sprint中。

在sprint中遵循这些指导原则来集成DevOps

●在计划冲刺时,征求运营和支持人员的意见并将这些意见纳入计划内。
●同时考虑产品的特性、功能及操作。
●在接下来的冲刺阶段要考虑到DevOps。
●试着让devops团队参与scrum的每日站会、计划会议、回顾会议等敏捷开发流程中。

包含质量保证

敏捷包括对每个版本的持续测试和集成,但是除了功能测试之外,它不提供性能和负载测试,这是DevOps所需要的。因此对于每个版本都应该包括这些测试。所以QA应该包含在开发的每个阶段。

在DevOps下执行待办列表

在协作期间,在DevOps框架下构建待办列表,需要考虑到:软件可扩展性、监控服务、部署能力、日志记录、警报设置、测试软件、安全问题、运营效能。

设备自动化

工作流自动化是将DevOps和敏捷方法结合在一起的一个重要部分。为了避免潜在的漏洞,需自动化所有的编码过程。

提供文档

敏捷方法并不执着于文档;相反,他们更专注于开发,而DevOps记录了软件版本的设计和其他规范。因而,文档的提供依然不可或缺。

禅道DevOps解决方案

基于敏捷开发方法论Scrum的禅道项目管理软件提供了DevOps解决方案,有助于规划和集成DevOps和敏捷。

禅道对DevOps和持续集成的支持,包括Git、Subversion版本系统集成,Jenkins构建任务触发,以及ZTF自动化测试调度几个方面。通过禅道自研的ZTF自动化测试工具,可很好地驱动8种单元测试框架、3种自动化测试框架来执行测试,并把最终结果回传给禅道,进行统一的报告展示。禅道ZTF打通了项目管理和持续集成工具之间的沟壑,贯穿持续集成、持续测试、持续部署等DevOps生命周期的不同阶段。

禅道,为您提供专业的DevOps解决方案。

Devops与敏捷二者能否结合?的更多相关文章

  1. DevOps - 与敏捷方法区别

    章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...

  2. DevOps之敏捷开发

    初步了解一下敏捷开发及其流程 1 为什么要敏捷开发? 敏捷开发描述了一套软件开发的价值和原则,在这些开发中,需求和解决方案皆通过自组织跨功能团队达成. 1.1 背景与动机 当需求的不明确性和工程实现的 ...

  3. 敏捷和DevOps:是敌是友?

    DevOps是敏捷在软件开发团队的另一应用.那么相比之下,哪个更胜一筹? 一边,有业界认可的scrum master,它的朋友极限编程者,以及由其衍生的 LeSS.SAFe.DAD等,是敏捷. 另一边 ...

  4. 【华为敏捷/DevOps实践】7. 敏捷,DevOps,傻傻不分清楚【华为云技术分享】

    文:姚冬(华为云DevCloud首席技术布道师,资深DevOps与精益/敏捷专家,金融解决方案技术Leader,中国DevOpsDays社区核心组织者) 前言 敏捷是什么?DevOps是什么?两者有什 ...

  5. 数字化转型:敏捷和DevOps如何降低风险,提高速度

    进行数字化转型就意味着团队需要应对经常发生冲突的挑战--例如,要应对在复杂的相互依赖环境中快速变化的需求.对软件开发人员来说,这是一个熟悉的困境. 如果使用传统的瀑布方法来应对这些挑战,就会发现,在线 ...

  6. 大话devops

    一.敏捷的局限性的促使devops诞生 敏捷的局限性:敏捷只注重开发阶段的敏捷,未涉及到整个产品生命周期流程其他环节导致采用敏捷开发流程后效果不明显. devops成为企业数字化转型的助推器,扮演基础 ...

  7. CI Weekly #1 | 这份周刊,带你了解 CI/CD 、DevOps、自动化测试

    原文首次发布与 flow.ci Blog >> 链接,转载请联系:) 准备了很久,CI Weekly 第一期终于来了. CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分 ...

  8. [转载]逐步建设企业DevOps能力

    当软件行业进入互联网时代,市场对软件产品和服务的交付提出了更高的要求:不仅要快速实现需求,而且要快速发布上线,并且必须保证业务可靠.高效运行.为了满足这些要求,IT组织需要强有力的流程.技术和人员作为 ...

  9. Fbric、Ansible、Docker、Chaos Monkey:DevOps工具的年中回顾

    Fbric.Ansible.Docker.Chaos Monkey:DevOps工具的年中回顾 [编者按]近日,Cyber Engineering Solutions Group 技术经理 Hasan ...

随机推荐

  1. PHP preg_match_all() 函数

    preg_match_all 函数用于执行一个全局正则表达式匹配.高佣联盟 www.cgewang.com 语法 int preg_match_all ( string $pattern , stri ...

  2. luogu P1712 [NOI2016]区间 贪心 尺取法 线段树 二分

    LINK:区间 没想到尺取法. 先说暴力 可以发现答案一定可以转换到端点处 所以在每个端点从小到大扫描线段就能得到答案 复杂度\(n\cdot m\) 再说我的做法 想到了二分 可以进行二分答案 从左 ...

  3. react - 多层级嵌套路由支持

    routerCofing配置 { path: '/route1/someModel', children: [ { path: '/route2', component: RouteBase.Cps1 ...

  4. Ef Core增加Sql方法

    [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method)] public class DbFunAttribute : Attri ...

  5. mac 教你如何在Mac上搭建自己的服务器——Nginx

    WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透. 有兴趣的朋友可以自行google或者baidu ...

  6. 付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具

    PDF(Portable Document Format),中文名称便携文档格式是我们经常会接触到的一种文件格式,文献.文档…很多都是PDF格式.它以格式稳定的优势,使得我们在打印.分享.传输过程中能 ...

  7. UI自动化填写问卷(selenium)+定时任务(懒人必备)

    1.自动填报 UI自动化 selenium 开发程序动机:天天有人催着填写问卷,弄的头大.主要还是懒的每天一个个去填写内容. 开发总时长:2个小时:学习+开发+修改 遇到的小问题: 在自动化填写地图的 ...

  8. 密码学系列——常见的加密方式(c#代码实操)

    前言 说起加密方式,其实密码学的角度ASCII编码其实本身就是一种加密解密. 由于其公开,现在用于数字与字符的转换. 查看ASCII表可以去官网查查. 转换代码如下: static void Main ...

  9. Python 超简单 提取音乐高潮(附批量提取)

    很多时候我们想提取某首歌的副歌部分(俗称 高潮部分),只能手动直接卡点剪切,但是对于大批量的获取就很头疼,如何解决? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后 ...

  10. proxy的实现(代理)

    29.proxy的实现 (代理) get方法 //定义一个对象personvar person = {"name":"张三”};//创建一个代理对象pro, 代理pers ...