程序员必读 | 《业务架构解构与实践》

简介: 程序员必读 | 《业务架构解构与实践》



之前看书大多"不求甚解", 意会即可,但是找一本新书看是可遇而不可求的。回过头来,摘抄研究一下已经看过的,也是别有一番风味的。本文就是对之前一本书的摘录。

文章中各种暗淡不一的图片,其实是在各种环境下,断断续续的摘抄,之所以那么“坚持摘抄“,是我觉得这本书所引出的概念,对业务开发的同事、读者是非常重要的,值得一看,也值得揣摩。



企业架构概念

 企业架构的定义


企业的定义:是指具有一系列【共同目标】的任何组织的集合


架构的定义:一个系统在其环境中的基本概念或属性,体现在【要素】,【关系】及其【设计和演化的原则】中。



 企业架构的位置


企业架构的位置:


注:

  1. “业务架构”是“企业架构”的一部分;
  2. BPR的全称是Business Process Reengineering,意思是业务流程重组。


 4大主流架构


  1. Zachman 框架(企业领域)
  2. TOGAF 框架(企业领域)
  3. DoDAF (军事领域)
  4. FEA(政府领域)


业务架构概念


 业务架构的定义


业务的定义:在企业运行过程中,为了【实现企业目标】所涉及的一系列【生产经营活动】

架构的定义:一个系统在其环境中的基本概念或属性,体现在【要素】,【关系】及其【设计和演化的原则】中。



业务架构的定义:业务架构代表整体的、多维的业务视图,包括【能力】、【端到端价值交付】、【信息】、【组织】,以及这些业务视图和【战略】、【产品】、【政策】、【计划】和【利益相关者】之间的关系。



业务架构简单理解为“围绕业务的架构”,涉及:“业务要素”、“业务要素间关系”、“架构设计及演进的原则和指南”。



业务架构要素:


企业架构简单分为2类:

  1. 一类是:业务架构(BA)
  2. 另一类是:IT 架构:数据架构(DA)、应用架构(AA)、技术架构(TA)



业务架构在企业架构体系中的位置:


 两大主流业务架构体系


架构一:波特价值链 + 流程架构二:价值流 + 能力

  • 架构一:波特价值链 + 流程


价值链:是企业在一个特定产业内【各种业务活动的组合】。



波特价值链(基本活动 + 支持性活动):

流程分类框架(Process Classification Framework,PCF)的层次为:

PCF L1 ~ L5 层级的中英文描述:


对于业务关系和业务流程也需要进行建模,这一个过程被称为业务流程建模(Business Process Modeling,BPM)。


 架构二:价值流 + 能力


价值流的定义是:为客户创建结果的【端到端活动集合】,客户可能是价值流的最终客户或内部使用用户。“酒店住宿价值流”示意图:


业务能力定义是:一项业务为达成特定目的或结果所拥有或交换的【特定能力和产品】。


业务架构的组成要素



 核心要素



  • 价值流


价值主张:是指某种产品、服务或组合,能帮助客户解决问题或给客户带来体验或收益,客户因而愿意为所获取的价值支付一定的费用。价值流定义是:为客户【创造结果】的【端到端活动的集合】,客户可能是价值流的最终客户或内部使用用户。价值流应用过程中两类典型的问题:

  1. 价值创造重复的问题,作者建议:回归初心,以客户为中心。
  2. 价值流数量控制的问题,作者建议:对目标客户适当归类。


  • 业务能力


业务能力的定义:一项业务为达成特定目的或结果所拥有或交换的【特定能力和产品】。(“做某事的能力”)识别能力的常见方法:

  1. 基于企业运行所涉及的【业务对象】来识别。(最为基本)
  2. 利用企业【已有流程】来识别。
  3. 【参考业界】最佳实践或成熟模型。
  4. 利用【成熟软件包】中【相关分类】进行识别。

TOGAF 中提到,业务能力由4部分构成:

  1. 角色(Roles);
  2. 流程(Processes);
  3. 信息(Infomation);
  4. 资源(Resources)。

作者参考生产力相关的要素来进行业务能力解构,认为业务能力涉及以下要素:

  1. 劳动者(相关组织/人员);
  2. 劳动对象(各种原材料);
  3. 劳动资料(各种技术、工具、设备);
  4. 劳动过程(各种流程);
  5. 劳动产品(生成出来的产品或服务)。



