探索 DevOps 文化

已完成

文化是 DevOps 的重要基础,因为它需要成长型和持续学习型思维模式才能成功。 领导支持是成功的关键因素之一。

在我们讨论 DevOps 文化是什么样子之前,让我们考虑一下文化在组织采用 DevOps 的能力方面所扮演的角色。 依照 Gartner 的说法:

文化阻力和低水平的流程纪律将为 DevOps 计划带来显著的失败率。

《Phoenix Project and DevOps Handbook》(Phoenix 项目和 DevOps 手册)的作者 Gene Kim 说

DevOps 是一个充满挑战的旅程,这些挑战很少是因为技术错误或流程错误而引起的。 事实上,最大和最困难的障碍往往是文化。 而且,如果你在文化方面做错了,即使你其他一切都做对了,你也会遭遇挫折、额外的成本和可能的失败。

什么是文化?

在我们看来,文化是一个群体的社会遗产。 它是在团队处理由于团队成员内部互动以及成员与环境之间互动而所产生的问题的历史中发现、发展或发明的一种应对模式。

文化界定:

  • 什么是可接受的,什么是不可接受的。
  • 什么是重要的,什么是不重要的。
  • 什么是正确的,什么是错误的。
  • 什么是可行的,什么是不可行的。
  • 你可以雇佣、解雇和提拔哪些人。

DevOps 计划为什么会失败?

Gartner 的研究表明,到 2023 年,90% 的 DevOps 计划都将失败,因为领导层所使用的管理方法存在局限性

重要

领导层的主要责任是创造一个能够使 DevOps 文化取得成功的环境。

从事创造性工作的人不需要“在休息室喝啤酒”来获得激励。 相反,创意者需要通达、自主和目标

当人们问到 Microsoft 成功最重要的因素是什么 - 是愿景、策略还是执行? - Microsoft CEO Satya Nadella 说,这些因素都很重要,但归根结底,重要的是他们的目标和成长型思维模式。

DevOps 思维模式的 12 个示例

以下是 DevOps 思维模式的 12 个示例:领导层思维模式、以客户为中心、精益思维、系统思考、杜绝浪费、约束理论、一致性和自主性、测试左移、安全思维、假设驱动发展、现场和衡量结果(非活动思维模式)

领导层思维模式

Gartner 提供了以下建议:

  • 看重领导 DevOps 计划所必需的特定行为特征,少强调技术技能,以识别变革型领导。
  • 积极地将失败当作学习机会,以培养变革型领导。
  • 支持领导做出决策,不在事后指责,并提供明确的目标和关键指标,以管理变革型领导。

由于 DevOps 具有变革性,因此基础结构和运维 (I&O) 领导必须识别出有远见、有适应能力、有动力、有能力和负责任的候选人。

以客户为中心的思维模式

以客户为中心意味着什么

  • 倾听客户并与之交流
  • 衡量什么是重要的
  • 接受生产中的失败
  • 构建、衡量和学习
  • 使用功能切换进行正常的部署
  • 广泛而仔细地收集数据

精益思想思维模式

价值:精益思想的思维模式的第一步是细致理解客户赋予产品和服务的价值。 组织专注于杜绝浪费,以便他们能够以最高的盈利水平交付客户期望的价值。

价值流包括产品的整个生命周期,从原材料到客户的使用,再到产品的最终处置。 为了杜绝浪费(精益的最终目标),必须对价值流有一个准确和完整的理解。

流:理解流对于杜绝浪费至关重要。 如果价值流在任何时刻停止向前,就会不可避免地产生浪费。 流的精益生产原则是在生产流程中创造不间断的价值链,并且每项活动彼此协调一致。

拉动:拉动的精益原则通过确保不提前生产任何产品(这会累积半成品库存并停止同步的流)来确保流。 不同于基于预测和计划使用美国制造业传统的推进式作业方法,拉动式方法规定,在客户下订单之前,什么都不生产。

完美:精益实践者努力实现完美。 随着通过持续改进来解决质量问题和生产浪费的根本原因,朝着完美工艺迈进。 对完美的不懈追求促使该方法的用户比他们的竞争对手更深入地挖掘、更多地衡量和更频繁地改变。

系统思考思维模式

系统思考思维模式强调的是整个系统的性能,而不是特定的单个工作或部门的性能

关注 IT 部门实现的所有业务价值流。 换句话说,业务价值流始于企业或 IT 部门确定需求之时,在开发部门中构建,然后过渡到 IT 运维部门,价值在这里以服务的形式交付给客户。

杜绝浪费思维模式

精益思维模式专注于识别和杜绝对客户没有任何价值的七种致命浪费

  • 部分完成的工作
  • 额外流程
  • 多余功能
  • 任务调换
  • 等待中
  • 动态效果
  • 缺陷

考虑约束理论

约束理论是一种用于识别和消除限制吞吐量的约束(也称为瓶颈)的方法。 在实践中,首先要确定阻碍实现目标的最重要因素。 努力使该因素最小化,直到它不再是一个限制因素。

Diagram depicts the Theory of constraints: identify the constraint, exploit it, subordinate & synchronize to it, elevate the performance of the constraint, repeat the process

平衡一致性和自主性思维模式

需要在一致性和自主性之间实现平衡。 太过一致会导致创新不足、动力不够、协作不足。 太过自主会导致更多混乱和冲突,同时导致一致性降低。

Diagram explains aligned autonomy: if you get the organization, roles, teams, cadence, and architecture in alignment, then the plans and practices can function autonomously.

测试左移思维模式

测试左移是一种通过将测试过程移到开发周期的较早点来加速软件测试和促进开发的方法。 左移是指在时间线上向左移动测试。 它有助于及早建立品控和识别问题,以减少返工浪费。

测试左移是更适合用于快速开发的模式,因为传统测试模式会等到开发周期后期,这会给开发带来瓶颈。

安全思维模式

为了实现安全思维模式,团队需要

  • 提高警觉。
  • 定义原则。
  • 遵守原则。

假设驱动开发思维模式

使用精益产品方法缩短开发周期并使用假设驱动开发有助于创建小型试验,以获得客户的反馈和数据驱动决策

假设驱动开发方法:

  • 从假设开始 - 假设即没有证据但被假定为真实的事物
  • 阐明要测试的假设
  • 执行试验和测试
  • 检查证据 - 结果的一个指标

现场思维模式

对于 DevOps 团队来说,没有什么地方比得上生产部门。 他们所做的一切都是为了让客户的体验更好。

若要创建一个稳定的、高性能的网站,请以一种严格且持续的方式应用持续运维最佳做法,以保持网站的健康。

现场文化的主要因素包括

  • 在对客户造成困扰前检测出问题
  • 数据驱动
  • 根本原因是关键
  • 以代码的形式配置
  • 自动化才能生存
  • 开放、学习

衡量结果(非活动思维模式)

你衡量别人的方式会影响别人的行为。 应该衡量使用情况、速度和现场的运行状况,而不是代码行、团队燃尽图和发现的 bug 数量。

提示

小心衡量以获得最佳结果!