非技术部门,如何参与 DevOps?

2022-07-15 10:00:00
砍柴网
转贴:
搜狐网
560
摘要:DevOps 是一个很火的概念,在过去的几年中很多企业一头扎进了 DevOps 相关的实践中,准备转型。但是,成功的却是少数。

DevOps 是一个很火的概念,在过去的几年中很多企业一头扎进了 DevOps 相关的实践中,准备转型。但是,成功的却是少数。

一般来说,我们在加入 DevOps 大军之前,应该问问自己:我们为什么要使用 DevOps?无疑,多数企业都是为了降本增效、提高竞争力。然而,如果我们把目光仅仅锁定在 IT 团队本身,很可能就本末倒置了。

从大的范围上来讲,DevOps 转型应该是超越开发和运营两种职能的存在,它必须与企业的其他部门发生联系。一些非技术部门是 DevOps 团队的重要参与者,他们所站的不同立场完全可以起到平衡作用,避免技术部门陷入 “唯技术陷阱”。

这一点对一些面临数字化转型的传统企业尤为重要。因为在传统企业内部,业务部门才是主体,而 IT 部门是为了业务部门赋能的。除此之外,在 DevOps 实践中,一些法律和财务的风险也是需要提前规避的。

一、这些非技术部门为什么要参与 DevOps?

让非技术团队参与到 DevOps 中来,这并不是说要组织中的每个员工都需要了解 DevOps 和软件需求的来龙去脉。

相反,一些部门的参与却是 DevOps 的刚需,核心 DevOps 团队和非技术角色的同事之间建立战略联系绝对是一件物超所值的事。

1、业务团队让 DevOps 更瞄准 “靶心”

业务团队的重要性不言而喻。一些观点认为,在 DevOps 文化中就不再应该出现业务与技术不同步的事情,销售组织可以将客户的反馈和要求传达到开发周期中,更快地让下一版本就包含客户所需要的功能。

但实际上,人们对此的认识要比 DevOps 更滞后一些。2020 年,一群关心这个话题的人发布了 “BizOps 宣言”。该宣言倡导从根本上改变 IT 团队和业务用户在软件开发过程中的协作方式。

具体来看,BizOps 要求:1)业务成果高于单个项目和执行度量;2)信任和合作高于个人主义和层级制度;3)数据驱动的决策高于意见、判断和说服;4)学习和转变高于遵守严格的计划。

BizOps

https://www.bizopsmanifesto.org/

再然后,BizDevOps 这个概念应运而生,它被称为 DevOps 2.0。在这种方法中,业务团队不仅设定要求,他们还直接与开发人员合作,为敏捷软件开发冲刺和积压的工作设定优先级。他们成为业务方的合作伙伴,与管理人员一起解决问题,实现业务目标。

2、法律团队为 DevOps 保驾护航

“软件吞噬世界,开源吞噬软件。” 这句名言一语成谶。当下,开源软件无处不在,一些统计结果显示,90% 的现代应用程序中包含了开源代码,软件已经被开源组件所占领,企业既绕不开也躲不掉。而且,开源软件还能为组织带来降低成本、提高代码质量等诸多好处,绝大多数企业也愿意投身其中。

但这也带来了合规性问题,因为意识不足等问题,许多开发人员在不了解开源软件许可证相关规定的情况下,违规使用开源软件,就会带来麻烦。面对类似 MIT、Apache 等宽松许可证或许还好,但一些强传染性的许可证则需要特别注意。

其实,不仅是开源合规性,软件行业还有很多专利以及流程问题,都会引发合规和法律问题,如果不重视,很可能就会变成被告。

因此,法律团队在 DevOps 中的重要作用是:确保软件即使在持续发布时仍然合规。更多时候,法务更像是 DevOps 项目的编外人员,平时似乎用不上,但关键时刻又少不了。

3、财务部门强调价值,为利润工作

在 DevOps 转型期间,难免需要资金和人力的持续投入。但究其根本,很多 DevOps 团队的建立是一个 “商业行为”,目的也是商业目的,大家都是为利润工作的。如果抛开这个不谈,多少有点耍流氓的意思。

前文我们提到业务部门与 DevOps 结合,叫做 “BizOps”,也就是 Business + DevOps;而财务与 DevOps 的结合也有个概念,叫做 “FinOps”,是 “Finance” 和 “DevOps” 的结合体,通过帮助工程、财务、技术和业务团队在数据驱动的支出决策上进行协作,使组织能够获得最大的业务价值。

如今,FinOps 是很多企业数字化转型中不可或缺的一项。这需要 DevOps 尽早与财务部门合作,将财务控制和监控纳入 DevOps 的规划阶段。

FinOps team

二、这些不写代码的人,如何参与 DevOps?

无论是业务、法律还是财务团队,我们实际上很难找出既懂代码又懂法律或者是财务的跨行业人才,一味去追求这样的跨界人才也是不现实的。这会加大我们在人才招聘和培养上的投入。

那么,我们还有什么好办法去让这些不懂代码的人,发挥自身专业长处加入进 DevOps 呢?

首先,文档永远是降低沟通门槛的利器。

在 DevOps 的理念中,技术文档的协作应该是被纳入到整个 DevOps 生命周期之中的,文档写作者必须适应 DevOps 的节奏和方式。目前,已经有不少开源项目提供了 API 文档,这一类型的文档同样在各大规模企业的 DevOps 团队中使用,让文档写作能够跟随上 DevOps 的脚步。

而且,文档在 DevOps 的转换过程中也发挥着至关重要的作用,这些文档可以记录下一些 DevOps 中实现效率和收益的最佳实践。这些东西几乎是无法口耳相传的,必须通过文档留存下来。与此同时,如果组织内存在多个 DevOps 团队,文档也会起到统一作用,它可以将最佳实践标准化起来,最终形成基准测试的指标。

要想与其他非技术部门(特别是业务部门)进行基本的协同,文档透明性必须加大,向他们开放文档访问。此外,还可以通过演示、或者是测试版本试用等方法,加大非技术团队的参与度。

其次,流程上一定要为非技术部门留下特定的 “沟通接口”。

在整个 DevOps 流程的顶层设计时,就应该考虑进法律、财务等非技术部门的 “进场时间”。但在实际操作中,又存在很多突发情况和特殊情况,尤其在 DevOps 的特性中,及时性尤其重要。因此,几乎每个大小节点都应该留下 “沟通窗口”。

这些 “沟通窗口” 可以是同步工具,也可以是定期会议,还可以是特定的对接人员。具体来说,非技术部门的及时介入是风险防范的有效措施,这需要各方都有足够的协作意识,及时处理,避免出现 “亡羊补牢” 的情况。

最后,利用市面上的先进自动化工具,也是非技术部门切入的好办法。

DevOps 自动化能够减少人工辅助,简化工作交互,从而将迭代更新更快地部署到生产应用中。

自动化是 DevOps 的重中之重。对于一些非技术部门,特别是业务部门,是需要了解自动化是如何改变软件交付方式的。一些专家还会建议,从持续集成 / 持续开发 (CI/CD) 工具链中去生成自动化数据报告,是让营销部门收益的良策。

DevOps文章
联系我们
联系人: 阿道
电话: 17762006160
地址: 青岛市黄岛区井冈山路157号中南金石国际广场A座3202室