简介: 目标、方法与实践。

我们正迈向数字经济时代,数字化转型成为普遍行动。未来绝大多数业务都将运行在数字基座之上,软件系统成为业务创新和发展的核心引擎。在这一趋势下,产品研发的交付能力面临巨大挑战,产品研发的交付实践和方法亟待变革。

BizDevOps 将是这一变革的主题,是数字化时代的技术破局之道。本文将分成 3 个部分,系统介绍 BizDevOps 体系,它们分别是:

1)BizDevOps 产生的背景;

2)BizDevOps 要解决的核心问题和基本解法;

3)BizDevOps 的数字化模型和实践体系。

我们将从数字化转型这一背景开始,理解 BizDevOps。

1 数字化转型将重塑业务和技术的关系

1.1 数字化统一了质量、效率和体验,是一次历史性的飞跃

“统一质量和效率”,是工业时代的最大成就之一。

图⒈ 工业时代实现了质量和效率的统一,是人类史上的一次伟大飞跃

手工业时代的特征是“慢工出细活”,质量和效率不可兼得。进入工业时代,通过规模化和标准化的过程,从流水线上源源不断产出的产品既好又便宜,实现了质量和效率的统一,这是人类史上的一次伟大飞跃。

规模化、标准化加上科学技术的应用,一同造就了 20 世纪的繁荣,其影响不仅限于制造业。标准服务流程(SoP)的应用,让服务业的效率和质量也同步跃升。但,它是以牺牲个性化体验为代价的,正如福特先生的幽默表述:“你可以要任何颜色的汽车,只要它是黑色的”。

标准化天然排斥个性化。受限于技术条件,为了质量和效率,牺牲个性化体验是不得已的选择。而,数字化将彻底改变这一切。

图⒉ 数字化时代在质量和效率的基础上进一步统一了体验

数字化技术让企业在实现高效和高质的同时,满足个性化的体验需求。如果,工业时代的主题是“规模化标准制造”;那么,数字化时代的主题就是:“规模化定制”。定制的既包含实体产品,也包含服务。在数字技术支持下,精准医疗、个性化教育都将成为普惠的服务。在工业时代,这绝无可能。从规模化标准制造到规模化定制,这是继工业革命统一效率和质量之后,人类历史上的又一次里程碑意义的飞跃,它将是未来业务竞争的胜负手。为此数字化转型将是每一个企业所必须回答的命题。

问题是,数字化转型何以能够,又将如何实现这一飞跃呢?

1.2 数字化转型的三个核心能力

为了统一效率、质量和体验,通过数字化转型要建设三个核心能力。如图 3 所示,它分别包括业务、技术和数据 3 个方面。

图⒊ 数字化转型的三个核心能力

第一个核心能力是:从业务视角关注出发,连接价值交付链路。它体现为图 3 的横坐标,也就是从关注各个独立业务环节,到打通价值交付链路。IT 应用的早期,通常从各个独立的业务环节开始,站在企业内部视角,提高现有业务模式的运行效率。在数字化转型中,为了满足个性化的体验,必须从企业内部视角,切换到用户视角,连接从需求的获取、还原、设计、生产、交付、服务的端到端过程,这样才可能去精准满足每个用户的个性化需求。连接端到端的价值链路,是数字化转型的第一步,也是最基础的一步。但,它并非数字化转型所特有。数字化转型的本质不同是,它在满足个性化体验的同时,保障效率和质量。做到这一点就需要数字化技术的加持,这也是数字化转型的第二个核心能力。

第二个核心能力是:从技术视角出发,实现全链路的数字化。它体现为图 3 的纵坐标,也就是从信息传递到数据共享。信息化是将已有的业务搬上线。比如,早期的 OA 系统,会计电算化系统,以及各个业务环节的信息支持系统,都属于此类。此时一方面,数字世界和物理世界之间需要通过信息的传递,来保持同步;另一方面,不同业务环节,也需要通过信息的传递来实现集成。信息化带来的直接好处提高运作效率和规范性。数字化则要对个性的用户需求快速、精准的响应,并保障效率和质量。为此,数字化必须从信息传递进化为数据共享。

