扫码阅读
手机扫码阅读

DevOps的第一步:实现工作从开发到运维的快速流动

46 2024-01-25

《凤凰项目》把三步工作法作为基础的原则,并由此衍生出了DevOps的行为和模式。

三步工作法

第一步

实现开发到运维的工作快速地从左向右流动。为了最大程度地优化工作流,需要将工作可视化,减小每批次大小和等待间隔,通过内建质量杜绝向下游传递缺陷,并持续地优化全局目标。

通过加快技术价值流的流速,缩短满足内部或者外部客户需求所需的前置时间,尤其是缩短代码部署到生产环境所需的时间,可以有效地提高工作质量和产量,并使企业具有更强的外部竞争力。

相关的实践包括持续构建、集成、测试和部署,按需进行环境搭建,限制在制品数量,构建能够安全地实施变更的系统和组织。

在技术价值流中,工作通常是从开发人员流向运维人员,也就是业务和客户之间的所有职能部门。建立从开发到运维之间快速的、平滑的、能向客户交付价值的工作流非常重要,要为这个全局目标进行优化,而非围绕一系列局部目标,如功能开发的完成度、测试中问题的发现率和修正率、运维维护的可用性等。

通过持续加强工作内容的可视化,减小每批次大小和等待间隔,内建质量以防止缺陷向下游传递,从而增强流动性。通过加速技术价值流的流动,可以缩短满足内部客户和外部客户需求的前置时间,进一步提高工作质量,并使我们更加敏捷,能够比竞争对手更为出色。

我们的目标是在缩短代码从变更到生产环境上线所需时间的同时,提高服务的质量和可靠性。实际上,我们可以在制造行业中找到价值流应用的相关线索,帮助我们将精益原则应用到技术价值流中。

使工作可见

技术行业的工作内容是不可见的,这是其与制造业价值流相比的一个显著差异。相对于工业产品的生产过程而言,在技术价值流中很难发现工作过程的阻塞点,例如,在哪里受阻了,在哪个环节产生了积压。而在制造业的价值流中,工作在不同工作中心间的转移通常是显而易见并且缓慢的,因为必须真正地转移库存产品。

另一方面,技术工作的流转通过单击一次鼠标就可以完成,譬如将工单重新指派给另一个团队。由于点击的操作太过容易,所以不同团队可能会因为信息不完整而将工作“踢来踢去”,存在的问题也会被传递到下游工序,而这些问题完全是不易察觉的,直到无法按时向客户交付产品,或者应用程序在生产环境中出了问题。

为了能识别工作在哪里流动、排队或停滞,就需要将工作尽可能地可视化。可视化工作板是一种较好的工作方式,如在看板或Sprint计划板上,使用纸质或电子卡片将各项工作展示出来。工作通常从左侧发起(从待办事项中拉取),然后从一个工作中心拉取到下一个工作中心(用列表示),最后到达工作板的最右侧,而这一列也通常被标记为“完成”或“已上线”。

横跨需求、开发、测试、预生产和生产的看板示例

通过这种方式,不仅能将工作内容可视化,还能有效地管理工作,加速其从左至右的流动。此外,还可以通过卡片从在看板上创建到移动至“完成”这一列,度量出工作的前置时间。

理想情况下,看板应该覆盖整个价值流;仅当工作到达看板最右侧时,才能算是已完成。开发完成某个功能不能算是“已完成”,只有应用程序在生产环境里成功地运行起来,并开始为客户提供价值的时候,才能算是“已完成”。

通过将每个工作中心的所有工作都放进队列中,并且可视化地展示出来,利益干系人更容易从全局目标出发,确定各项工作的优先级。这样,每个工作中心都能采用单任务的处理方式,从优先级最高的任务开始,依次完成所有工作,以增加工作中心的吞吐量。

以下为翰德恩洞见

人类的工作分为两种:知识性工作和非知识性工作。知识性工作指的是运用知识、智慧、创意等思考性的工作,更加需要智力而非体力去完成的工作,比如:品牌设计、设计、研发、销售、测试、客户服务、市场推广、财务管理、人力资源管理、合规审计、法务审核、过程改善等;非知识性工作,指的是简单重复的、基本不需要动脑思考的,纯粹动手操作类的工作,这类工作的员工在接受了培训后,主要依靠体力来完成工作,比如:搬运,保洁、送快递、工厂车间操作等。

非知识性工作领域里,人们的工作容易可见,因为他们手上的工作对象是物理实体。比如我们走进工厂里,非常容易看到工厂车间里正在加工的零部件有哪些,有多少,以及每个工人在做什么。相对于非知识性工作,在知识性工作领域工作更加不可见。比如,当我们走进一家企业的市场部,看到每个人都坐在电脑前,你并不知道每个人在做什么,也不知道他们手上的工作有哪些,因为他们的工作都在电脑里。有的人可能在答复客户邮件,有的人可能在策划市场推广方案,有的人可能在和供应商打电话沟通报价。

相对于非知识性工作领域,知识性工作领域的工作效率和产出质量更加不可见。比如,市场策划人员可能做一个策划花了三周的时间,最后产出的质量也不尽如意,但是过程中的产出我们不容易去干预,因为他的策划过程并不可见。

因此,在知识性工作领域,我们有必要将那些不可见的工作可视化,并采用一定的机制管理。可视化管理能带来以下几个益处。

  • 增进共识。视化管理能够增进团队的不同成员,如业务、技术、市场人员等对产品和服务有共同的认识和理解。

  • 任务清晰。可视化管理能够让团队每个人职责明晰、目标明确,从而有助于每个人任务的完成。

  • 高效协同。可视化管理有利于高效的问题沟通和共同解决,从而减少不必要的会议,从而提高沟通效率。

  • 职责共享。在以上三点的基础上,可视化管理能够增进团队协作互助,促进职责共享和主人翁意识,而非每个人只关注自己的工作。

原文链接: http://mp.weixin.qq.com/s?__biz=MzAxNDExMDE5NA==&mid=2247503635&idx=1&sn=007a05ea296403c134d89f15008b03c1&chksm=9b9ad38eaced5a985d7111c7e2584c793585b33bda892aaf824d3b028fcc633ce063f90cf892#rd

翰德恩咨询(www.hardenx.cn)是一家由华为系专家联合创办,专注于企业级敏捷&DevOps落地咨询、IPD落地咨询和数字化转型教育的企业,沉淀10年+的众多500强实战经验,为企业提供从业务到交付的端到端全价值链赋能。

42 篇文章
浏览 2452
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设 白皮书上线