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

news/2024/9/18 16:51:30/ 标签: 华为

今天笔者带来华为的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人员和业务人员都是主战部队,应实现业务和技术双轮驱动,让业务和技术都成为核心创新力量。

往期回顾>>

  • 企业4A架构:数字化转型的底层方法论(附TOGAF资料下载)

  • PPT分享:数据治理的方法论、设计思路与方案(干货)

  • 浅谈数字化转型方法论

  • 110页PPT:xx业务流程优化(BPR)方法论

  • PPT分享:某集团主数据治理项目方案与主数据治理方法论

  • 华为数字化转型方法论:六步法,附华为数字化转型案例合集PPT下载:

  • 麦肯锡结构化战略思维方法论,助力需求管理

  • PPT分享:埃森哲的IT与战略规划方法论

  • 100页PPT:工业互联网平台赋能制造业数字化转型方法论

  • 华为数字化转型方法论:六步法

  • 48页PPT:华为流程管理和持续优化方法论

  • IBM企业流程框架方法论-附PPT下载

  • 德勤卓越业务流程管理方法论及案例

  • 52页PPT数据架构-数字化转型数据架构规划设计(方法论与案例)

  • 从Gartner冰山模型解读数字化转型的背后逻辑

  • 数字化转型解决时代难题:鲍莫尔成本病(106页PPT:华为数字化转型案例合集)

 


http://www.ppmy.cn/news/1519215.html

相关文章

小程序自定义目录结构

精简目录 /my-miniprogram ├── /miniprogram │ ├── /pages │ │ └── /index │ │ ├── index.js │ │ ├── index.json │ │ ├── index.wxml │ │ └── index.wxss │ ├── app.js │ ├── app.json │…

培训第三十六天(docker应用,mysql容器应用,容器核对时间,容器之间的依赖 域名,文件联合系统,制作基础镜像,commit制作镜像)

上午 容器就是在镜像上添加了一个可写层 # 从镜像库中下载mysql镜像,mysql镜像是在基础镜像上加很多层制成的[rootdocker ~]# docker pull mysqlUsing default tag: latestlatest: Pulling from library/mysql6e839ac3722d: Pull complete ad912193ad5f: Pull comp…

网工面试题(安全)

上一篇:网工面试题(数通) 防火墙 防火墙的应用场景 防火墙:部署在网络出口处/服务器区(数据中心)/广域网接入,用于防止外界黑客攻击、保护内网安全硬件。 传统防火墙和下一代防火墙的区别 传统防火墙的功能…

关于vue3.x中最长递增子序列(LIS)