数据共享体现为两个方面:

1)数字世界和物理世界的数据共享,数字世界应该能够与物理的世界实时的同步与互操作。数字世界建模并反映物理世界的实时状况,数据在数字世界的算法处理后,能够转化为物理世界的动作,并即时反馈到数字世界;

2)业务链路上的数据共享。价值交付链路应该实时共享同一份数据,并且都能够理解和应用这一份数据。只有通过以上两点,数字化才能够发挥真正的作用,即时响应用户的需求,并精准和高效地满足它们。

为了做到这两点,数字化首先要还原业务的本质,基于对业务的本质理解,建立底层数字化模型,在各个环节的实现数据连通和共享,并实时连接数字世界和物理世界。综合第一和第二个能力,就实现了数字化转型的基础目标,也就是图 3 中的第一象限——用户价值驱动的全链路数字化,它为统一质量,效率和体验奠定基础。同时,在数字化运作过程中将产生高质量的可用数据。数据的应用,让数字化的效益倍增。这也是数字化转型的第三个核心能力。

第三个核心能力是:从数据视角关注数据应用和数据智能,它体现为图 3 的顶部的内容。依赖高质量的数字化模型和运作过程,就能够产生高可用数据,它具备三个特点,分别是:

1)全量——业务运作过程被完整记录;

2)全要素——数据从各个维度反映和还原业务;

3)实时——数据在业务运作过程中实时产生。

全量、全要素和实时的数据,是数据应用和数据智能的基础。通过数据应用,一方面可以保障和持续改进数字化运作的效率和质量;另一方面,更重要的是数据本身将成为核心业务资产,而挖掘和应用这些资产的价值,将会创造全新的业务模式和用户体验。

1.3 数字化转型将重塑业务和技术的关系

数字化转型的 3 个核心能力,共同作用同步提升业务运行的效率、质量和体验,并赋能数字化时代业务的发展和创新。而这三个核心能力,不管是连接价值交付链路,还是全链路的数字化,或者是数据应用和数据智能,都必须建立在 IT 技术之上,以技术为核心来构建。数字时代,技术将成为业务的内核。技术与业务的关系也将因之被重塑。技术与业务之间关系的重塑是一个持续的过程,图 4 大致反映了这一历程。

图⒋ 技术成为数字业务创新和发展的核心动力

早期的信息化时代,技术与业务的典型关系是:Biz 与 Dev 相互分离,Dev 和 Ops 相互分离。信息化的目标是将已有业务搬到线上,改进运营效率。此时,业务的确定性较高,技术的任务则是响应并分析来自业务的明确需求,设计、实现和交付软件系统。与之对应,主流的 IT 协作和交付方式是瀑布式流程方法。

本世纪初,我们进入互联网时代,技术与业务的关系发生了变化:Dev 和 Ops 融合,Biz 与 Dev 更紧密的协同,技术在支撑业务的发展同时,也拓展了业务的边界,诸如电子商务、互联网金融都是这个时代的产物。同时,业务的不确定性也持续增加,对迭代、反馈和持续交付的诉求越来越高。与之对应,敏捷和精益方法成为主流,DevOps 实践体系逐渐完备。

今天我们正在进入数字化时代,未来几乎所有业务都将运行在技术底座之上,其发展和创新都离不开技术的支撑,技术已成为业务创新和发展的核心动力,甚至有人提出 IT 即业务,业务即 IT。与之对应,数字化时代需要自己的实践体系,它是 DevOps 运动的延续和发展,也就是在 Dev 和 Ops 融合基础上,Biz 与包括 Dev 和 Ops 在内的技术进一步融合,我们将其定义为 BizDevOps。BizDevOps 是数字化时代,业务和技术关系重塑的必然要求和结果。

