【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

DevOps 在施耐德:众人参与其中的变革之旅

作者:Amanda Heintz

  • 2022-10-23
    北京
  • 本文字数:3479 字

    阅读完需:约 11 分钟

DevOps 在施耐德:众人参与其中的变革之旅

为什么施耐德决定走向 DevOps

要想真正认识到DevOps在施耐德的发展,我们需要先了解为什么施耐德会对 DevOps 有需求。


施耐德(Schneider)是北美一家大型卡车运输和物流公司。和许多现代企业一样,施耐德逐渐将其业务转向电子化,其应用程序的开发、部署及管理都是维持公司业务运转的重要资产。


在应用 DevOps 之前,每个基础设施和应用程序都是零散的孤岛。或许你会对此感同身受,将所有的服务器、应用程序、技术等等都当作是独立独特的“事物”,都需要热爱它们的特定人群来关爱这些应用。除此之外,施耐德还应用了瀑布式项目管理方法,将项目分为不同且连续的阶段,每个新阶段只在前一阶段完成后才会开始。


这些都曾是,或者说在某些情况下,仍是当前项目管理最传统的方法。 可以说,这样的项目管理效率并不高,通常需要几个月甚至更长的时间才能为企业带来价值。


这种方式也有其相应的挑战点:


  • 需求不明确,分析瘫痪,畏于结束当前阶段,以致无法进入下一阶段

  • 需求变更代价愈发高昂

  • 项目耗时长久,提高失败风险

  • 追赶进度时首先被牺牲的是测试时间

  • 大部分项目都无法按期准时交付

 

随着对业务需求快速响应的要求迫在眉睫,2015 年施耐德还只是零星应用敏捷,2016 年施耐德的技术部门已经完成了全面的敏捷转型。但业务运转的速度仍然不尽如人意,敏捷优化了工作计划和优先级,也利用了仪式感,但到了测试和代码交付方面却仍是磕磕绊绊,因为这些流程依旧没有任何变化。快进到 2017 年,DevOps 这个词已经成为了施耐德的流行词,是人人都在谈论的话题。鉴于 DevOps 的流行程度,人们开始猜想,像是施耐德这样的运输公司为什么要采用 DevOps?是因为这东西很新潮,很酷吗?是人云亦云还是想解决实际问题并带来真正的影响?


与此同时,施耐德还有另一项构建实施新应用的大工程在进行中。施耐德借着这次机会,将参与工程的所有团队和任务都真正进行了可视化处理。以往都是由团队自行掌握工程进度,并不透明,从而导致外界很难真正认识到项目的工作量、参与团队以及交接事项。


为提高透明度,施耐德组织了一次演习,测试在环境中部署一个应用程序所需要的团队数量和工作量。这次演习的结果令人大开眼界,也正式推动了施耐德转型的开始。这次演习回答了以下这些问题:


  1. 如何在不额外增加如人员数量等资源的情况下完成更多工作?

  2. 如果提高效率?

  3. 如何让开发人员尽其所长,为企业创造更高质量的价值?

  4. 如何快速应对市场变化,保持竞争力?

变革的理由


让我们回到开始,对部分主要影响因素或根因进行分析,了解施耐德的产品交付质量和速度提升背后所采取行动的必要性。这些影响因素涵盖了大量跨团队、跨环境的工作磨合,解释了为何工作流程不透明和缺乏自动化等因素会造成工作不一致和低效率等问题。


在实践中,我们会尽可能展示当前项目状态的指标,并显示可能影响指标的因素。此外,引入利益相关者针对价值的意见,对能否成功达成预期功能非常重要。而施耐德的技术部门全力支持我们的转型也有很大帮助。


最重要的是,无论现况多么糟糕都要说出你的故事,掀开遮羞布、暴露出原始数据。尽管这个过程可能会让人有些不适,但这对推进变革是绝对必要的。花时间让变革不那么正式且具有实际意义,让人们能轻松参与其中。达成这点的最好方法是抛弃那些僵硬的模板,像故事一样设计转型案例,使出看家本领来宣传。利用简短的动画而不是枯燥的电子邮件或是一张 PPT;定期组织非正式全体会议来收集反馈,听取人们的对你要做、想推销的事的想法;为不习惯公开发表正式反馈的人们提供匿名问卷调查,类似的手段有很多,跳出思维局限,让你的转型变得更加有趣。

人人参与的变革


