随着企业业务对软件系统日益依赖, IT 运营 管理与 产品 研发 交付 对 “ 敏态 ” 模式产生了 愈发强烈的 需求。 将产品 的设计、开发与运营等元素进行高效整合,综合管理, 就是今天时常提起的 DevOps 。可以 说DevOps 的 到来 才 真正让开发者与管理员携起手来 , 并 为 传统 开发 及运营 流程间 存在鸿沟及割裂架起了桥梁。
为了 提 升产品的上线发布速度 , 实现 更好的开发敏捷性, 让开发人员拥有更多的 时间 去创新 , 越来越多的技术团队都在 寻求实施DevOps 。但是,采用DevOps并不是万能药,这种方式需要开发团队和运维团队密切交流、高效协作并且相互理解。DevOps模型鼓励沟通、协作和无可指责的回顾, 这个 理念 对于 培养一个 优秀的团队无疑是有百利而无一害的 ,但 在推行过程中势必会存在阻碍, 这些 阻碍会大大降低每个环节的 效率 , 从而影响 最终的落地效果。 所以,使用Devops的整 个过程中, 如何提升效率,则 成为了 DevOps 实践当中最核心内容之一。
而 对于 实现 DevOps的组织而言,最大的挑战 就 是 发现 并消除工作流程中的 出 有问题,以便 找到 更 新颖 ,更敏捷的方法。 为此, Gartner 总结了 六个步骤 帮助想实现 DevOps的组织 来去除限制。接下来, 我们 就来详细讲解下 :
步骤1: 定义流程
DevOps团队需要从 项目 的开始到最终 为客户实现 价值, 来重新规划并 布局他们的工作流程。通过记录现有 工作流 中的每一步,团队可以更容易地发现并细化可能对整个 工作流程造成影响的部分,并探寻出 更大的价值流。 这样 ,团队就可以很容易地确定 最大价值的工作流, 在保证质量的前提下加快价值流的流动速度,尽可能的优化工作流,减小流动单元合理控制流量,减少等待时间,提高工作效率,可以归结为以下几点:
1. 使工作可见;
2. 合理控制最流动单元;
3. 减少交接次数;
4. 消除阻碍价值流的问题。
步骤2: 找到最大的阻碍
在 一个 典型的DevOps工作流中,总是 会 有一个阶段 会在全工作流中 减慢从 点子 到价值 实现 的过程。为了推动 工作流 的改进,团队需要确定阻碍 流程推动的 阶段,并 消除阻碍的来源 。
要 想找到最大的阻碍 , 可以 问 这样 一个问题:“每个人都在等待什么?”问这个问题可以让团队 成员统一目标,明确需要重点关注 哪些 问题才可以 提高效率。如果 整个的工作进程 是在一个 平等的、没有 指责的、 有 建设性的环境中 进行的,团队成员将更有可能 表达自己的观点,才能更快的找到形成阻碍的问题所在 。在 找到 最大的 阻碍 后, 再重新审视整个 项目的进展, 就可以 确认已 找到的问题点是否正确 。
步骤3: 清除 限制进程 的 因素
如果团队找到了 DevOps工作流 中的 限制因素时,最常见的做法是 向 IT人员、 项目 资金、 辅助工作的软件系统上 投入更多的资源。 当然了, 集中精力 去 消除浪费 掉的资源 ,而不是增加更多 无用的消耗 ,这样做 才会使得整个 DevOps工作流更 加 有效。
根据Gartner的数据 可以 确定 影响进程的3大重要原因是:
1. 突发事件: 把宝贵的 时间花在 处理 突发事件上,而牺牲 掉 了开发新产品或 新 功能等增值 项目为代价是非常不值当的。 而解决这一问题的 最佳实践 就 是对团队成员进行 丰富多岗位交叉 培训 , 使 成员全部掌握突发事件的解决之法,知道什么样的问题该如何去进行解决 。 当然,为了预防 今后发生 类似的 事件, 需要团队间经常进行开放的复盘活动,找到事件的 根本原因 所在 , 并输出符合企业自身的专属知识库, 并在今后加以预防。 在实践中,可以采用睿象云提供的 SaaS 服务- 智能告警平台 Cloud Alert ,来更加有效的进行事件的汇聚、降噪、流转等功能。
2. 资源 等待: 项目的进程中,往往会遇到自己暂时无法解决的问题,这就不得不面临 等待 的尴尬,等待其他 人员 协作、等待 外部组织 决定、等待 其他资源 入驻 等是一个持续不断的挑战。 想解决这个问题,就可以 通过 日常 培训和 雇佣 具有不同技能和知识的员工来缓解,使他们能够并行工作。这 就可以使他们在等待其他人响应的同时,还可以完成 其他 已经 分配的工作。
3. 人员 潜力:许多专业人员花费 了 大量 的 时间进行 像更新数据库、协调人员这样简单而重复的 工作, 其实完全没有体现出人力资源真正的价值 。组织 可以 尽可能多地 通过 自动化 手段 来 处理固定的简单事务 , 让人力 更 加 专注于高价值的任务。
步骤 4 : 不要忽略 小问题
忽略 带来进程约束和生产瓶颈的小问题, 而专注于新的 和 即将到来的问题,意味着 原始问题并没有得到解决,这将导致工作会变慢,以后会出现更多的问题。这包括:错误和缺陷将会越来越多、对团队的生产效率造成负面影响、在变化率高的情况下进行高昂成本的返工。
DevOps 团队的领导人应该找出限制生产能力的最大瓶颈, 如果 一个 链条中最薄弱的环节没有得到加强,那么其他环节在某一时刻必然会失效。 如果专注于这个最大的限制因素,DevOps团队就能系统地识别什么在阻碍所需的工作节奏,并克服这个瓶颈。
步骤 5 : 增加 团队力量
通过 以上步骤 就已经 可以帮助 团队 提高至少30%的 效能 ,并且 还会让团队拥有回顾和复盘的能力和时间 ,以便 团队能够仔细考虑 并找出解决问题的 最佳方案。团队也应该利用这段时间来想出他们可以增加能力的其他方法, 比如寻找 专业服务 团队 , 或者是雇佣更多技能 的员工。
步骤 6 : 找出下一个最大的约束
想要提升上线、发布 速度不是一件容易的事,它需要不断 优化 改进过程。例如,即使一个团队 成功地 消除了一个约束,另一个约束也 会 在工作流的 其他 部分取代它的位置。随着时间的推移,团队将需要调整他们的 流程 和实践,以实现高的开发节奏。最后,为了确保他们满足客户的需求,他们必须对他们的开发节奏进行尽职调查,并在必要时进行改进。
写在后面
DevOps的实践不是一天完成, 想让 DevOps实践 可以 有序推进 ,既要 将DevOps实践推向企业内部的其他项目、其他团队,逐步实现团队敏捷、项目敏捷,乃至企业敏捷; 又要在 DevOps的研发效能持续优化与提升,建立学习型、使命型团队,推进DevOps文化的落地。
DevOps自提出以来,其内涵一直在不断的发展与丰富。相应地,DevOps的实践,也会是一个螺旋上升的过程,需要企业持续推进,进而为企业业务发展注入持续不断的活力。
文章来源: ITPUB