接下来,我们将解析数字化时代技术和业务所面临的挑战和问题,并从这些问题出发构建 BizDevOps 的数字化模型和实践体系。

2 产品研发的数字化转型和 BizDevOps 体系

2.1 数字化对产品研发的交付效能带来极大挑战

数字化时代,技术交付的复杂度持续提升。首先,打通端到端的价值交付链路,意味着经常需要跨业务和产品的协同才能交付完整价值,协作的复杂度变大;其次,系统复杂度的提升,以及全面的数字化带来的包括云、IOT、边缘设备和各类终端的联动,让工程复杂度极大提升;最后,随着技术和业务的融合,业务本身的不确定性和复杂度也在提升。

图⒌ 数字化时代 IT 的交付效能急需提升

随着协作、工程和业务复杂的提升,如果保持过去的实践不变,研发的交付效能必然会有降低的趋势。然而,数字化时代,业务发展和创新对系统交付的依赖越来越强,业务对交付能力的要求也越来越高,不管是质量、效率和有效性的诉求都在提高。如图 5 所示,一方面效能有下降的趋势;另一方面对产品研发的期待不断提高。在效能的期望与现实之间就产生了巨大的差距。为了弥补这一差距,首先要弄清楚背后有哪些具体的问题。

2.2 数字化时代产品研发挑战背后的 3 个核心问题

在着手提升技术交付效能前,首先要弄清楚效能背后的核心问题是什么,然后才是落地解决问题的实践方法。否则问题没定义清楚,就很难有好的结果。我将提升效能要解决的问题,归纳为 3 个效能不等式。

图⒍ 数字化时代产品技术交付的三大核心挑战

第一个不等式:局部效率不等于高效交付。相信,很多人会感同身受。当我们去问各个部门或者个人时,他们都觉得很忙,效率很高。但是,我们去问业务部门或用户,却是另外一回事,他们会抱怨产品研发响应慢、交付迟、质量也不好。这就是组织内部视角的局部效率并不等于用户视角的高效交付。这个是提升研发效能要面对的首要问题。解决它需要更有效的组织协同、更合理交付模式,和更好的过程质量。接下来的问题是,高效交付就够了吗?这就引出了第二个效能不等式。

第二不等式,高效交付能不等于持续高效。很多时候为了高效的交付,我们会成立临时项目并集中办公,沟通协作会更便捷,这可能会达成一时的高效。但是,如果缺乏长期质量思维,当我们在做下一个项目,往往会发现问题。之前的代码和设计存在各种问题,可复用性和可维护性都很差,为后续项目留下的是负债而不是资产,长期的效率无法维持。如何从高效交付转变成持续的高效,这是研发效能要解决的第 2 个问题。它对我们的工程和技术能力和实践都提出了要求。

第三个不等式,高效交付不等于业务成功。产品交付的目的是支持业务发展和业务创新。我们必须保证交付的东西,能解决用户问题,并构建可持续的商业模式,否则交付再多也没有意义。今天,市场和用户的不确定持续增加,破解这一问题不容易。它需要整个组织能够聚焦用户问题,快速交付和试错,并形成有效反馈调整的闭环。做到这三点才能让高效交付转化为业务成功。这是提升研发效能要解决的第三个核心问题。研发效能提升的本质就是要化解上面的三个不等式,从而把组织内的局部效率转化为持续的用户可感知的高效交付,从而赋能数字业务的创新和发展。

2.3 面对挑战,产品技术团队自身更需要数字化转型

面对上面的 3 个效能不等式,如果把产品研发也当做一类业务,那它本身就迫切需要数字化转型——通过产品研发的数字化,实现效率、质量和体验的同步提升。这里的体验具体到产品研发中,指的是交付的有效性。为了理解产品研发的数字化转型,我们将引用前述的数字化转型 3 个核心能力,它同样适用于产品研发。

