Enable javascript in your browser for better experience. Need to know to enable it? Go here.
Data Mesh实践:树立良好的开端(第一部分)

Data Mesh实践:树立良好的开端(第一部分)

自 Thoughtworks 新兴技术总监 Zhamak Dehghani 于 2019 年发表第一篇阐述Data Mesh的概念和原理的文章以来,关于此主题的文章数量呈指数增长。现在,我们凭借成功完成的大量Data Mesh项目,能够更深入地理解它的实际应用。

 

在本系列文章中,我们将分享近期为 Roche 实施 Data Mesh 获得的实际落地经验。作为全球最大的医疗健康提供商,Roche需要生成、管理和处理大量数据,涵盖广泛的专业领域。我们阐述了在大型企业环境中成功应用Data Mesh原则的关键要求。

 

正如 Zhamak 在《Data Mesh:规模化交付数据驱动的价值》一书中指出的那样,Data Mesh不仅是一种架构方法,还是一种社会技术范式,需要在流程、运营模式和技术方面进行变革。“社会技术”是指人类社会系统与技术交互作用并应用技术以产生更好结果的层级和微妙方式。 [1]

指导所有Data Mesh构建模块的原则

Principles guiding all building blocks of Data Mesh Principles guiding all building blocks of Data Mesh

Zhamak 提出了Data Mesh的四项原则,可以帮助我们理解构建强大Data Mesh所需的社会技术需求范围。

 

前两项“领域的所有权和架构”以及“数据即产品”均要求对运营模式进行重大变革。而“自助平台”和“联合计算治理”则需要深厚的工程化专业知识和演进式架构。这是两种非常不同的变革类型,如果组织无法正确理解并应对这类变革,它们可能会破坏Data Mesh方法的巨大潜在价值。

 

在这新的系列文章中,我们将深入探讨支持Data Mesh所需进行的组织、流程和运营模式变革、构建数据产品的实际需求以及该方法的架构需求。在整个系列中,我们将展示我们如何平衡各种变革,以实现 Roche 的Data Mesh愿景,并分享一些行之有效的原则和实践,帮助您取得同样的成果。

流程和关键实践概览

 

在开始任何数据旅程(尤其是Data Mesh旅程)之前,必须在组织级别制定明确的数据战略。要制定该战略,团队必须回答以一系列以价值为导向的问题,例如:

  • 数据、人工智能和其他高级技术将如何为我们的业务带来价值?   
  • 我们是否需要数据来帮助我们增加收入、削减成本、改善客户体验或创造新的收入来源(或同时实现这四项目标)?
  • 我们有哪些关键战略数据用例?我们的数据战略如何为这些用例提供支持?

 

通过回答这些问题,组织可以就其真正需要的数据架构做出明智的决策,并帮助他们确定最终如何衡量所选架构方法所提供的价值。在本系列文章中,我们将探讨在组织制定了数据战略并确定Data Mesh是支持和实现该战略的正确架构选择之后,组织需要踏上的实施旅程。

 

在本系列文章中,我们将重点介绍 Thoughtworks 在规划和成功执行Data Mesh之旅时所采取的实践、原则和措施。每篇文章都探讨了这些旅程的不同方面,下文则是对这些行动如何贯穿整个旅程的一个简要总结:

 

跨领域规划和范围界定

 

  • 在这个过程中,首先要由跨领域团队和领导团队确定组织的“目标”,即他们在自己的企业中采用以数据为中心的方法的动机。这有助于他们制定数据战略,从一开始便明确数据战略可为其团队提供的业务价值和优势
  • 然后,团队可以确定Data Mesh是否是支持该战略的合适架构范式,并树立可衡量的、基于价值的目标,这些目标将用于确定团队的决策在推动团队实现其战略的预期优势方面成效如何
  • 领导者还需要确定“行动方案”,设想他们将要如何实现上述战略,在流程早期规划出要包括的领域,并使相关团队能够开始进行深入的探索工作   

 

运营模式:从项目到产品

 

  • 制定运营模式,确保跨领域和领域内的团队可以轻松地从Data Mesh模式中创造最大的价值
  • 定义新的角色和职责,明确领域和数据产品参与者并为其赋能
  • 确定治理结构,对齐期望实现的成果,平衡自主性和互操作性,并最终确保整个Data Mesh的一致性

 