波特价值链理论里面,首次提出了“纵横叠加”的两大活动分类;纵向列出的是“Primary Activity”,是核心业务活动,横向列出的是“Support Activity”,被称为“支持性活动”,辅助基本活动的顺利开展。



制造行业企业L1层级业务能力例子(业务能力热力图):


  • 信息


信息:是经验证为【准确及时的数据】,它针对特定目的而组织、在赋予它含义和相关性的上下文中呈现,用以【增加理解】和【减少不确定性】。业务能力与信息的关系(业务对象为媒介):

  1. 针对某个特定业务对象及相关业务活动的管理,称之为“业务能力”;
  2. 该业务对象需要通过一定方式来描述或表示,称之为“信息”。


客户相关的业务能力及信息(示例):

分层示意:

  • 组织


组织:是【由人组成的一种社会单位】,进行系统地【组织】和【管理】以持续满足特定需求或达成集体目标。组织与能力映射图(示例):

 扩展要素


  • 战略


战略:是一种【模式或规划】,它将组织的【主要目标】、【政策】和【行动举措】整合成一个有凝聚力的整体。



战略需要澄清和解决3个问题:

  1. 将来要去哪里
  2. 目前在哪
  3. 怎么去



BLM 指的是业务领导力模型(Business Leadership Model)

战略地图:


  • 利益相关者


利益相关者的定义:一个内部或外部的【个人或组织】,通过特定的产出/成果来获取自己【感兴趣的价值】。

  1. 触发型利益相关者:“目标客户”
  2. 参与型利益相关者:满足“目标客户”价值述求的内部、外部人员或组织。


触发型利益相关者与参与型利益相关者的关系图:


  • 产品


产品是指:某种【商品】、【服务】或者【两者的组合】,它所提供的整体体验可以满足客户的需要。



产品生命周期:

产品与战略、利益相关者、价值流的关系:


  • 举措


举措的定义是:正在执行或已选定要执行的一套【行动方案】。举措真正在执行的时候,往往是借助“项目”的形式进行落地的。举措/项目与战略、目标及业务能力的基本关系。

  • 政策


政策:是用来在组织中确定方向的一些【指导原则】,是结合特定场景、特定目标框架及管理理念,由高级管理人员设定的指导方针。政策与业务能力、业务组织的关系:


  • 指标


指标:是一种【度量标准】,通过它可以评估计划、过程或产品的效率、性能、进展或质量。

业务架构要素间的协同

 核心要素间协同


价值流阶段与流程、能力、信息及业务对象之间的对应关系:

 整体协同


业务架构主要元素的整体关系:

在具体实施项目过程中,除了考虑业务架构,同时需要考虑数据架构、应用架构及技术架构等相关内容,确保各个架构之间能够有效协同并指导项目落地。

业务架构与其他架构的关系

企业架构主要是4A,分别是:

  1. 业务架构: BA
  2. 数据架构:DA
  3. 应用架构:AA
  4. 技术架构:TA

还可以加上解决方案架构、安全架构,形成6A。企业架构的位置:企业架构是贯通【企业战略】和具体【落地项目】的桥梁。

BA与DA、AA、TA 的基本协作关系:

  1. 围绕业务对象(Business Object);
  2. 业务架构(BA)整体牵头;
  3. 数据架构(DA)全局拉通;
  4. 应用架构(AA)合理呈现;
  5. 技术架构(TA)有效支撑。


国内常见的【6层流程技术体系】与【弹性分层体系】的对应关系:


业务架构的关键交付物


在业务架构的众多要素中,【业务能力】或【业务流程】是最主要,最核心要素。



业务架构最关键的交付物:

  1. 可以是一套企业级【业务流程框架体系】;
  2. 也可以是一套企业级【业务能力框架体系】;
  3. 或者是【业务能力与流程融合】而成的一套框架体系。



多事业部【业务能力整合】分析示意图:


业务架构与DDD协同落地


Q:业务或者微服务的边界到底在什么地方?如何确定边界?

A:DDD做设计思想,设计输出物【“领域模型机划分的限界上下文”】,是微服务等实现技术的输入。



BA、DA、AA与DDD协同落地:


总结


这些内容可能看上去比较“虚”,但是和工作中的问题链接之后,可能就可以变得比较“实”。


作者对“业务架构”这样比较虚的阐述,给我们更多的启示是,我们可以依葫芦画瓢,通过“定义”、“组成要素”、“组成要素的关系”、“实践”等角度去介绍我们需要探讨的内容。


