读懂华为V模型:连接业务与IT,用V模型指导服务化设计

今天笔者带来华为的V模型,与读者一起解读下,V模型是如何连接业务与IT,实现IT产品服务化设计的。

华为用V模型连接业务与IT,指导服务化设计,是一种创新的方法论,旨在通过业务与IT的深度融合,提升企业的响应速度、灵活性和竞争力。

一、V模型的基本概念

V模型是软件开发过程中的一个重要模型,因其构图形似字母V而得名。在华为的应用中,V模型被赋予了新的内涵,即服务化V模型。这一模型强调从业务需求出发,通过一系列标准化的流程,最终实现IT系统的构建和服务化。

二、V模型连接业务与IT的机制

业务需求驱动:

V模型的起点是业务需求。华为在服务化设计中,首先识别和分析业务需求,确保IT系统的建设紧密围绕业务目标展开。

标准化流程:

通过对业务流程进行解耦拆分,将流程中的活动抽象出来,进行标准化定义和开发。这些标准化的应用服务可以灵活组合,适应不同的业务场景。

数据为核心:

V模型以数据为锚点,强调数据在业务与IT之间的桥梁作用。通过优化数据模型设计、确保数据一致性和服务化,华为能够构建出高内聚低耦合的IT系统。

服务化设计:

在服务化V模型中,每一个开发阶段都围绕着服务进行。从需求分析到系统设计、编码、测试,直至最终的服务部署和运维,都紧密围绕服务展开。这种设计方式使得IT系统更加灵活、易于维护和扩展。

三、服务化设计的指导原则

与IT一体化:

华为通过构建业务与IT一体化的产品团队,打破传统部门之间的壁垒,实现业务与IT的紧密结合。这种一体化的团队模式能够更快地响应业务需求变化,提高开发效率和质量。

敏捷开发:

采用敏捷开发方法论,强调快速迭代和持续交付。通过敏捷开发,华为能够更快地验证业务需求、调整设计方案,并及时修复问题,确保IT系统始终满足业务需求。

以用户为中心:

在服务化设计中,华为始终关注用户需求和体验。通过用户研究、原型设计、用户测试等活动,确保最终交付的IT产品能够满足用户的期望和需求。

持续学习和改进:

在数字化转型的过程中,华为保持持续学习和改进的态度。团队关注最新的技术趋势和最佳实践,不断学习和掌握新的知识和技能,以提高自身的能力和水平。

四、实践案例与效果

华为通过服务化V模型连接业务与IT,在多个领域取得了显著成效。例如,在供应链仓储业务中,华为围绕"入库单"这一业务对象进行服务化设计,实现了原材料仓入库、成品仓入库等多种场景的灵活应对。这种设计方式不仅提高了业务处理效率,还降低了IT系统的复杂性和维护成本。

总之,华为用V模型连接业务与IT,指导服务化设计是一种创新且有效的方法论。下面与读者详细阐述下V模型的方法论。

数字化转型过程中,华为提出以产品的思维管理IT,组建业务与IT融合一体化IT产品团队,确定团队中的业务角色、IT角色、数据角色,并强调落实产品经理责任制,由业务和IT共同设计与交付IT系统,主动规划、建设与运营IT产品,不断循环运营、持续迭代。

IT产品团队要快速响应业务变化,除了开展业务和IT一体化融合运作,主动进行产品规划之外,也要对产品本身的架构进行调整,将IT系统拆分为一个个松耦合的服务 ,使服务可以独立交付,并基于业务场景进行灵活编排,快速迭代,进而极大地提升交付效率**(也就是SOA)**。

一、引入服务化架构

华为发布的《企业架构原则》中明确将服务化架构确定为架构演进方向,提出"业务能力组件化、服务化,实现流程灵活编排;IT能力以服务的方式提供,服务的访问和交互通过接口方式实现"的具体原则,对IT产品提出通过服务化架构进行升级改造的要求。

图:从传统架构到服务化架构

1.什么是服务化

举个大家都熟悉的面馆的例子。顾客希望能够尽快吃上他想要的面条,正常的做法是面馆提前准备好各种类型的面条、配料、汤料,并且将这些面条(宽面、细面)、配料(牛肉、排骨、西红柿、鸡蛋等)、汤料标准化,当顾客来的时候只要按固有的程序煮面、加汤、加配料即可,不需要临时从和面、擀面、配料加工开始,大大节省了制作面条的时间,确保了顾客能尽快吃上面条,且保证了面条品质基本一致。

这个过程就是对预先定义好的标准化服务进行灵活编排,来快速构建出用户需要的产品。对这家面馆而言,牛肉面是产品,不同类型的面条、牛肉、西红柿是一个个预制好的组件,对企业IT而言,业务应用是产品,我们也可以通过预制好各种服务化的组件(见图5-7)来提升对业务的响应速度和灵活性。

服务化通过对一个复杂的业务流程进行解耦拆分,将流程中的一个个活动抽象出来,进行标准化定义和开发,成为一个个标准的、松耦合的应用服务,再由前端页面对这些服务进行组合、编排。这样构建出的应用可以适应业务的不同场景,灵活响应业务变化,如下图所示。

