DevOps 与敏捷的话题几乎就像争论 iPhone 与 Android 一样——每个人都有自己的观点,而且情绪可能会变得激动,尤其是当人们意见不一致时。
在撰写了DevOps v. 敏捷:有什么区别? 并阅读了文章中的评论后,我想添加更多想法——包括我对这个话题的一些想法是如何改变的。
我的观点来自我现在的身份,也来自我过去的经历。 我曾经是一名系统管理员和基础设施工程师,现在我是密苏里州一家大型公用事业公司的高级 Scrum Master。(实际上,我先是一名 Scrum Master,然后才成为管理员或工程师,但言归正传。)
我的团队由六名前端软件工程师和 IT 程序员分析师、一名业务分析师、两名产品负责人和我组成。 最近,我们了解到管理层希望我们的团队成为一个 DevSecOps 团队,因此我们的核心 Scrum 团队正在与一个 DevSecOps 团队合作,该团队正在帮助我们进行转型。 没有人天真地认为这很容易,但 DevSecOps 团队的经验让我们有信心能够成功。
我们团队的经理最近聘请了一位高级软件工程师,他将推动 DevSecOps 目标。 作为一名 Scrum Master,我将继续专注于持续改进。 团队还很年轻,所以他们没有丰富的工作经验,但他们很聪明而且积极主动,而且有很大的进步空间。 此外,我们整个组织正在经历一场敏捷转型,所以大多数人对包括 敏捷宣言 和 五大 Scrum 价值观在内的所有敏捷事物都是新手。

敏捷、Scrum、DevOps 等
DevOps 和敏捷之间存在明确的关系。 敏捷是方法论,Scrum 是框架,而 DevOps 属于敏捷的 保护伞,与看板、精益、大规模 Scrum、极限编程、水晶等一起。 例如,我们的 Scrum 团队是一个敏捷团队,它将作为一个 DevSecOps 团队运作。
DevOps 和敏捷都不是关于工具的。 相反,两者都是关于 心态和文化 的。 当它做得对时,团队会以不同的方式思考和行动,并取得更大的成果,包括更快的软件交付、持续集成 (CI)、持续交付 (CD)、持续改进、可工作的软件、更快的解决方案、更多的协作和更少的孤岛。 质量测试、更好的自动化和改进的系统、流程和实践也看到了额外的好处。
共同概念
它们共同拥有的一些敏捷概念与敏捷宣言相关; 12 项原则中最熟悉的是前四项
- 个体和互动高于流程和工具
- 可工作的软件高于全面的文档
- 客户协作高于合同谈判
- 响应变化高于遵循计划
它们共同拥有的一些 DevOps 概念是 CI/CD 管道、优化软件交付和质量、创新文化、服务级别目标和指标(SLO 和 SLI)、跨团队协作以及自动化。
DevOps 和敏捷的优势
DevOps 加快了开发人员和运维人员之间的协作速度。 此外,即使 DevOps 不是关于工具的,但开发和运维团队使用相同的技术堆栈这一事实,也在两者之间建立了一种共同的语言和同理心。 我们的 Scrum 团队使用 Jira 来跟踪所有错误、增强功能和团队绩效。 常见的 DevOps 工具包括 Jenkins、AWS、SonarQube、GitHub、Splunk 和 Ansible。 虽然工具因团队而异,但心态和文化应该在所有团队中保持一致。
DevOps 还减少了开发和运维之间的隔阂,并让人感受到设身处地为对方着想的感觉,因为现在它们作为一个整体运作。
敏捷团队经常且快速地持续交付,并沿途逐步调整。 对于大多数软件或产品交付团队来说,为期两周的迭代冲刺似乎是最合适的。 敏捷团队可能会在其工作中使用 DevOps 原则(例如,实施 CI/CD 管道),并且与运维团队合作的开发团队很可能以相同的两周增量工作。
DevOps 传统上会导致持续部署、交付和集成。 团队合作是集成的; 问题和失败由开发、运维和其他实体(例如质量保证 (QA)、测试、自动化等)共同承担。
总结
我相信敏捷和 DevOps 呼吸着相同的空气,它们之间有许多概念和理论相互交叉。
虽然我毫不怀疑会有相反的意见,甚至一些措辞强烈的不同意我的观点,但我认为我们都会同意,敏捷和 DevOps 都致力于解决复杂性、提高质量并围绕软件设计进行创新。
2 条评论