“问渠那得清如许,为有源头活水来”,这个源头,不一定是来自后面走的路,也可能也来自以前走过路中没有研究的部分~


团队介绍


我们是大淘宝技术-交易平台团队。团队主要从事交易链路交付工作,在交付工作中,抽象和建设横向产品能力(如:预售、电子凭证等),团队关注业务架构、DDD等理论与实践,致力于高效、稳定地实现业务接入,并抽象赋能。


相关文章
|
3月前
|
程序员 数据安全/隐私保护
架构人生,体魄同行:程序员的健康密码解析
架构人生,体魄同行:程序员的健康密码解析
67 0
|
8月前
|
架构师 安全 Java
年薪120W的架构师简历你见过吗?java程序员该如何达到?
第一个问题是,“大多数Java开发人员都在哪里,我们中有多少人?”我们回答了这个问题,把我们能得到的最准确的信息结合起来,然后推断出我们认为是一个受过良好教育的猜测。
|
8月前
|
开发框架 架构师 Java
Java程序员不掌握SpringBoot怎么进大厂,阿里架构师推荐实战文档
Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起时,还未得到普及使用。相比于以往的一些开发框架,Spring Boot不但使用更加简单,而且功能更加丰富,性能更加稳定而健壮。使用Spring Boot开发框架,不仅能提高开发速度,增强生产效率,从某种意义上,可以说是解放了程序员的劳动,而且一种新技术的使用,更能增强系统的稳定性和扩展系统的性能指标。本书就是本着提高开发效率,增强.系统性能,促进新技术的普及使用这一目的而写的。
|
9月前
|
架构师 程序员
硅谷技术总监用300小时带你从程序员直接成为架构师,真不是盖的
前言 相信,有许多小伙伴已经做了程序员一两年或者三年了,甚至有些已经快五年了,但是还没有迈进架构师这个门,不知道如何成为架构师。 程序员之间的能力差异在哪里?如果是学技术,大家可以阅读同样的书籍和网络文章,为什么还会造成最终专业能力的差异?我认为有三点。
|
4月前
|
数据管理 程序员 人工智能
后台数据管理系统 - 项目架构设计【黑马程序员】
后台数据管理系统 - 项目架构设计【黑马程序员】
142 0
后台数据管理系统 - 项目架构设计【黑马程序员】
|
5月前
|
开发框架 架构师 Java
Java程序员不掌握SpringBoot怎么进大厂,阿里架构师推荐实战文档
Spring Boot作为Java编程语言的一个全新开发框架,在国内外才刚刚兴起时,还未得到普及使用。
|
6月前
|
架构师 Java 程序员
GitHub标星百万的程序员转架构之路,竟被阿里用作内部晋升参考
架构师是很多程序员的奋斗目标,也可以说是职场生涯的一个重要选择方向,今天我就跟大家聊一聊如何从一个程序员成长为一个架构师。
|
8月前
|
存储 缓存 架构师
程序员架构修炼:架构设计概要,业务、应用、技术、数据架构
架构设计 在架构设计过程中,我们会根据需要做出不同的架构设计,而在设计时需要涉及一定的架构设计核心要素。
|
8月前
|
NoSQL 测试技术 API
从程序员到架构师开发运维场景实战篇:一人一套测试环境
一人一套测试环境 本篇开始讲第16次架构经历:一人一套测试环境。同样,先介绍业务场景。 业务场景:测试环境何时能释放出来使用 当时,公司的基础设施使用的是虚拟机,而且还未迁移到容器。
|
9月前
|
架构师 Devops 程序员
程序员晋升指南!13年顶级架构设计经验的锦囊妙计与实践分享
如今分布式、高并发、高可用、DevOps等技术和理念已深入人心并得到广泛应用。能够深入理解和驾驭这些技术、架构和方法论,在中大型平台建设中担负起至关重要的决策和管理责任,使平台建设取得成功并可持续发展,不断满足新的业务需求和变化,是很多IT从业人员心向往之的职业发展方向。 企业IT架构是一个随着业务的变化不断发展进化的过程,每种架构在当时的阶段都非常好地支撑了当时的业务模式。信息化技术刚开始应用到业务,可能使用一个单机软件就可以搞定一个信息系统。随着技术的发展和越来越复杂的业务需求,软件架构变得越来越复杂,系统越来越庞大,设计并驾驭如此复杂的软件系统,考验着每位软件架构师的综合能力。
78 0