图:定义和标准化服务

2.评估 IT 产品的服务化水平

应用服务化对于大多数企业的IT部门来说,是个重要的转变。在这个过程中,我们需要一个可量化的目标来牵引IT产品团队建设好的服务并持续对应用服务进行运维和运营。为此,我们开发了服务化评估模型来度量IT产品的服务化成熟度水平,如下图所示。

图 服务化评估模型

我们从数据、服务、代码、收入与成本4个维度来度量服务化建设水平。

  • **数据维度。**重点考量数据模型设计质量、数据一致性和数据服务化情况。好的数据模型设计,是一个好的应用设计的基础,高内聚低耦合,很大程度上是体现在数据上的。

  • **服务维度。**重点考量服务共享、服务质量和服务响应的情况。服务间通过API进行集成与通信,API是消费方驱动的契约,服务化后,API的质量关系到应用的稳定性和性能。

  • **代码维度。**重点看代码规范、超大函数和冗余代码等。

  • **收入与成本维度。**主要看服务虚拟结算情况、服务成本和硬件成本等。

二、V模型:从业务到IT的服务化设计方法

在业务和IT一体化团队中,团队人员拥有业务、数据、应用、技术等不同的背景。同一背景的人员所掌握的技能也可能不同,比如IT开发人员,有传统企业IT背景,也有互联网企业IT背景,擅长的开发技术也存在区别。如何让这样的团队用相同的语言和方法来设计业务及IT产品,提升设计准确性、沟通效率、开发有效性,是个很大的挑战。为此我们开发了一套业务和IT一体化的设计方法,即服务化V模型,如下图所示。

V模型以服务化理念为核心,以数据为锚点,将自顶向下的业务设计方法和IT应用的规划及设计方法相结合。

  • V模型从左边的业务设计开始,到右边的IT系统实现,起点是价值流和业务能力。V模型向上对齐业务战略和价值,向下落地到业务设计和IT产品实现。

  • 业务和IT中间是数据,要拉齐业务和IT,关键是找到稳定的业务对象(概念实体),并围绕业务对象进行"业务/数据/应用"的一体化设计。应用服务作为三者的融合单元,实现业务、数据与系统功能的全拉通。

  • 沿着业务场景和业务流程,对业务活动、任务进行逐层分解,把能力转变为服务,使能力能被各种场景下的业务流所调用。服务化从业务设计开始,不仅是IT的服务化,也是业务的服务化。

  • 让不同专业背景的业务和IT专家,用同样的语言、方法规划和设计IT产品,提升沟通的效率和设计的有效性,是业务和IT一体化产品团队工作的有效武器。

1.服务化 V模型中的关键要素

(1)价值流

价值流是一组端到端的活动集合,能够为外部客户或内部用户创造一个有价值的结果。价值流描述企业为他的客户创造什么价值以及如何创造价值。有别于业务流程,价值流是对这个价值创造过程的高阶直观描述。

(2)业务能力

业务能力指为实现某一特定目标的一组人力、流程和技术的集合。业务能力是服务化变革的人手点。数字化转型面向愿景,推动和引导业务模式、组织架构和运营模式。这些变革点可以体现在业务能力的变化中,进而落实到人员、流程和技术工具变更中。

(3)业务场景与业务流程

业务流程是在特定企业环境及资源保障下,为了实现客户价值和企业商业目标而形成的一套规范业务运作规则和机制:通过一系列可重复、有逻辑顺序的活动,按照相关的政策和业务规则,将一个或多个输入转换成明确的、可度量的、有价值的输出。

由于公司业务复杂,同一业务可能存在不同的场景,比如同样是采购业务,有行政采购、生产采购、工程采购等不同的场景,所以为了保证IT产品的设计方案能具备普适性,我们需要识别出不同的业务场景,针对每一种业务场景匹配相应的业务流程。由于同属一类业务,这些业务流程中的活动有一部分可能是相同的,还有一部分可能是相似的,所以在应用服务化设计时,这些不同流程中相同或相似的活动可以由同一个应用服务来支撑。

(4)业务活动

业务活动是流程的基本单元,指某个角色(团队或个人)利用特定的工具和资源,按确定的要求和标准,将明确的输入转换为明确的输出的过程。活动有明确的业务目的以及特定的业务价值。一个活动可以有多个配合角色,但只能有一个主导的角色。活动需有稳定的输入和输出。这里的输人和输出即为BI(Business Item),就是通常意义上的"表、证、单、书"。

(5)业务对象

业务对象是业务领域重要的人、事、物,承载了业务运作和管理涉及的重要信息,是可以独立存在的数据实体。业务对象在业务领域范围要唯一、相对稳定,不应区分场景,不应区分状态。业务对象可以进一步分解为逻辑数据实体,进而再分解为属性字段。

(6)应用服务

应用服务是一个或一组软件功能,具有明确的业务目的,独立完整。应用服务既是业务要素,又是应用要素。它封装了对业务对象的操作,并支撑一个或多个相关联的业务活动。应用服务需明确服务接口和服务标准。应用服务是业务、信息和功能的聚合。