图⒎ BizDevOps 的三个核心能力

首先,业务上寻求连接业务需求交付链路。也就是用户价值驱动,打通从业务(Biz)到开发(Dev)到运维(Ops)的端到端业务需求交付链路和反馈闭环;

其次,技术上寻求全链路数字化。也就是连通协作和工程及各个子领域,建立统一的数字化模型,并共享底层数据,实现组织协同、工程活动的全链路数字化和有效连接,保证整个交付链路的效率、质量和有效性。

最后,数据上寻求数据支持的持续改进。也就是基于全量、全要素和实时的数据,从场景目标出发,设计和应用系统的度量,保障产研交付的执行并持续改进交付效能。建设以上三个能力,实现产品研发的数字化转型,其结果就是打造 BizDevOps 体系。

我们将 BizDevOps 体系的总体目标表述为:

打通组织中的各个职能环节,实现业务、开发和运维的一体化运行,形成高效和精准的业务交付、业务反馈和业务调整闭环,赋能数字业务的发展和激发数字业务的创新。

BizDevOps 的实施,首先需要构建产品研发的数字化模型,并以此为基础构建 BizDevOps 实践体系。接下来,我们将分别介绍 BizDevOps 背后的数字化模型,以及 BizDevOps 的实践体系。

3 BizDevOps 的数字化模型和实践体系

3.1 从价值交付链路出发构建 BizDevOps 的标准数字化模型

产品研发数字转型一个重要的基础工作是,建立产品研发的数字化模型。一个好的数字模型,可以极大提升产品研发的数字转型的成功概率和效率。构建有效的数字化模型,应该从分析价值链路开始,并识别主要价值链路上的价值流动单元。例如图 8 中:业务价值交付链路对应的价值流动单元是业务需求;产品交付链路对应的价值单元是产品需求;工程变更链路对应的价值单元是变更;质量管理链路上,主要的价值单元是缺陷。

图⒏ BizDevOps 数字化标准模型之极简版

上图是我们定义的 BizDevOps 数字化模型的极简版。其中,红色框是各个主要链路上的价值单元,这些链路相互关联,是产品研发数字化的内核,确保该模型可以支持全链路的数字化实践。我会在后续的文章或标准中给出更细节的模型定义,并解读模型设计背后的原则和方法。

3.2 BizDevOps 的实践体系框架

数字化模型是产品研发的数字化的基础,要落地 BizDevOps,更重要的是提供完整的应对数字化时代产品研发效能挑战的实践体系。

图⒐ BizDevOps 实践体系框架

上图是对 BizDevOps 实践体系的完整框架,它综合了我和同事以及合作伙伴们多年的实践探索。BizDevOps 实践框架从上到下分为三个层次,分别是:

1)价值链路层面。任务是打通业务交付的协作和工程链路;

2)技术交付层面。任务是提供高效的团队协作和工程数字化实践,确保协作和工程的基础效率、质量以及可持续性;

3)实践方法层面。提供数字化之外的实践方法支撑,如需求分析和领域建模实践,它为数字化运作的效率提供基础的保障。

图10. BizDevOps 实践体系框架与产品技术交付的挑战的对应

BizDevOps 实践体系的不同部分,分别解决前文所述 3 个效能不等式,这些实践相互协同构成一个完整体系,确保产品研发团队可以持续地顺畅高质量交付有效价值。下面,我将分别简要的介绍这些实践。

3.2.1 需求和协作实践

BizDevOps 实践框架图(图 9)的左侧是需求和协作实践。它解决的问题是:如何把局部效率转化为高效交付。它可以细分为三组实践。从下到上分别是:

以终为始的需求分析和设计。它解决的具体问题是:如何分析业务和设计需求,确保输入质量,为高效、高质量的交付有用价值创造前提?

