Robert Scherrer 访谈:瑞士金融中心主干上的 DevOps

  • João Miranda
  • 林日华

2017 年 8 月 14 日

话题:DevOps

之前 InfoQ 报导过,Robert Scherrer 在伦敦 DevOps 企业峰会上向与会者分享了 SIX 公司的 DevOps 实践之路。他讲述了 SIX 如何从一个小小的核心团队开始,从由“技能”、“组织”、“流程”、“基础设施”、“架构”及“心态和态度”组成的 5+1 维度的 DevOps 方法,发展成稳步改变了 IT 和业务合作的方式,打破孤岛格局,同时使它们自己紧跟价值潮流。InfoQ 有幸就此采访了 Scherrer。

InfoQ:请您介绍一下您目前的角色吧。

Robert Scherrer:我现在在 SIX 带领软件部门,负责运营瑞士金融市场的基础设施,在证券交易领域提供全球性的综合服务,进行清算与结算,同时提供财务信息和交易业务。

InfoQ:DevOps 是怎样在 SIX 起步的呢?第一步做了什么,原因呢?

Scherrer:我向战略研讨会提出了一个关于我们 IT 管理的建议,之后我们就决定启动 DevOps 计划。接着,我们组建了一个经过精心挑选、由开发和运维方面的思想领袖组成的核心团队。成立了核心团队后,我们开始制定愿景与原则。

InfoQ:目前 SIX 正在进行什么 DevOps 项目呢?

Scherrer:我们把 DevOps 活动捆绑在 Haka 这个项目下。除此之外,我们建立了自己的基础设施和工具,比如 OpenShift 平台;同时推动精益原则的实施,比如设立价值流筹划委员会,教授敏捷方法和跨部门合作。我们在制定好的 DevOps 原则下实施业务与项目。

InfoQ:去年你有谈到内部指令是如何的重要,因为通常情况下,它们比由延伸而来的外部规则更加严格。甚至于要开展这次对话也是困难重重。请问你们是怎么做的呢?

Scherrer:我们利用自己与审计、风险和安全部门的私人关系,及早地让他们参与到关于我们想要改变进程的讨论中,并询问他们认为对于公司来讲哪些事项是重要的。

InfoQ:考虑到你们的解决方案会包含一些高深的技术,比如“代码审查”、“自动化发布”等,你们是如何跨越行业鸿沟,突破语言障碍,与审计人员达成共识,并确保服从关系的呢?

Scherrer:我们很幸运,双方在审计与开发方面都有很好的专业知识储备。审计部门有一个 IT 专家组成的团队,其中有人就是来自于我们的软件部门。

InfoQ:在开展 DevOps 的时候,您的团队还遇到哪些文化上的挑战呢?

Scherrer:让所有开发人员执行随叫随到的轮班制度是一个大问题,这需要进行大量的讨论来说服一些开发人员。另外,一些运维团队和测试团队的人会担心它们之后在项目中将担任什么角色,或者是对“shift left”测试方法感到不适应。当然,随着 DevOps 团队与业务的直接对接越来越频繁,起不到什么实质作用的中间角色就消失了。

InfoQ:培养一种特定的心态和文化是一项长期持续的工作。在 SIX,有什么方法来保持 DevOps 和敏捷过程的活力与质量呢?

Scherrer:作为 Haka 项目的一部分,我们已经加入了一些新成员到 DevOps 核心团队中,每周我们把 DevOps 核心团队聚集起来开会,每隔几周会向人们展示工作成果,并为特别的 DevOps 成就颁奖。我们的员工因此很重视 DevOps。此外,我们每年与每个团队讨论两次工作进度,并以成熟度表的形式显示具体成果。这样团队可以从一个旁观者的角度看到他们的工作进展,并以此得到提高。我们还提供敏捷方法的指导,同时培训可以使公司进步的相关技术。

InfoQ:可以说明一下你们的“成熟度指标”吗?它包含了哪些内容?

Scherrer:我们对我们的“成熟度指标”感到很自豪,我们不仅帮其他公司采用“成熟度指标”,还在会议中做过两场关于它的演讲。不过,到目前为止,这一切都局限于德语环境。

“成熟度指标”包含了如下几个维度:

  • Team(团队)
  • Customer(客户)
  • Process(进度)
  • Methodology(方法论)
  • Tools(工具)

首先,我们针对每个维度提一个是非题: 

Team:团队中,是否有超过 80 个成员在为了团队的整体利益工作,而不是只关注个人目标? 

Customer:团队成员是否至少每月联系一次客户? 

Process:软件是否开发了,测试了,并且自动化部署了? 

Methodology:团队是否使用了敏捷方法? 

Tools:用于 CI/CD 的工具栈是否被使用?

如果答案是否,那么团队需要说明原因。相反,如果答案是肯定的,那么我们接着进行具体的问卷调查,并在此基础上对成熟度进行评估。我现在没法给你翻译这些材料,但是可以给你一个粗略的概念。以 Customer 这个维度为例,我们会调查客户的参与情况,团队的业务知识将使得成员们从客户的角度出发去帮助客户。接着,如果合适,我们会对团队指定的客户满意度进行评估。通过这些步骤,我们将给出 1-10 的评分。最终所有维度结合起来,就为每个团队建立起了一张网状图表。

为了进行这个过程,我们每年向每个团队提供两次敏捷训练。这算是很努力的了。同时,我认为这并不是一项行政任务,而只是敏捷指导的一部分。背后的支撑技术是一个我们自己开发的用于存储和展示成果的软件。

查看英文原文: Q&A With Robert Scherrer: DevOps on the Backbone of the Swiss Financial Center


感谢薛命灯对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

DevOps