***本文源自一篇读者来信,是关于业务架构实施的问题,而且问题很有共性,所以我征得了读者的同意,保留原文并将我的答复以写在方括号中进行分享,以方便大家结合问题和问题的语境来阅读。有些圆括号中没有涂红的是读者来信内容,别读混了***
付老师,您好:
我目前是从事银行贷款业务相关的项目,主要是负责个人和普惠业务的贷款产品,因此我对于银行竖井式开发的现状深有体会,也深深感受到如再不进行企业架构转型,银行业务的发展将很难满足日益变化的市场环境要求。我们银行今年开始实施企业架构转型项目,但企业架构项目和以往的普通项目的架构设计有较大差异,能参考的仅有建行在2019年编写的企业架构《金融行业标准》,且无其他相关资料和书籍用于进一步的参考,有时总感觉到寸步难行。直到拜读了您的《企业级业务架构设计》和《聚合架构》,受益匪浅,有种豁然开朗的感觉,感激您的教授!!!
我们在项目组里也经过了多轮的会议沟通和头脑风暴,但对于其中一些问题和观点实在无法达成共识。我想谈谈自己的几点理解以及问题,不知付老师能否在百忙之中给予一点点的解答以指明我们实施企业架构的明路?十分感谢!
我理解企业业务架构主要是针对组织架构、产品模式和业务流程三方面的重塑:
1、组织架构重塑代表了一个企业为满足实施企业架构过程中的组织层级调整,区别与原有的业务是业务、技术是技术的简单接触方式,取而代之的是业务和技术的高度融合,因为企业架构中业务架构是需要双方来深度参与的,尤其是业务人员;【是的】
2、产品建模可能需要梳理全行的产品要素、规则并定义一个企业级别的产品结构规范,我理解这里面最主要的可能是头脑中关于产品思维的改变,即产品的推出应该是通过对组件的拼装来完成的,而不再是传统的从上到下的烟囱式的重复开发;【目标是这样的】
3、流程建模则是需要对业务流程进行再造,梳理L1-L5层级的业务流程要素,并提炼公共的流程组件;【是的】
下面是我们在实施过程中碰到的几个问题:
1、基础产品和可售产品。
按照产品模型的四层关系(产品线、产品组、基础产品、可售产品),经过我们内部的梳理后形成如下的产品模型:
在基础产品这一层次中我们按照消费贷、经营贷来进行区分,但是我们在梳理更细节的问题时发现当时梳理的这个产品模型存在一些问题,如可售产品中“烟X贷”下面还会区分出“烟XX贷”、“烟XXX贷”、“烟XXXX贷”等,它们同属于烟户贷范畴,大体的业务流程模式类似,但部分页面字段、风险控制有所不同,因此我们在想,这些“烟XX贷”、“烟XXX贷”、“烟XXXX贷”是否应该才是最终的对客可售产品?【应该是的】那如果这样,“烟X贷”是否应该是基础产品才对?【可以是的】假如这样层层往上推的话,是否导致产品组乃至产品线都会发生变化?【很有可能,因为我们当时梳理产品模型时实际上是自下而上的方向偏多,也就是基础产品一开始只是笼统分,之后根据可售产品聚类再精确化】
因此带来的几个问题:
(1)基础产品的划分原则。我感觉产品层次是否应该是从下往上去推演,先考虑可售产品,再慢慢汇总相同功能到基础产品?【是的】而且这个划分到基础产品的原则到底是什么?【没有十分精确原则,总体来讲还是公用的模块数量和产品的管理习惯,毕竟产品模型也很难一步到位将产品和部门之间分开】从上面的例子来看,我认为他们同属于烟X类贷款,所以才会按照“烟X”这一个维度去把它们汇总为一个基础产品“烟X贷”,但是为什么要按照这个维度去汇总,总感觉有点说不清楚,有点只可意会不可言传的那种感觉,我甚至还可以按照“烟X贷类贷款且需要担保”和“烟X贷类贷款但不需要担保”两个维度为标准再去划分为“担保类烟X贷”和“信用类烟X贷”两个基础产品【这个可以通过产品组件或者产品条件区分,可以不到基础产品这一级】,所以觉得划分的原则有点模糊且没法去定义一个标准;
(2)产品线和产品组是否是比较虚的概念?【可以这样认为,毕竟业务领域也是有些虚虚实实】目前我们的感觉是,重点聚焦在可售产品和基础产品上面【非常正确】,根据这两层再来往上继续抽象为产品线和产品组,但是产品线和产品组是否应该有具体的控制逻辑和要求在【没必要,通常只是做视图、统计分析才会用到,我们当时产品目录分了四级,我们研究过同时期X行分了五到六级,他们的上三级归当时的产X部统一管理,下三级开放给部门自己定义,我当时也提出过类似的建议,所以,产品线、产品组主要是为了统一视图用,并不做逻辑控制】?
(3)基础产品上的产品条件会带到可售产品上,我认为可售产品必须要实例化这些条件参数吧?【是的,可售产品配置就是实例化过程】如果不需要实例化的话,那是不是基础产品甚至可以定义一个大而全的,然后可售产品就根据需要去实例化的话(比如有些产品条件不需要的我就不去实例化)【原本就是这样的,但是不建议搞得太“大而全”,那样模板维护虽然简单了,但是跟业务组件或者后边的功能设计可能关系越来越远,不利于指导设计】,那就失去基础产品这一层的概念了,不知道我的理解是否正确【逻辑上是这样,但是这样就跟微服务搞多了会导致复用设计瘫痪一样】。
2、产品组件与业务组件。
这是我们讨论得最多,也是困扰我们最多的一个问题【想想我为什么提出产品模型和流程模型其实留一个就行】。
产品组件是由多个产品条件组成的,感觉应该是组成这个产品最重要的、关键的、起控制的条件,比如贷款产品中的利率组件(包括基准利率、利率上浮、下浮、罚息计算方式等产品条件)、放款组件(提款方式、提款期限等产品条件),因为贷款产品缺少利率和提款方式是不完整的;而针对业务组件,就感觉概念比较模糊,是否应该理解为除了产品组件以外的可以进行复用的组件?比如额外的配置换能力。比如以下几种业务组件类型:客户认证组件(人脸认证、身份认证等)、产品渠道配置组件(可以针对某个产品配置拓展渠道,说白了就是定制产品在不同第三方平台的二维码,比如挂在京东金融上就是一个二维码,挂在天猫商城上就是一个二维码,该步骤不是必须的,也可以不配置),这些是否应该叫做业务组件?【把它们当业务组件本身没有问题,主要是业务组件是根据任务和数据聚类的,产品组件是针对功能和条件的,但是两者其实针对的是同一个事物,产品组件最终实现其功能要求又是落在业务组件里边的,不然产品组价只是个结构化的参数表,并非真正的产品组件,比如业务组件里边针对产品组件的功能不是很好地解耦的,那么,你通过产品模板无论如何表达,都没法真正组合出一个新产品,因为这些功能本身无法组合。所以,我在两本书里都实际上主张只使用一种模型,并且在聚合架构里跟这个叫构件,这是根据我自己做了两年的对产品模型的反思,我在两本书里写的其实都是我的反思】再比如流程中每个岗位需要操作的一些任务,比如维护合同信息、维护客户信息等,是否应该作为一个业务组件?【换到聚合架构的语境里,这里你需要再思考下你问的到底是业务组件还是业务构件,业务构件是没问题的,业务组件相当于子系统级别了,那你列的功能就有些太小了】
3、业务构件、业务组件与微服务。
在您的《聚合架构》中业务组件包括多个业务构件,那到底是业务构件可以变成微服务,还是业务组件聚合多个业务构件之后,将这个业务组件升级为微服务?【我是更建议根据业务构件设计微服务,这样才有对产品级的组合】这就带来几个问题:
(1)业务组件中的业务构件可以变成微服务,那么为何还需要业务组件,这种情况下业务组件是不是一个逻辑层面的划分?【是的,这个跟第一本书一样,是子系统级别的聚类,这个我在书里有解释其保留的原因】而不是一个对应到技术架构的微服务?如果是业务组件可以变成微服务,那么我理解业务构件就是这个服务中的一个功能了,那么在这种情况下,如何实现针对业务构件的编排?【业务组件不建议做成微服务,这个粒度太粗了】
(2)当组件足够“大”的时候,是否应该升级为微服务?这个可能是微服务拆分的范围了。【参考上边的回答,组件本来就是足够大的,大到不应该成为微服务】
(3)我们说的服务编排,我理解应该是针对业务构件的编排,而不是业务组件,而业务构件对应的就是流程建模中的L4级(业务任务),比如一个业务组件叫做“风险信号组件”,它下面包括查询风险信息、执行风险信号判断、发送风险通知等功能,而且每个产品都会使用“执行风险信号判断”这个功能,是不是应该把“执行风险信号判断”作为一个业务构件用于编排?不知道这个理解是否正确?【可以这样的,所以这部分设计还是要业务和技术一起商量,首先从业务上判断其独立的价值,业务上到处都会用,就有独立的价值,就可以做成构件,拆分成服务,这样的东西不怕小,也不怕看起来有些大,因为实际就是如此,服务颗粒度的一致不意味着服务都要大小差不多,颗粒度的一致主要应该看“独立性”的一致】
4、产品模型如何与流程模型对接。
我理解业务架构中的业务构件对应流程模型中的业务任务(L4),编排应该是针对产品模型中的业务构件进行而不是应该针对业务组件来进行的,流程模型中的业务活动应该包括多个业务构件,不知道我的理解是否正确?【是的】
目前我们行的贷款产品包括客户线上自助申请流程、线下人工审核流程,那业务活动是把这两个流程的线上线下合在一起当作一个业务活动呢还是分别作为线上业务活动和线下业务活动?【可以合起来设计,毕竟业务模型设计本身不区分线上线下,线上线下也不是绝对的,毕竟随着时间的推移也会变】
5、关于企业架构与中台的关系。
我的理解是经过企业架构思想方法的指导,在形成业务组件之后,本身就是一个形成业务中台的过程,也就是说企业架构建设最终也会形成中台能力的,这是必然的结果【是的,我一直也在这么讲】,而如果不经过企业架构建设,按照专家经验或者是一些可预见的独立、可复用的模块的抽取,也能形成一些中台,只不过这样形成的中台可能在架构能力上会比企业架构弱一些,不知道我的理解是否正确?【是的,毕竟缺少全局视角,只是经验的推导】
以上是我们在企业架构转型项目实施过程中的疑惑点,不知道付老师能否在百忙之中给予一点点的指引?谢谢老师!!!