产品导向的交付模式。它解决的具体问题是:如何组织交付团队,高效交付需求的同时,持续迭代产品,改进能力,提升交付效能?

业务驱动的协作模式。它解决的具体问题是:如何让整个组织围绕业务目标有效协同,快速响应和交付业务需求,并形成业务反馈闭环 ?

这三组实践,从需求输入到团队交付再到组织协同,共同确保局部的效率可以转化为高效的交付。

3.2.2 技术和工程实践

BizDevOps 实践框架图的右侧是技术和工程实践。它解决的问题,是如何把高效交付转化为持续的高效。它又可以细分为三组实践。从下到上分别是:

1)领域驱动的架构和实现。它解决的具体问题是:如何从业务出发,设计系统和服务架构并转化为高质量的代码实现,保障技术开发的长期效率?

2)聚合和管理研发资产及工程活动。它解决的具体问题是:如何组织研发资产和研发活动,并有效的管理和演进它们,持续提高工程响应和交付能力?

3)建设持续的业务发布能力。它解决的具体问题是:如何适配场景落地工程交付流程,并连接工程交付与业务响应,实现业务需求的高效发布,并形成有效的反馈闭环?这三组实践,从技术实现到应用变更到业务发布,共同确保高效的交付可以转化为持续的高效。

3.2.3 度量和改进实践

BizDevOps 实践框架图的底部中间部分是度量和改进实践。它是支撑性的实践,解决的问题是如何设计和落地有效数据和度量体系,保障研发交付的落地执行,并指导研发效能的改进。度量和改进实践具体包含三个方面,分别是:

1)以数字化模型为基础产出全量、全要素和实时的基础数据;

2)从场景目标出发设计可靠的度量;

3)以度量为支撑保障执行并持续提高效能。

3.2.4 业务创新实践

BizDevOps 实践框架图的中间部分是业务创新实践。它解决的问题是如何让高效交付转化为业务成功,也就是以 BizDevOps 实践体系为基础,建立高效的业务探索、交付和 反馈调整机制,赋能数字业务的创新和发展?

4 总结:赋能数字业务的发展和创新

图⒒ 特斯拉创始人马斯克关于设计工厂和汽车的推文

特斯拉的创始人埃隆. 马斯克曾经在推文中说道:“设计生产机器(汽车)的机器(汽车生产流水线),比制造机器(汽车)本身要困难十倍、百倍。而人们经常不能很好地理解这一点”。同样,打造支持数字化业务的流水线,比设计单个数字化业务本身要困难十倍、百倍。

我们正加速进入数字化时代,BizDevOps 的使命是打造数字化业务背后的流水线,持续赋能数字化业务的创新和发展。为此,BizDevOps 将打破技术和业务的隔阂,重塑两者的关系。BizDevOps 更需要定义数字化模型,完善需求、协作、工程和技术实践,并将它们整合为完整的数字化体系,用数字化的方式来支持数字化业务的创新和发展。

本文介绍了 BizDevOps 产生的背景,定义了 BizDevOps 解决的核心问题,并以此为基础总结了 BizDevOps 的实践框架,希望对你在数字化时代实现技术破局有所启发。

不过本文并未深入到各个具体的实践。今后的文章中,我将以这个框架为蓝本,对各个专项的实践做深入的介绍,与大家共同探讨 BizDevOps 的实践。

本文为阿里云原创内容,未经允许不得转载。