协作是需要重点关注的。我们首先着眼整体技术部门,明确关键影响因素及创建跨职能团队来推动转型的关键决策人。在他们的帮助下,我们得以获取技术部门下所有团队的输入、反馈和协调关系。此外,我们还成立了由技术主管组成的指导委会,这两支队伍都高度参与了整个转型过程。

 

以下是我们使用的一些策略:


  • 通过不记名调查定期收集反馈;在转型案例和其他领导层演讲中引用调查反馈中原文,并以此作为转向过程中的整体基准线。

  • 在新流程开发、概念论证及结果展示中,邀请技术部门经理、主管及其他同事共同参与。

  • 定期开展学习和合作会议,概述下一步变动,收集当前反馈,并就原因、影响及收益展开公开且开放的讨论,回答“这对我有什么意义?”的问题。

 

以下是我们在选择应用自动化发布工具集时收集到的部分反馈原文:



下图是用于学习会中的一页 PPT:


在施耐德的转型中一个非常重要的点在于,作者并不是推动这项工作的唯一发言人。技术部门上下有足够多的人拥有同样的热情,他们作为这项转型的倡导者,会时不时在与领导的一对一会议上、和同僚的对话上、走廊闲聊中,或者其他与领导层的重要会议上提及这个话题。

 

一路以来的坎坷

施耐德的 DevOps 转型是非常成功的,这一过程也教会了我们很多。我们不断向前迈步,但在某些情况下,也不得不暂时后退。

 

例如,我们的目标之一是通过技术,然后是应用,有一个共同的部署过程,但要避免阶梯式。这在某些情况下说起来容易做起来难。当我们开始研究多个团队使用的技术时,我们发现他们在开发和部署这些应用程序的方式上有一些大的差异,但大多是小的。对于我们的一些老技术来说,为了达到一个标准而投入大量资金重写或重新配置这些应用程序,其实是没有意义的。在可能的情况下,我们围绕一个标准进行调整,在某些情况下,专注于将该标准应用于未来的一切新事物,并在稍后回来重新评估现有应用程序。最重要的收获是,我们学习、改进,并将继续这样做,不管一项工作是否被称为 "DevOps",而且进步就是进步。改变不会在一夜之间发生,但在正确的方向上迈出一小步仍然是一种成功。

 

归根结底,变革是困难的,如果没有领导的支持,没有专门的时间让开发人员真正消化 "这对我意味着什么?"和 "我的工作如何改变?"以及持续的强化和对话,要取得成功将是一个挑战。

我们在旅途中所学到的东西


有几个关键的经验,可能看起来很简单,但我觉得非常值得注意。


  1. DevOps 不是黑白分明的。你可以阅读关于如何做 "DevOps "的书籍和文章,但现实是,这可能不适合你的组织。DevOps 是否意味着精简?DevOps 是否意味着改变文化?DevOps 是否意味着实施一堆你一直想做的新技术或酷技术?这看起来很简单,但是要定义 DevOps 对你的组织意味着什么,然后把这个定义贴在走廊上,在每次谈话中提出来,并确保每个人,如果被问到 DevOps 对组织意味着什么,都会做出同样的回答。

  2. DevOps 和 Scope Creep 是同义词--总是回到你的 DevOps 转型的 "原因",并把你的目标和目的作为你的真正方向,在你开始的时候验证你的进展。

  3. DevOps 何时完成?这是我经常被问到的问题,现实是 DevOps 永远不会完成,但我认为很多人没有谈论的是,这种正式的努力或旅程何时会成为我们工作的方式?我们什么时候才能停止玩弄花招,把这些理想和价值观融入我们的日常工作中?而当你达到这一点时,下一个问题是你如何最好地做到这一点?... 最后一个问题是我们仍在努力回答的一个问题!

应用 DevOps 的方法


