分类: 系统运维
2021-04-25 14:28:01
原文地址:干货分享|仅需六步,加速提高DevOps效率 作者:ruixiangyun
随着企业业务对软件系统日益依赖,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 服务-,来更加有效的进行事件的汇聚、降噪、流转等功能。
2. 资源等待:项目的进程中,往往会遇到自己暂时无法解决的问题,这就不得不面临等待的尴尬,等待其他人员协作、等待外部组织决定、等待其他资源入驻等是一个持续不断的挑战。想解决这个问题,就可以通过日常培训和雇佣具有不同技能和知识的员工来缓解,使他们能够并行工作。这就可以使他们在等待其他人响应的同时,还可以完成其他已经分配的工作。
3. 人员潜力:许多专业人员花费了大量的时间进行像更新数据库、协调人员这样简单而重复的工作,其实完全没有体现出人力资源真正的价值。组织可以尽可能多地通过自动化手段来处理固定的简单事务,让人力更加专注于高价值的任务。
步骤4:不要忽略小问题
忽略带来进程约束和生产瓶颈的小问题,而专注于新的和即将到来的问题,意味着原始问题并没有得到解决,这将导致工作会变慢,以后会出现更多的问题。这包括:错误和缺陷将会越来越多、对团队的生产效率造成负面影响、在变化率高的情况下进行高昂成本的返工。
DevOps 团队的领导人应该找出限制生产能力的最大瓶颈,如果一个链条中最薄弱的环节没有得到加强,那么其他环节在某一时刻必然会失效。如果专注于这个最大的限制因素,DevOps团队就能系统地识别什么在阻碍所需的工作节奏,并克服这个瓶颈。
步骤5:增加团队力量
通过以上步骤就已经可以帮助团队提高至少30%的效能,并且还会让团队拥有回顾和复盘的能力和时间,以便团队能够仔细考虑并找出解决问题的最佳方案。团队也应该利用这段时间来想出他们可以增加能力的其他方法,比如寻找专业服务团队,或者是雇佣更多技能的员工。
步骤6:找出下一个最大的约束
想要提升上线、发布速度不是一件容易的事,它需要不断优化改进过程。例如,即使一个团队成功地消除了一个约束,另一个约束也会在工作流的其他部分取代它的位置。随着时间的推移,团队将需要调整他们的流程和实践,以实现高的开发节奏。最后,为了确保他们满足客户的需求,他们必须对他们的开发节奏进行尽职调查,并在必要时进行改进。
写在后面
DevOps的实践不是一天完成,想让DevOps实践可以有序推进,既要将DevOps实践推向企业内部的其他项目、其他团队,逐步实现团队敏捷、项目敏捷,乃至企业敏捷;又要在DevOps的研发效能持续优化与提升,建立学习型、使命型团队,推进DevOps文化的落地。
DevOps自提出以来,其内涵一直在不断的发展与丰富。相应地,DevOps的实践,也会是一个螺旋上升的过程,需要企业持续推进,进而为企业业务发展注入持续不断的活力。