一文读懂 BizDevOps:数字化转型下的技术破局的更多相关文章

  1. 一文读懂 IPv4 到 IPv6 的过渡技术

    在介绍 IPv4 到 IPv6 过渡技术之前,我们先来简单了解一下 IPv4 和 IPv6.什么是 IPv4?IPv4 全称为 Internet Protocol version 4,它为互联网上的每 ...

  2. 一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现

    一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引 ...

  3. Java8 函数式【1】:一文读懂逆变

    Java8 函数式[1]:一文读懂逆变 禁止转载 pure function 协变 逆变 Java8 引入了函数式接口,从此方法传参可以传递函数了,有人说: 不就是传一个方法吗,语法糖! lambda ...

  4. 一文读懂HTTP/2及HTTP/3特性

    摘要: 学习 HTTP/2 与 HTTP/3. 前言 HTTP/2 相比于 HTTP/1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何 ...

  5. 一文读懂高性能网络编程中的I/O模型

    1.前言 随着互联网的发展,面对海量用户高并发业务,传统的阻塞式的服务端架构模式已经无能为力.本文(和下篇<高性能网络编程(六):一文读懂高性能网络编程中的线程模型>)旨在为大家提供有用的 ...

  6. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  7. 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)

    一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm) 2017-12-25  16:29:19   对于 A3C 算法感觉自己总是一知半解,现将其梳理一下,记录在此,也 ...

  8. [转帖]一文读懂 HTTP/2

    一文读懂 HTTP/2 http://support.upyun.com/hc/kb/article/1048799/ 又小拍 • 发表于:2017年05月18日 15:34:45 • 更新于:201 ...

  9. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

  10. 一文读懂HDMI和VGA接口针脚定义

    一文读懂HDMI和VGA接口针脚定义 摘自:http://www.elecfans.com/yuanqijian/jiekou/20180423666604.html   HDMI概述 HDMI是高清 ...

随机推荐

  1. KETTLE4个工作中有用的复杂实例--2、两表数据比较,循环取数据,比较后自动同步(部门、单位数据同步)

    附:Kettle实战视频教程,需要的朋友可以看看学习下哈~~ kettle实战第一讲-文件和数据库表的互相转换处理_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili kettle实战第二讲-数据库单 ...

  2. vscode自动生成头文件

    Ctrl Shift P 输入:snipp,选配置用户代码片段,新建全局代码片段文件,修改下列模板: { // Place your 全局 snippets here. Each snippet is ...

  3. 毕设系列之Linux V4L2(图形图像采集篇)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  4. 【leetcode 春季比赛3题 二叉搜索树染色】广度搜索

    暴力: import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import ja ...

  5. 补充--关于nginx服务器多个网站如何设置404的问题?

    补充--关于nginx服务器多个网站如何设置404的问题? 需求1 :设置多个网站404页面为一个 都需配置网站的nginx.conf,以上面的多网站为例,404发布目录下,每个的nginx.conf ...

  6. verilog的文件流和项目流

    verilog的文件流和项目流 1.写在前面 在学习FPGA时,一般都是从项目流入手的.从一个集成的开发环境创建一个工程.通过一个个组件的编写和设置来实现某个项目.这样的操作固然简单,对于设计者来说只 ...

  7. KingbaseES file_dw 介绍

    file_dw简介 ​ file_fdw模块提供外部数据包装器file_fdw, 它能被用来访问服务器的文件系统中的数据文件,或者在服务器上执行程序并读取它们的输出. 数据文件或程序输出必须是能够被C ...

  8. 分享本人依照NOI大纲整理的CSPJ复习资料

    2023 CSP-J 复习文件 考纲 复习好 : 基础知识与编程环境 难度 计算机的基本构成 计算机的组成及功能 - 知乎 (zhihu.com) 操作系统的基本概念与常见操作 操作系统基础知识大汇总 ...

  9. UE4蓝图对Actor的引用

    通过关卡蓝图调用 在关卡中放置一个Actor,在关卡蓝图中右键 create a reference to actor,即可 注意使用该方法创建时,需要现在关卡中选择上该类Actor 当Actor生成 ...

  10. jenkens2权威指南

    第1章 Jenkins简介 Jenkins 2是什么 JobConfigHistory:这个插件可以追溯XML配置的历史版本信息, 并且允许你查看每次变更的内容. JenkinsFile Jenkin ...