什么是最长递增子序列? 简单来说最长递增子序列就是在一个数组中呈现递增的数据的长度 lettcode原题 示例:我们有一个数组 arr const arr [10, 9, 2, 5, 3, 7, 101, 18]那么他的序列有那些呢? [2][2, 3][2, 5][2, 3, 7][2, 5, 7][2, 3, 1…

常用的加密算法分析

常用的加密算法主要分为对称加密算法(DES、3DES、AES)、非对称加密算法(RSA、DSA、ECC)以及散列算法(MD5、SHA)三大类。 一、对称加密算法 对称加密算法,又称为单密钥加密或共享密钥加密&…

Expected expression after operator

这个错误直译过来就是:运算符号后没有预期的表达式 这个错误通常出现在编程语言中,尤其是在编写C或C等类型语言的时候,它意味着在源代码中遇到了一个操作符(比如 , -, *, /, , 等等),但在该操作符后面没有紧跟相应的表…

Spring MVC RESTful API - 修改状态接口示例

前言 在许多应用程序中,更新资源的状态是一项常见的需求。例如,在任务管理系统中,用户可能需要更新任务的状态,如从“待办”变为“完成”。为了实现这一功能,我们可以使用Spring MVC框架结合MyBatis Plus来创建一个简…

《第三十章 性能优化 - 存储优化》

一、引言 在 Android 应用开发中,性能优化是一个持续且重要的工作。存储优化作为性能优化的关键环节之一,对于提高应用的响应速度、节省资源以及提升用户体验具有重要意义。在本章中,我们将重点探讨数据库优化和缓存策略这两个主要知识点。 二…

go+gin+vue入门

后端框架 1、安装go、goland 2、创建空项目 3、下载要用的包:命令行输入go get -u github.com/xxxx 4、安装mysql数据库,使用navicat创建数据库。 5、按照项目框架搭建目录、文件、代码:如router、model… 6、运行测试,go run ma…

JVM面试(一)什么是虚拟机?什么是class文件?

什么是java虚拟机? 如果通俗点来讲,我们在电脑上一行行敲出来的代码,电脑本身是不认识的,最终是要转成电脑可以运行的101001这种字节。 但是这些我们又不可能手动来转换,所以呢,就需要一个工具&#xff0…

学习笔记——后端项目中的相关技术 【随时更新】

文章目录 1. Session 共享1.0 cookie和session的工作流1.1 Cookie范围1.2 为什么要共享?1.3 如何共享存储1.4 session共享实现 2. 缓存的实现2.1 缓存分类2. 2 Redis 缓存实现2.1.1 Redis 的数据结构(高频考点)2.1.2 redisTemplate 自定义序列…

【Linux】CodeServer:离线插件配置

下载 VS Code 插件 要为 code-server 添加离线插件,首先需要从 Visual Studio Code 插件市场下载所需的插件: 打开浏览器,访问 Visual Studio Code 插件市场。 在搜索栏中输入您需要的插件名称,找到插件后,点击插件页…

“线程池中线程异常后:销毁还是复用?”

目录 一、验证execute提交线程池中 测试 结论 二、验证submit提交线程池中 测试 结论 三、源码解析 查看submit方法的执行逻辑 查看execute方法的执行逻辑 为什么submit方法,没有创建新的线程,而是继续复用原线程? 四、总结 需要说…

经典大语言模型解读(2):生成式预训练的先锋GPT-1

论文地址:Improving Language Understanding by Generative Pre-Training 概述 现实世界中包含了大量的文本语料数据,然而,绝大多数语料都是无标签的。 为了充分利用这些无标签语料库,GPT1.0提出直接利用这些未标记的语料来进行…

VMware Workstation安装及配置CentOS7 Linux操作系统

VMware workstation安装 百度网盘,VMware-workstation-full-17.5.2.exe 安装包: 链接:https://pan.baidu.com/s/1xgbWUlo-hFUbb11MRxIVsw?pwd87bq 提取码: 87bq 检查网络适配器是否正常配置 在VMware Workstation中安装CentOS7 Linux操作系统 下载…

探秘Python字典:解锁数据管理的艺术

引言 字典(Dictionary)是一种可变容器模型,它可以存储任意类型对象。Python字典使用键-值对(key-value pair)存储数据,其中键必须是不可变的数据类型如数字、字符串等,而值可以是任何数据类型。…

花店鲜花管理与推荐系统+Python+Django网页界面+管理系统+计算机课设

一、介绍 花店鲜花管理与推荐系统。本系统使用Python作为主要开发语言开发的一个花店鲜花管理与推荐的网站平台。 网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求,并将用户的相关行为数据保存在数据库中。通过Ajax技…

泰山派的小手机后续(2)

之前 触摸板一直报错的解决: 1 我的触摸板 画错了。 从新画了一个 触摸的转接板,调整过来了。 关于触摸的 线序。 这块屏幕正常 就是横着放的。 关于泰山派接口的线序: 所以我的转接板的画法 是: 开发板与转接板 使用的是 反排线…

AWS 无服务计算服务 Lambda

无服务计算服务 Lambda 引言什么是 AWS Lambda关键特点使用场景 SQS 驱动 Lambda示例场景描述:订单处理系统解决方案:使用 SQS 和 Lambda示例代码:Python Lambda 处理 SQS 消息总结 Lambda ApplicationLambda Application 的主要组成部分创建…

“北京地铁系统中人脸识别技术的安全与效率问题研究”

关于“北京地铁系统中人脸识别技术的安全与效率问题研究”,可以从以下几个方面进行详细分析: 一、人脸识别技术在北京地铁系统中的应用 1. 安检系统 应用背景:为了提升地铁进站安检速度,减少乘客等候时间,北京地铁系…