产品思维

 

  • 使用设计思维原则来确定初选潜在数据产品
  • 将初选产品映射到精益价值树,确定高价值选项
  • 定义用例的确切目的和预期价值,并商定如何对其进行衡量
  • 根据精益价值树,将初选产品列表精简为高价值用例的最终备选产品列表,确定实现这些用例所需的数据产品

 

技术演进

 

  • 将数据产品作为具有功能内聚性的原子单元进行处理和管理
  •  为创建和维护数据产品建立精简的开发人员体验
  • 在整个组织中制定一致的数据产品定义
  • 自动化治理和访问控制策略
  • 应用适应度函数来指导网格的演化
  • 为数据共享提供明确的指导(或模式)

 

跨领域维护与演进

 

  • 根据已制定的成功指标衡量在所有三个领域做出的决策,从而实现持续改进和不断迭代,改进和优化Data Mesh
  •  护栏可确保数据产品之间的高互操作性,并最终确保Data Mesh的成功和价值

如果您希望深入了解Data Mesh之旅的特定方面,可以点击以下链接跳转至相关文章,找到对上述实际应用和原则的详细说明:

 

 

在本系列文章的开头部分,我们将首先分析在采用Data Mesh时所面临的一些持续的、高层级的挑战,然后再介绍我们基于设计思维的“双菱形”流程,该流程有助于我们开启成功、高价值的Data Mesh之旅。

 

挑战 1:克服快速扩张与持续学习的两难问题

 

依据网络效应原理[2],Data Mesh的价值随着其服务的互操作用例的数量而增加,因此对于采用该模式的企业而言,扩张是重中之重。然而,企业对快速扩张的渴望一直在为各种实现带来挑战。

 

从社会技术范式的视角来看,采用Data Mesh的组织正处于探索学习的过程中。他们仍需要进行多次试验,确定什么最适合自己。在此过程中,他们将发现为组织提供独特价值的强大业务和客户用例。当然,他们希望将这些探索结果应用到尽可能多的领域。

 

然而,如果企业扩张太快,将无法有效地学习或吸收所学到的知识。扩张过快会产生一种动态,即每个分布式领域各自学习,而不是相互学习或协作进行集体数据工作。受此挑战困扰的团队在试验阶段停滞不前,独自寻找解决自己问题的方法,而不去识别整个组织作为整体的挑战,从而导致很难使用Data Mesh。

 

为解决这一潜在的权衡问题,并克服它在Data Mesh项目中带来的挑战,我们设计了一系列实践来帮助组织成功平衡采用Data Mesh的学习需求和扩张需求。为与Data Mesh的联合特性保持一致,我们提出的方法允许分散团队进行并行工作。

 

挑战 2:定义和赋能各个领域

 

我们在实践领域驱动型设计方面的长期经验帮助我们理解了上下文情景划分清晰边界的优势,这种实践可以区分各种关注点并使团队能够集中精力在他们完全理解和能够控制的上下文解决问题。许多Data Mesh实现都自然地尝试定义各个领域,以便它们可以为其分配数据产品所有权。然而,根据我们的经验,毋须仅为设计数据产品团队和数据产品而重组业务单位或部门。在许多情况下,您可以开始在现有结构中分配数据产品所有权,并随着过程进展根据需要对其进行改进。在确定数据的所有者时,我们遵循业务流程的业务成果以及围绕业务流程的现有决策框架。

 

Data Mesh使各个领域能够做出与数据相关的决策并构建自己的数据产品。这种方法自主性很高,特别是与传统的集中式数据架构方法相比。传统的集中式数据架构方法必须通过单个 IT 或数据团队完成所有工作。

 

这种程度的自由自然会引发许多重要问题:哪些人需要参与制定目标的对话?企业应如何衡量各项成果?哪些人负责关注目标的进展,并在团队需要时为其提供管理支持?

 

为解答以上问题,我们借鉴了 Thoughtworks 的 EDGE 运营模式,从中汲取灵感,了解如何将高层级业务目标直接与数据产品团队的工作联系起来。我们发现 EDGE 非常适合采用Data Mesh的领域的情景。他们不是向团队提供需要努力实现的指令性输出,而是围绕特定目标进行调整以实现客户价值。每个领域都可以自主决定实现其特定领域目标的最佳方式。

 