我想为那些正在考虑应用 DevOps 的人提供以下两点建议。


  1. 我们一定要叫它 DevOps 吗?想想这个问题,以及过去在你们的技术部门中引起如此骚动的所有其他流行语(*cough* 敏捷)。这些流行语是如此沉重,而且在一些组织中,伴随着巨大的猜测,特别是在某些级别的领导。当这些流行语变得沉重时,预算、所需资源、实施、形式等等也变得沉重。它需要如此沉重吗?它需要如此正式吗?在某种程度上是的,但我诚实的建议是,围绕你要实现的目标,创造你自己响亮的品牌形象。我不想承认我们花了多长的时间来协调和达成 DevOps 的定义。如果它不是一个朗朗上口的流行语,也没有大量的猜测,我真的相信我们所经历的旋风有一半会被消除,并且会更容易实现统一。

  2. 在技术领域,我们经常花很多时间考虑如何营销我们正在开发或改进的产品,但当涉及到为技术而技术时,我们真的根本没有营销。营销科技产品,也就是营销你的技术组织用来为企业提供价值的技术、流程和实践,是非常重要的。没有人希望再收到一封无聊的电子邮件或文件,向他们介绍即将发生的变化。在你的技术部门内推广流程、工具集等方面的变化,不仅会引起人们的兴趣,也会增加人们的认同感,让人们兴奋地与他们的同事和经理谈论他们是多么期待这些变化,也会让人们参与进来,提出问题,并提供反馈。把你的技术部门看作是一个社区,花大量的时间制定一个计划,向这个社区推销你的 "DevOps "产品、流程和更多的东西--你不会后悔的!

 

原文链接:

Article: DevOps at Schneider: a Meaningful Journey of Engaging People into Change


相关阅读:

DevOps 已死,平台工程才是未来

2022-10-23 08:008409

评论 3 条评论

发布
用户头像
sorry,我浅薄了,看了原文,我真的小瞧了物流公司了,我还以为只有施耐德这种500强电气公司才会玩这个
2023-01-30 19:17 · 北京
回复
用户头像
施耐德是法国的世界500强电气企业
2023-01-30 19:13 · 北京
回复
用户头像
施耐德怎么成了卡车物流公司了?明明是电气公司,施耐德就在望京,我每天散步都能从门口走过。
2023-01-30 19:11 · 北京
回复
没有更多了
发现更多内容

机器学习笔记之:

Nydia

华为 MPLS的数据转发流程

艺博东

华为

【LeetCode】最大连续1的个数Java题解

Albert

算法 LeetCode 2月春节不断更

熬夜7天,我总结了JavaScript与ES的25个重要知识点!

我是哪吒

学习 程序员 面试 大前端 2月春节不断更

公路交通区块链技术的痛点问题和典型场景应用

CECBC

区块链

第十二周课后作业

Binary

数字资产助力未来十年打赢数字经济战

CECBC

数字经济

《我们脑中挥之不去的问题》 - 卓克科普(3)

石云升

读书笔记 科普 2月春节不断更

深入 Python 解释器源码,我终于搞明白了字符串驻留的原理!

Python猫

Python 编程

week12-homework

J

深入理解gradle中的task

程序那些事

Java maven Gradle 程序那些事 构建工具

【STM32】串口通信出现乱码(使用官方标准库)

AXYZdong

硬件 stm32 2月春节不断更

诊所数字化从预约开始

boshi

数字化医疗 七日更 线上预约

SpringMVC专栏 第1篇 - 快速入门

小马哥

Java spring Spring MVC 七日更 二月春节不断更

JUnit速查手册

jiangling500

Java JUnit

Idea应用启动时WEB-INF/lib无效标记问题处理

程序员架构进阶

Java IntelliJ IDEA 七日更 2月春节不断更

ElasticSearch.01-简介

insight

elasticsearch 2月春节不断更

面试官系列:你对Spring事件发布和广播监听有了解吗?

后台技术汇

面试 2月春节不断更

日记 2021年2月15日(周一)

Changing Lin

2月春节不断更

Tomcat异常: Unable to process Jar entry [module-info.class] from Jar

小马哥

Java maven 七日更 二月春节不断更

今日出门

Nydia

保持模块的兼容性

Rayjun

go modules Go 语言

松耦合

sinsy

设计模式 RabbitMQ

翻译:《实用的Python编程》01_03_Numbers

codists

Python

【译文】工作六年后,我对软件开发的认知转变

Zhendong

程序员 软件开发

第十二周学习总结

Binary

中国科学家突破区块链核心技术

CECBC

区块链

工作学习累了?试试 GitHub 上的那些简单易学的游戏项目吧!

JackTian

GitHub 开源 游戏 2月春节不断更

记一次有意思的微信视频号直播

小匚

产品经理

10. 比找女朋友还难的技术点,Python 面向对象

梦想橡皮擦

Python 2月春节不断更 python入门

Elasticsearch dynamic mapping

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

DevOps 在施耐德:众人参与其中的变革之旅_软件工程_InfoQ精选文章