应用服务不应由业务人员或IT人员单独设计,而应由组织业务设计师、信息架构师和系统工程师等共同参与设计。应用服务是对外共享的独立、完整的功能,是服务化设计的核心。

(7)应用系统模块

应用系统模块是为支撑特定业务需求而提供的一组紧耦合的物理功能,可独立测试、发布和部署。模块内高内聚(相同或高度相似的功能应归于同一模块),模块间低耦合(模块间的依赖最小化并通过服务接口集成)。一个或几个关联紧密的应用服务组合为一个应用系统模块。模块的颗粒度不宜过小,否则可能出现服务间过于频繁的信息交互,导致服务运营困难。

(8)产品/子产品

作为产品运作管理单元,产品/子产品是强关联的一组模块的集合,也是产品团队进行建设、预算、核算、考核、合作分包等管理的基本单元。

2.V模型的具体设计过程示例

V模型的具体设计过程如下图 所示。

(1)确定业务能力

价值流和业务能力是起点,所有的业务领域都是为提供某一组特定的业务能力而存在的。开始时需要先识别所处的业务范围,以及业务的外部客户或内部用户是谁,并从如何为客户或用户创造价值的视角,一步步描绘这个价值创造过程;继而识别为了实现业务的价值创造,需要具备什么样的业务能力。

(2)分析业务场景,定义并收敛业务活动

接下来需要基于对价值流的细化,以及对业务能力的描述,识别具体的业务场景和业务流程,并沿着场景和流程,对活动进行逐层分解定义。另外,不同场景可能存在相同或相似的活动,需要将这些活动一一识别出来。

(3)识别BI,定义业务对象

识别每一个业务活动输入和输出的"表、证、单、书",定义业务对象。如果一个活动的输入和输出符合业务对象的特征,则可以是一个业务对象。反之此 BI不能独立存在,需要继续确定所归属的业务对象。

(4)识别应用系统模块,以及应用服务/特性

基于业务对象初步识别出应用系统模块,保持两者有相同的颗粒度。然后,基于逻辑实体和活动,识别出一系列应用服务清单,再将应用服务归类于某一应用系统模块。通常来说,同一业务子领域下的应用系统模块组合成一个产品,同一业务领域下的产品组合成一个产品族,使IT建设对准业务。

3.设计的核心:围绕相对稳定的数据来设计业务和IT

V模型的核心是找到数据业务对象,不管业务组织、流程和场景如何变化,其所操作的业务对象相对稳定。可以围绕业务对象来设计作业活动和规则,并识别功能特性。

以供应链仓储的入库业务为例,该业务包含了原材料仓人库、成品仓人库、分销中心人库、国家中心仓人库、站点人库等诸多场景,但所有场景都是围绕"入库单"这个业务对象的"增、删、改、查",所以要围绕业务对象进行业务和IT 设计,包括业务活动、活动的输人和输出、作业步骤、作业规则和算法等(见下图),形成可被各种场景调用的服务。

图: 围绕数据进行入库业务设计

2016年华为IT 部门开始实行IT产品化运作的模式,组建业务和IT一体化产品团队,用商业视角来定义产品的价值主张,快速迭代,持续交付,实现业务价值。回顾前期走过的历程,从探索、成型到成熟,IT产品化运作是一个艰难的破茧而出的过程,目前还在持续不断演进发展中。在数字化转型环境下,IT部门不再是支撑组织,IT人员和业务人员都是主战部队,应实现业务和技术双轮驱动,让业务和技术都成为核心创新力量。

往期回顾>>

相关推荐
Bob99987 小时前
电脑浏览器访问华为路由器报错,无法访问路由器web界面:ERR_SSL_VERSION_OR_CIPHER_MISMATCH 最简单的解决办法!
开发语言·javascript·网络·python·网络协议·华为·ssl
让开,我要吃人了11 小时前
OpenHarmony鸿蒙( Beta5.0)摄像头实践开发详解
驱动开发·华为·移动开发·harmonyos·鸿蒙·鸿蒙系统·openharmony
SUGERBOOM15 小时前
华为eNSP使用详解
网络·华为
像风一样自由20201 天前
深入了解HarmonyOS(鸿蒙操作系统)
华为·harmonyos
青瓷看世界1 天前
华为HarmonyOS地图服务 -- 如何实现地图呈现?-- HarmonyOS自学8
华为·harmonyos
看山还是山,看水还是。1 天前
鸿蒙OS 线程间通信
android·java·开发语言·笔记·华为·c#·harmonyos
codes234577891 天前
鸿蒙开发之ArkTS 基础四 函数
华为·移动开发·harmonyos·arkts·deveco-studio·arkts常见数据类型
青瓷看世界1 天前
华为地图服务 - 如何开启和展示“我的位置”? -- HarmonyOS自学10
华为·harmonyos
PlumCarefree1 天前
基于鸿蒙API10的RTSP播放器(五:拖动底部视频滑轨实现跳转)
华为·ffmpeg·音视频
繁依Fanyi1 天前
828 华为云征文|华为 Flexus 云服务器搭建 PicGo 图床
服务器·华为·华为云