其结果是形成一组与组织战略和数据战略一致的领域,但这些领域有权基于上下文以合理方式实现战略目标,并以创造性的方式应用领域特定的知识来利用数据,使其能够实现更多的客户价值。

 

挑战 3:好高骛远

 

由于Data Mesh最佳实践的不断发展,团队并无唯一的“最佳路径”。团队已确定Data Mesh是实用且可行的,定义了一些初始用例,并开始着手实现Data Mesh。遗憾的是,在某些情况下,这会导致项目无法通过 POC 阶段,无疾而终。

 

根据我们的经验,我们已应用设计委员会的“双菱形”方法在Data Mesh中添加新领域,如下所示。

将业务部门/领域加入Data Mesh流程

Onboarding a business unit / domain to the Data Mesh process Onboarding a business unit / domain to the Data Mesh process

“双菱形”方法可确保领域在思考工程技术之前,首先关注业务目标和行动方案。该方法的第一阶段包含重要的探索环节,有助于确定业务目标和行动方案,而第二阶段则负责解决技术问题。

关键实践:从现有组织边界开始您的旅程

 

定义各个领域是Data Mesh之旅的关键环节,但是重新定义领域边界可能会带来许多额外的挑战,而且重新定义领域边界并不总是必要的先决条件。我们建议从已有的组织边界开始,仅在遇到重大障碍时才移动这些边界以建立新领域。

通过执行详细的探索流程,领域团队可以确切地了解自己的目标,并在战略上与业务目标和客户价值保持一致。通过加入Data Mesh,他们能够清楚地阐明自己想要实现的目标,Data Mesh如何帮助自己实现战略目标以及他们实现目标所需要获得的支持。这样可以启动入驻流程,同时还为之后需要执行的一切环节提供了一个框架。

 

我们发现一种非常成功的方法是,在探索过程中确定“Data Mesh增量”,即领域的当前状态与希望使用Data Mesh实现的目标之间的差距。为识别此增量,我们将探索过程划分为三个流:

 

  • 运营模式流

  • 产品流

  • 技术流

 

根据Data Mesh的原理,这些流可以并发运行。下图显示了 Roche 目前跨多个领域运行的这三个流的探索过程:

Three-stream discovery process across multiple domains at a major healthcare company Three-stream discovery process across multiple domains at a major healthcare company

在探索过程中识别并探索的三个流不仅仅有助于评估和规划在Data Mesh中添加的领域,还为如何执行新领域入驻提供了一个框架,明确了要确保Data Mesh最终为每个领域以及整个组织实现其全部价值,企业所需进行的组织结构、流程和技术变革。

 

采用Data Mesh需要的不仅是技术变革

 

在本系列的以下文章中,我们将深入探讨成功实现Data Mesh所需的三种不同类型和领域的变革。每篇文章都将为跨相关领域开展工作的人员提供洞见,高屋建瓴地阐述成功采用、嵌入Data Mesh并从中创造价值所需执行的各种变革和决策。

 

在本系列文章中,我们将分享近期在为 Roche 实现Data Mesh的服务过程中积累的经验和洞见。通过本系列文章,我们将向您精确地展示如何整合不同类型的变革,以制定强大的Data Mesh实现方案和实施战略。

 

在下一篇文章中,我们将探讨团队在整个Data Mesh旅程中需要做出的组织和运营模式决策,介绍在项目中使用的原则和实践,以确保成功并最大限度地创造价值。

参考资料

 

[1] The term “sociotechnical” was introduced by researchers at the Tavistock Institute in London in the middle of the 20th century. The canonical paper explored how a change in sociotechnical arrangements of work resulted in improvements in team cohesiveness, work satisfaction, and reduced sickness and absenteeism. See Trist EL and Bamforth K (1951) Some Social and Psychological Consequences of the Longwall Method of Coal-Getting: An Examination of the Psychological Situation and Defences of a Work Group in relation to the Social Structure and Technological Content of the Work System. Human Relations 4(1): 3–38. DOI: 10.1177/001872675100400101.

 

[2] Barabási A-L (2002) Linked: How Everything Is Connected to Everything Else and What It Means for Business, Science, and Everyday Life. London: Plume.