DevOps 如何消除开发瓶颈

拥抱 DevOps 使 Rangers 能够变得更敏捷、更快速、对开发者社区更有价值。
267 位读者喜欢这篇文章。
Testing certificate chains with a 34-line Go program

carrotmadman6。由 Opensource.com 修改。CC BY-SA 2.0

Visual Studio 应用程序生命周期管理 (ALM) Ranger 计划是一个由志愿者组成的社区,为开发者社区提供专业的指导、实践经验和填补空白的解决方案。它于 2006 年作为一个微软内部社区创建,旨在“将产品组与领域连接起来,消除采用障碍”。到 2009 年,该社区拥有 200 多名成员,这导致了协作和规划方面的挑战、由于依赖关系和手动流程造成的瓶颈,以及开发者社区内部日益增加的延迟和不满。2010 年,该计划发展为包括微软最有价值专家 (MVP),扩展为一个遍布全球的地理分布式社区。

该社区大致分为十几个活跃团队。每个团队都致力于设计、构建和支持一个指导或工具项目在其生命周期内。过去,由于僵化的瀑布式流程以及对一个或多个项目经理的高度依赖,团队通常在团队管理层面遇到瓶颈。项目经理干预决策、发布,并推动项目的“原因、内容和方式”。此外,缺乏实时指标使得团队无法有效地监控他们的解决方案,而关于错误和问题的警报通常来自社区。

是时候找到一种更好的做事方式,为开发者社区交付价值了。

DevOps 来解救

“DevOps 是人员、流程和产品的结合,旨在为我们的最终用户实现持续的价值交付。”——Donovan Brown

为了应对这些挑战,社区停止了所有新项目几个迭代周期,以探索敏捷实践和新产品。目的是重振社区活力,找到促进自主性、精通和目标感的方法,正如 Daniel H. Pink 在《Drive》一书中所概述的那样,并彻底改革僵化的流程和产品。

成熟的自组织、自我管理和跨职能团队在自主性、精通和目标感方面蓬勃发展。”——Drive,Daniel H. Pink。

让文化————正确是拥抱 DevOps 的第一步。社区实施了 Scrum 框架,使用 kanban 来改进工程流程,并采用可视化来提高透明度、意识以及最重要的信任。随着团队的自组织,传统的层级结构和指挥链消失了。自我管理鼓励团队积极监控和改进自己的流程。

2010 年 4 月,社区采取了另一个关键步骤,将其文化、流程和产品切换并提交到云端。虽然免费的“由社区为社区”解决方案的核心重点仍然是指导和填补空白,但在开源解决方案 (OSS) 方面的投资不断增加,以研究和分享 DevOps 转型带来的成果。

持续集成 (CI) 和持续交付 (CD) 用自动化管道取代了僵化的手动流程。这使团队能够在无需项目管理干预的情况下,将解决方案部署到金丝雀用户和早期采用者用户。添加遥测技术使团队能够监控他们的解决方案,并经常在用户注意到之前检测并解决未知问题。

DevOps 转型是一个持续演进的过程,使用实验来探索和验证人员、流程和产品创新。最近的实验引入了管道创新,这些创新不断提高价值流。自动、持续且静默地扫描组件可以检查开源组件的安全性、许可和质量。部署环和功能标志使团队能够对所有用户或特定用户的功能进行细粒度控制。

2017 年 10 月,社区将其大部分私有版本控制存储库迁移到 GitHub。将所有存储库的所有权和管理责任转移给 ALM DevOps Rangers 社区,使团队拥有自主权,并有机会激励更广泛的社区为开源解决方案做出贡献。团队有权为最终用户交付质量和价值。

益处和成就

拥抱 DevOps 使 Ranger 社区能够变得敏捷,实现更快上市和更快学习和反应的流程,减少宝贵时间的投入,并宣告自主权。

以下是我们从转型中观察到的一些事项,按任意顺序列出

  • 自主性、精通和目标感是核心。
  • 从一些具体的东西开始并迭代——避免大爆炸。
  • 切实可行且可操作的指标很重要——确保它不会变成噪音。
  • 转型中最具挑战性的部分是人(文化)。
  • 没有蓝图;每个组织和每个团队都是独一无二的。
  • 转型是持续的。
  • 透明度和可见性是关键。
  • 使用工程流程来加强期望的行为。

转型变化表

  过去 当前 设想
分支 服务和发布隔离 功能 主干
构建 手动且容易出错 自动化且一致  
问题检测 用户来电 主动遥测  
问题解决 数天到数周 数分钟到数天 数分钟
规划 详细设计 原型设计和故事板  
项目管理 2 位项目经理 (PM) 0.25 位项目经理 0.125 位项目经理
发布节奏 6 到 12 个月 3 到 5 个迭代周期 每个迭代周期
发布 手动且容易出错 自动化且一致  
迭代周期 1 个月 3 周  
团队规模 10 到 15 人 2 到 5 人  
构建时间 小时  
发布时间 数分钟  

但是,我们还没有完成!相反,我们正在参与一个激动人心、持续且可能永无止境的转型。

如果您想了解更多关于我们的转型、积极经验以及需要解决的已知挑战,请参阅“我们转型为 DevOps 文化的旅程”。

标签
User profile image.
自 80 年代中期以来,我一直致力于软件工程的简洁性和可维护性。作为一名软件工程师,我分析、设计、开发、测试和支持软件解决方案。

评论已关闭。

知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.