推广敏捷和DevOps 成功实现数字化转型
2020-04-19BobViolino
Bob Violino
很多企业将转向敏捷软件开发以及其后的DevOps视为数字化转型过程中的关键步骤。
但在很多情况下,这种转型是由规模较小的部门处理的,因此,总体上不会产生太大的影响。通过更大规模地改进流程,在整个企业中更广泛地推广这类实践活动,从而获得显著的收益。但要實现这一飞跃是很有挑战性的。
敏捷(Agile)是一种开发方法,涉及自组织和跨职能部门以及软件最终用户之间的协作,目的是提高软件和服务开发的质量和速度。
同时,DevOps将软件开发和IT运维相结合,以缩短开发周期,并持续交付高质量的应用程序。
这些方法结合在一起能够加速数字化转型,并对工作完成方式产生重大影响——特别是在想扩展这些方法,以吸引更多用户和项目的情况下。本文介绍大规模成功使用敏捷和DevOps的一些技巧。
文化为王
想把敏捷和DevOps纳入其数字化转型的企业应建立一种文化,这种文化包含了对这些软件开发方法的责任和所有权。
能源和自动化产品供应商施耐德电气(Schneider Electric)首席数字官Herve Coureil认为:“必须在企业中全面推广DevOps技能和DNA。这必须成为企业文化的一部分。”
要实现这一目标,企业不能把敏捷和DevOps的责任仅限于一部分专家。Coureil说:“提供符合DevOps最佳实践的版本是所有部门的责任,而不是某个个人的责任,因为个人可能会成为一个失败点。”
Coureil说,在施耐德,“敏捷和DevOps的愿景是改变企业的整体运维模式。我们正在应用敏捷实践,以便在企业的所有职能部门(包括项目管理、财务管理、产品管理、产品工程、体系结构、专业服务和最终消费者)之间建立持续透明的沟通流程。”
2019年初,施耐德建立了一个敏捷转型办公室,帮助各部门更迅速地交付数字产品,进一步提高质量,减少浪费。Coureil说:“我们整个公司都采取了‘波峰式(Wave and Spike)方法,以推广转型。在一波浪潮中选择的任何产品或者一组产品都应用了新运维模式的所有功能,而新运维模式则利用了敏捷Scrum和Kanban、DevOps CI/CD(持续集成和持续交付),以及项目管理的持续反馈和精益实践。”
该公司在各部门开展专题研讨,以获得Scrum实践经验,还提供指导人员来帮助各部门改进敏捷的使用。施耐德的所有开发项目现在都采用了敏捷框架方法。
衡量是否有进步
仅仅在整个企业中推广部署敏捷和DevOps是不够的。企业应衡量这些举措在推广的每个阶段所带来的价值。
Coureil说:“用当前基本状态定义关键性能衡量指标,并不断地进行衡量和推进。首先要掌握现有的部门角色和工作实践,以了解他们是怎样工作的,以及在哪些地方需要改进。”
施耐德有几个部门使用了瀑布式开发模型,该模型将项目工作分解为线性连续的阶段,其中每个阶段都依赖于前一阶段交付的成果,然后转换到Scrum敏捷过程框架。
Coureil说:“我们让其他部门实践Scrum的部分内容,但并不一致。我们建立了一个部门自我评估模板,帮助各部门了解敏捷最佳实践、他们自己的实践以及他们需要在哪些地方进行改进。”
数字化转型高级架构师Jonathan Parnell介绍说,IT服务提供商Insight Enterprises使用了技术进步、产品线趋势、资源消耗、产品质量、性能和业务成果等衡量指标。
要检查的具体因素包括过程时间、缓解问题的时间、修复产品缺陷的成本,等等。
在人员/文化方面,还需要管理部门动态、流程开销、可信度、员工士气和激励等方面的趋势。
抵制部署太多工具的诱惑
企业在开发DevOps时,可选择的产品并不缺乏,其中很多都是非常实用的。但重要的是要提防工具过多。
Coureil说:“有太多的参考工具会导致部门之间采取不同的行为,不利于共享文化。这将加大采用最佳实践和标准的难度,使我们更容易受到网络安全攻击,无法缩减规模。”
Schneider的首席DevOps架构师负责维护工具栈,不断丰富工具,以覆盖新的应用情形或者技术环境,并在需要时进行更改。Coureil介绍说:“这要求一直进行技术监控。”
为了提高工作效率并保证安全,施耐德维护了一个相互协作的DevOps工具栈,涵盖了一系列技术和场景,包括基于云的应用程序和用于物联网(IoT)应用的传感器等。
尽早并经常性地开展安全和治理工作
在敏捷和DevOps项目开始时考虑安全措施是非常重要的,这样才不会引起影响开发生命周期的问题。
Parnell说:“不管我们的发布和部署有多快,安全不仅是瓶颈,而且还是速度和可伸缩性的制约因素。信任和动机等级严重不符。不是价值流上的所有人都能感受到安全责任。”
在Insight,开发的重点是业务最终用户,而忽略了适当的安全环境。Parnell说:“从技术上讲,我们忽略了一个重要观点,没有把安全视为质量的一部分,而是认为安全违规是漏洞和缺陷。我们不得不一路退回,在持续集成中解决这个问题。”
该公司建立了一些基于安全的要素,包括考虑到威胁建模和其他安全措施的策略驱动开发、“设计实现安全”方法和推荐的安全实践。
Parnell说:“我们在技术上的欠缺是没有从安全开始,在认知上也没有以传播‘安全文化为重,因此,花了一年多的时间才实施完毕。”
敏捷和DevOps的治理也很重要。金融服务提供商万事达卡首席技术官Steve Bagby表示:“不要让敏捷变成‘每个人都可以做自己想做的事。这只会导致混乱,扼杀您运维和保护系统的能力,妨碍您最终让客户满意的能力。”
万事达卡多年来一直围绕敏捷原则来组织其工程部门。Bagby说:“由于我们几乎所有的工作都是以服务的形式交付的,因此,出于需要,可操作性一直是必不可少的。”
把开发、部署和运行应用程序的职责整合起来有一个明显的好处,Bagby说,“因为每个人都有自己的利害关系,都觉得应该对部门负责。”
重视培训
要想在企业中广泛地部署敏捷和DevOps,需要有很多精通这些方法并准备好在开发过程中进行必要更改的员工。
Coureil说:“培训要早,而且要经常,包括针对实际场景的面对面课堂培训。我们在全球范围内进行了几十次实操课堂培训,目的是打好基础。然后,我们让指导人员进行小规模的培训,以强化最佳实践。”
Coureil说,所有培训内容都可以在一个交互式学习门户网站上获得,以便在各个部门之间使用。他介绍说:“每个人都可以添加自己的评论和内容,以增强学习效果。”
对于其敏捷和DevOps计划,Insight公司建立了一个由12到15人组成的跨职能部门,包括开发人员、数据库管理员以及来自IT运维、网络、安全和业务线的代表。
Parnell说:“这个部门先是开展了一系列的专题研讨,以便在敏捷和DevOps的概念、基本原理、最佳实践和术语以及其他相关学科上取得一致,并提高技能,获得支持。这很关键。如果在这些方面没有达成基本的一致,沟通几乎是不可能的。”
Insight很快发现,一个跨职能部门代表了业务部门的各个方面,其動机各不相同,在某些情况下甚至是截然相反的。Parnell说:“特别是那些需要速度和弹性的开发人员,与他们相对的是那些需要稳定性和安全性的运维和安全人员。通过整合来自度量指标的客观证据,在进攻(利用机会)和防御(通过管理风险和不确定性)之间实现了平衡。”
分享最佳实践
前面介绍的一些步骤涉及到实践的共享。而值得一提的是,这对于在整个企业中成功地推广敏捷和DevOps是非常重要的,并且需要有一种机制来实现这一点。
保险公司Liberty Mutual Insurance建立了一个敏捷支持办公室,帮助不同的开发部门随着时间的推移在敏捷和DevOps方面成熟起来。
公司高级副总裁兼托管服务总经理Mark Cressey介绍说:“我们还从Liberty以外聘请了经验丰富的人才,例如,Scrum大师,把最佳实践融入到部门中。”
Cressey说:“在某些情况下,他们承担具体工作,而在大多数情况下,他们指导我们在转型过程中引进的内部Scrum大师。不要让每个部门各行其是,这真的很重要。通过有关敏捷、敏捷转型和DevOps的外部知识来支持他们是我们成功的关键所在。”
分享经验还意味着要听取部门对其进展或者出现的任何问题的反馈。Cressey说:“从0~100%的敏捷没有捷径。而我们在整个过程中都听取了部门的意见,当我们需要根据反馈调整不同的方向时,我们做到了。我们暂停或者重新设置了某一区域或者实践,以获取有关哪些有效哪些无效的关键反馈。”
从高层获得支持
对于那些“原本”使用这些方法的企业来说,推广敏捷和DevOps是很自然的。但对于很多对这些概念还比较陌生的企业来说,高管的支持是成功的关键。
金融服务公司Capital One的小型企业和国际业务首席技术官Mark Mathewson说:“所有人都说他们想成为或者已经是敏捷的了。但为了真正做到这一点,高层管理人员必须完全接受这一概念。”
Mathewson说:“在我的工作中,我发现高管必须在预算编制、产能规划等各方面提供支持。”
Capital One经过七年的大规模技术改造,全面重塑了人才和文化、员工工作方式以及技术基础设施。Mathewson说:“我们转向100%敏捷的软件交付模式,建立了灵活的工程部。”
该公司花了三年时间转向云计算,推广DevOps,采用开源,并开始充分发挥由此带来的灵活性优势。Capital One现在将重点转向标准和持续交付。
Mathewson说:“过去,产品交付给运维后,开发人员就不再参与产品了。现在我们正在实践DevOps方法,我们的开发人员感受到对这些产品有了更大的所有权,在正常运行时间、可支持性和监控等方面更加积极主动了。”
Bob Violino目前在纽约,是Insider Pro、Computerworld、CIO、CSO、InfoWorld和Network World的特约撰稿人。
原文网址
https://www.cio.com/article/3531389/scaling-agile-and-devops-for-digital-transformation.html?nsdr=true