企业架构这件事,我在不同规模的组织里都干过,从十几人的小团队到上万人的集团都趟过一遍。4A 架构(业务架构 Business、应用架构 Application、数据架构 Data、技术架构 Technology)这套方法论,几乎是所有想从“系统堆叠”走向“体系化演进”的组织绕不开的一课。国内不少大型集团,尤其是 ICT 制造、金融、能源这些信息化起步早、系统包袱重的行业,都在内部推行过完整的 4A 蓝图,很多从业者的第一份企业架构文档,就是从这四张图开始的。这篇文章想解决的问题很直接:4A 到底画的是什么、每一层要交付什么、四层之间靠什么咬合、落地的时候会在哪些地方翻车。适合刚转架构岗的研发、被拉去画蓝图的业务分析师、以及正在推架构治理的技术管理者——不管你手上是一个几十套系统的中型集团,还是刚起步做统一规划的小团队,都能从这里找到能直接抄的部分。
1. 4A 架构到底在解决什么问题
1.1 单点系统的成功,救不了整体的失控
大多数组织的架构问题不是某一个系统做得烂,恰恰相反,是每个系统单看都还算能用,凑在一起就成了一团乱麻。业务部门要一份跨渠道的客户视图,数据在四个系统里各有一份,字段定义还不一样;一个新业务上线,要改动七个存量系统的接口,排期排了三个月;同一年里三个部门分别采购了三套功能重叠的报表工具,钱花了三遍,用户还得学三套界面。这些问题不会在某一次项目复盘中暴露,只会在每年的 IT 预算会上集中爆发——预算涨了,业务满意度却没涨。
4A 架构的价值就在这儿,它不承诺帮你把某个系统做得更好,它承诺的是让所有系统的规划放进同一个坐标里。业务架构负责说清楚“组织到底要做哪些事”,应用架构负责说清楚“这些事由哪些系统承担、边界在哪”,数据架构负责说清楚“这些系统之间交换的东西长什么样、谁是源头”,技术架构负责说清楚“底下托着它们的那层技术底座收敛到什么程度”。四层一叠,任何一笔新增投入都能被回答三个问题:它对应哪条业务能力、它落在哪个应用边界内、它复用的是哪套数据和技术资产。
我在一个制造类集团见过反面对照。他们上马一个供应商协同平台之前没做架构评审,直接按业务部门的需求清单开发。上线半年后发现,平台里自己做了一套供应商主数据和物料编码,跟集团既有主数据系统完全平行。后面合并的时候,光数据清洗就花了四个月,业务口径对不上的争议拖了更久。如果在立项阶段有一张数据架构图,问一句“供应商主数据的权威源是谁”,这四个月本可以省掉。
1.2 四个视角之间的因果链,才是 4A 的骨架
很多人把 4A 理解成四份独立的文档,四个团队各画各的,最后装订成一册。这是最普遍的误解,也是架构工作流于形式的主要原因。四层之间存在一条强因果链:业务架构定义的能力,必须能在应用架构里找到承载它的系统;应用架构定义的每一个系统,必须能在数据架构里找到它读写的主题域和数据源;数据架构定义的每一个数据实体,必须能在技术架构里找到存储和流转的技术载体。这条链断在哪一环,蓝图就废在哪一环。
具体到日常判断上,这条链能帮你识别大量“伪需求”。业务方提一个新报表需求,顺着链走一遍:它属于哪个业务能力?如果这个能力在能力地图里根本不存在,那说明是流程本身有问题,做报表只是把错误流程固化下来。如果能力存在,去看承载它的应用是不是已经有类似功能,避免重复建设。再看报表要的数据是不是已有权威源,如果要从某个业务系统的从库抽,就得先解决数据归口。最后看技术侧有没有现成的分析平台可以承载,而不是又新买一套 BI。
我个人的经验是,架构评审会上最有效的一句话就是“这个需求在四张图里分别落在哪儿”。业务方通常答不上来,这不是刁难,而是提醒他们:连提需求的人都不清楚它在体系中的位置,那这个需求的优先级和边界就是模糊的。
1.3 为什么是四层,而不是三层或五层
常有人问,为什么不是三层,把数据和技术合并;或者为什么不是五层,再加一层安全架构或者组织架构。这个问题没有标准答案,但有判断依据。合并数据层和技术层,在实践中行不通,因为两者的变更节奏完全不同。数据模型和主数据标准一旦定下来,生命周期是按年计算的,改一次要牵动所有下游;技术组件的迭代周期是按季度甚至按月算的,中间件版本、容器平台、开发框架换得很快。把两个节奏差一个数量级的东西放一起管,结果一定是快的被慢的拖死,或者慢的被快的冲垮。
至于为什么不加第五层,安全、合规、运维这些东西确实是横切关注点,但它们更适合作为贯穿四层的约束条件,而不是独立一层。安全要求在业务架构里体现为权限模型,在应用架构里体现为认证鉴权设计,在数据架构里体现为分级分类,在技术架构里体现为加密和审计能力。硬把它们抽成一层,反而会造成“安全是安全团队的事”这种割裂。
这一点在不少头部科技企业的实践里也能看到影子:它们对外讲的往往是四层加若干横切规范,而不是五层六层的堆叠。层数不是越多越专业,能被人记住、能被拿来对齐讨论的层数才是好层数。
2. 业务架构:所有蓝图的起点,也最容易糊弄
2.1 业务架构要交付到什么程度才算合格
业务架构最常见的问题是画得太虚。一张“战略—业务—IT”三层框图,配上几个箭头,看着很宏大,但没有任何一个研发能拿它指导设计。合格的业务架构至少要能回答四个具体问题:组织有哪些一级业务域、每个业务域下面有哪些业务能力、每个能力由哪些业务流程支撑、每个流程的关键节点和业务对象是什么。这四层往下拆,颗粒度控制到“一个业务能力对应一个可独立描述的业务目标”就差不多了。
我在实操中习惯用三张图作为业务架构的交付基线。第一张是业务能力地图,用层级结构把所有能力列出来,标注每个能力的成熟度和重要性,这张图是对齐管理层用的。第二张是端到端流程清单,把跨部门的几条主流程拉出来,标注每个环节的负责角色和输入输出。第三张是业务对象清单,也就是流程里流转的核心实体,比如订单、合同、物料、客户。第三张图往往是价值最高的,因为它直接对接数据架构,是四层之间最重要的接口。
提示:业务能力地图不要按组织架构来画。按部门画出来的能力地图,一旦组织调整就得重画,而且会天然地把跨部门能力切碎。正确做法是按业务价值创造的逻辑画,组织架构只是能力的承载方式之一。
交付形式上,我倾向于用表格而不是纯图形。图形好看但不好维护,一张 Visio 图改一次要半天,最后没人愿意改,图纸就永远停在第一版。用表格维护能力清单、用简单的层级图展示结构,更新成本低,协同也方便。
2.2 能力地图怎么拆:从价值链到三级能力
拆能力地图有个比较稳的路子,从价值链入手。先识别组织创造价值的几个主环节,制造类通常是“洞察—研发—计划—采购—生产—交付—服务”,服务类可能是“获客—转化—履约—留存”。这条主线定下来,一级业务域基本就有了。
二级能力按每个环节的核心职能展开。以“采购”这个环节为例,往下拆大致是供应商管理、寻源定价、采购执行、采购结算这几块。三级能力再细一层,供应商管理往下是准入、评估、分级、退出。拆到三级通常就够了,再往下就是流程活动,属于流程设计的范畴,不该放在能力地图里。
判断粒度是否合适的经验法则:如果一个三级能力对应的系统模块超过三个,说明拆得太细;如果多个三级能力都指向同一个系统模块,说明拆得太粗。这个标准不是绝对的,但能快速发现明显失衡的地方。
能力地图还要标注两个属性,一个是重要性,一个是当前支撑度。重要性和支撑度做交叉,右下角那块——重要但支撑弱——就是未来几年架构演进的重点投资区。这个矩阵比任何一份 PPT 都更能说服管理层批预算,因为它把投入和业务价值直接挂上了钩。
2.3 业务架构环节最容易踩的三个坑
第一个坑是只访谈管理层。管理层的视角是战略级的,说出来的能力往往高度抽象,比如“提升供应链韧性”。这句话没法变成系统需求。必须往下访谈一线业务骨干,问他们每天实际在处理哪些单据、卡在哪儿、手工补哪些数据。我见过一份业务架构文档,通篇是漂亮的能力名称,但问到“这个能力具体由谁在哪张表单上操作”时,写文档的人答不出来,那份文档的寿命也就到此为止了。
第二个坑是把现状当目标。业务架构要做的是目标态设计,不是现状记录。很多团队花三个月把现有流程原样画了一遍,然后就直接进应用架构了。这样做的后果是,所有历史遗留的低效环节被固化进了蓝图,后面所有系统都按这个错误流程建。正确做法是现状和目标态分开画,中间做差距分析,明确哪些流程要重构、哪些直接保留。
第三个坑是缺少业务方的签字确认。业务架构如果只是 IT 部门单方面的理解,落地时一定会被打回。我一般会要求在关键能力清单和主流程上做业务负责人确认,哪怕只是在评审会上口头过一遍并留下纪要。这一步的意义不是走流程,而是建立一种共识:后面系统建设时如果业务方提出超出这份架构的需求,大家有个共同的参照物可以讨论。
3. 应用架构:把业务能力落到系统边界上
3.1 应用全景图与服务目录怎么建
应用架构最核心的交付物是应用全景图和配套的服务目录。全景图解决“有哪些系统、它们分别支撑哪些业务能力”的问题,服务目录解决“每个系统对外提供哪些能力接口”的问题。这两份东西合起来,才构成对应用层的完整描述。
全景图我建议按业务域分区呈现,每个分区里列出该域下的应用系统,标注系统类型(核心业务系统、支撑系统、分析系统、渠道系统)、建设状态(在用、在建、待退役、计划新建)和主要支撑的业务能力。这样一张图放在那里,任何人都能一眼看出哪个业务域系统扎堆、哪个业务域还是空白。
服务目录的颗粒度要控制好。以“客户”这个业务对象为例,一个系统可能提供客户查询、客户创建、客户合并、客户标签查询等多个服务。每个服务记录四件事:服务名称、输入输出、调用方、SLA 要求。别小看这四项,它们直接决定了后面接口治理能不能做起来。我见过太多组织,服务目录只记了服务名和负责人,等要做系统下线评估时,根本不知道谁在调它,只能一个个去问,效率极低。
3.2 应用拆分:按能力切还是按流程切
拆分粒度是应用架构里争议最大的话题。按业务能力切,好处是内聚性强,同一个能力的变更集中在一处;坏处是跨能力的端到端流程会涉及多个系统,集成复杂度高。按业务流程切,端到端体验好,但一个流程里往往混着好几个能力,复用性差,能力变更时影响面大。
我的判断标准是看变更频率。如果两个能力虽然同属一个业务域,但变更节奏差异很大,就应该拆开。比如合同管理和合同归档,前者业务规则经常调整,后者基本稳定,硬放在一个系统里,每次改合同规则都要回归测试归档功能,纯属浪费。反过来,如果两个能力的变更总是同步发生,那拆开就是自找麻烦,每次都要协调两个团队发布。
还有一个容易被忽略的因素是数据一致性要求。强一致要求高的功能,尽量放在同一个应用边界内,用本地事务解决;跨边界的部分接受最终一致,用消息机制兜底。这条原则听起来很技术,但它的决策依据其实在业务侧——业务能不能接受几秒钟的数据延迟。很多拆分失败的案例,根子在于架构师没跟业务确认这一点,直接按教科书拆了微服务,上线后业务方发现库存数字有延迟,天天投诉。
3.3 集成关系治理:把蜘蛛网变成有向图
应用架构做完,最容易失控的是系统之间的集成关系。十个系统两两集成就是四十五条连线,图上画出来就是一团毛线。治理的核心思路是引入集成分层:把系统间交互分成三层,数据层(批量同步、数据抽取)、服务层(实时接口调用)、交互层(页面嵌入、单点登录)。每一层的集成方式、技术选型、治理规则都不一样,分开管理,复杂度立刻下降一个量级。
具体做法是要求所有新增集成必须走统一的集成通道,禁止系统之间点对点直连。这一条在推行时会遇到很大阻力,业务方会说“就走一个接口,很快的”。但只要开了口子,两年之后你面对的又是一张蜘蛛网。我在一个项目里推这条规则时,配套做了件事:把统建集成平台的能力做厚,常用协议转换、流量限速、日志留痕、失败重试全部预制好,让开发团队发现走平台比自己写代码还省事。规则配上便利,才有执行力。
集成关系还要定期做“下线评估”。每隔半年扫一遍调用链,找出调用量极低的接口,跟调用方确认是否还需要。这类僵尸接口是安全风险和运维负担的主要来源,清掉一批,架构的清晰度会明显提升。
4. 数据架构:最容易被低估的中间层
4.1 数据架构的三件套:模型、标准、流向
数据架构的交付物,说复杂很复杂,说简单就三样东西。数据模型,描述业务对象长什么样,实体、属性、关系;数据标准,规定同一个业务概念在全组织内的统一名称、定义、取值规则和权威源;数据流向,说明数据从产生到消费经过哪些系统、在哪里落地、以什么频率流转。这三样东西合起来,才能回答“这个数据从哪来、到哪去、谁说了算”。
数据标准是最难推的,因为它直接挑战部门利益。同一个“客户”概念,销售系统里的客户是潜在商机持有者,服务系统里的客户是已签约的服务对象,财务系统里的客户是开票主体。三个定义各有各的道理,但要建统一视图就必须定一个主定义。这时候不能靠技术团队拍板,得拉业务方一起开会吵,吵出结果来。我参与过的一次定标会开了三轮,最后定下来以签约关系为准、商机持有者作为客户的关联属性存在。这个结论不算完美,但它是各方认下的,后面执行起来阻力小很多。
数据流向图的画法有个技巧:按主题域画,不要按系统画。按系统画出来的是接口清单,按主题域画出来的才是数据地图。比如“客户”这个主题域,从线索产生、商机转化、合同签订到服务履约,数据在哪些环节产生、在哪些系统落地、哪个系统是权威源,一条线串下来,比列几十个接口清楚得多。
4.2 权威源判定:一个绕不开的硬仗
权威源(System of Record)的判定,是数据架构里最具实操价值也最容易扯皮的一环。原则本身很朴素:一个数据实体只能有一个权威源,其他系统只能引用不能自建。执行起来的难点在于,存量系统里普遍存在各自维护一份的情况,谁也不愿意放弃自己的那份“自留地”。
推进方法上,我建议分两步走。第一步是认账,先把现状摸清楚,哪个数据在几个系统里有副本,各自的更新频率和维护方是谁,画成一张对照表。这张表本身就有很强的说服力,因为管理层第一次看到“我们的客户数据在七个系统里有副本,其中三个还在手工维护”这种事实时,通常会有反应。第二步是收口,定一个时间窗口,把非权威源的写入能力关掉,改成调用权威源的服务。这个过程一定要配套技术手段,比如在数据访问层做统一拦截,否则靠自觉基本收不住。
注意:收口动作不要一次全推。挑一个数据实体做试点,跑顺了再扩。试点选哪个有讲究,选那种副本多、争议大但业务影响可控的,做成了示范效应最强。
还有一个现实问题要提前想清楚:权威源系统本身的性能和可用性要扛得住新增的调用量。我见过一个案例,主数据收口之后,下游十几个系统全来调,主数据系统的接口直接被打爆,最后业务停摆两天。收口前做容量评估,这不是可选项。
4.3 数据架构与应用架构的联动校验
两张图做完之后,一定要做一次交叉校验,方法很简单:拿应用全景图,逐个系统问一遍它持有哪些数据实体的写权限。如果同一个实体在多个系统都有写权限,要么是权威源没定清楚,要么是应用边界划错了。这个校验做过之后,往往能倒逼出应用架构的调整。
反向校验同样有用。拿每个数据实体,看它的流转路径上有哪些系统,如果某条路径绕了四五个系统才到达最终消费者,那就要问:中间这几跳是不是必要的?很多时候答案是“历史原因”,那这就是一个明确的优化项。我做过一次这样的梳理,发现一个报表系统的数据要经过三次同步才到分析平台,中间两跳完全可以用视图直接穿透,改完之后数据时效从 T+1 变成了小时级。
5. 技术架构:把“能用”变成“可复用、可演进”
5.1 技术栈收敛与分层治理
技术架构的第一要务是收敛,不是追新。一个上千人规模的研发组织,如果不做技术栈治理,三年之内一定会出现这样的局面:同一种中间件有四个版本在跑,前端框架三套并存,容器平台两套各自为政。维护成本是显性的,隐性成本更大——人员不能跨团队流动,安全补丁要打四遍,故障排查要先搞清楚是哪套环境。
收敛的做法是建立技术栈分层清单,把技术组件按接入层、应用层、数据层、基础设施层分类,每类只允许存在一到两个选型,新增选型要走例外审批。这个清单要定期更新,但更新节奏要控制住,不能半年一换,否则团队疲于迁移。
分层治理还有一层含义是职责分层。接入层负责流量调度和安全防护,应用层负责业务逻辑,数据层负责存储和计算,基础设施层负责资源供给。每一层只对上一层提供标准能力,不允许跨层直接操作。这条规矩在云原生时代尤其重要,不然就会出现业务代码里直接写死存储桶地址这种问题,迁移的时候一片哀嚎。
5.2 平台化的边界:什么该做成公共能力
平台化是技术架构里最容易做过头的地方。看到某个功能被三个团队各写了一遍,就想抽成公共平台,这个冲动要克制。判断标准我一般用三条:复用广度(至少五个以上团队有同类需求)、变更频率(能力本身相对稳定,不会因为某个业务特殊需求频繁改动)、一致性价值(统一之后业务收益明显,比如统一身份认证)。
三条都满足的,做成平台;只满足一两条的,做成共享库或者参考实现,让团队自己决定用不用。强行推平台化,最典型的失败场景是这样:平台团队做了一个“万能工作流引擎”,号称能覆盖所有审批场景,结果每个业务接入都要写大量适配代码,最后大家宁愿自己写 if-else。平台的通用性和易用性是一对矛盾,越通用往往越难用,这个平衡点要靠在真实业务里打磨,闭门造车做不出来。
5.3 技术选型的评估维度
选型这件事,我习惯列六个维度打分:功能匹配度、团队熟悉度、社区与生态活跃度、长期维护承诺、迁移成本、总体拥有成本。六个维度里,团队熟悉度和迁移成本经常被低估,但它们在真实项目里的权重往往最高。
举个常见的场景,某个新技术在功能匹配度上明显更优,但团队里没人用过,学习曲线要两个月。项目周期只有四个月,那这个“更优”就是纸面上的。反过来,一个成熟但稍显陈旧的技术,团队人人会用,上线速度能快一倍,后续维护也顺手。架构决策不能只看技术先进性,要看组织当前的实际能力水位。
还有一点,选型文档里要写清楚不选什么、为什么不选。这份记录的价值在于,两年后有人再提同样的方案时,你能拿出当时的判断依据,而不是重新论证一遍。我自己的选型文档里,被否决的方案记录往往比最终方案写得更详细。
6. 从蓝图到落地:4A 的实施路径与治理机制
6.1 五步走:从现状盘点走到演进路线
完整的 4A 落地,我一般按五步推进。第一步现状盘点,把所有系统、接口、数据实体、技术组件摸清楚,形成基线资产库。这一步最枯燥,但省不得,没有基线的架构设计都是空中楼阁。第二步目标蓝图设计,四层分别出目标态。第三步差距分析,现状和目标之间逐项对比,列出差距项。第四步演进路线规划,把差距项按业务价值、实施难度、依赖关系排序,切成三期左右的滚动计划。第五步治理机制建立,让蓝图能持续生效。
第三步的差距分析有很多团队做得太粗,只列“需要新建 XX 系统”这种级别。我建议细到字段级,比如“客户主数据在目标态要求有统一的信用评级属性,现状七个系统里只有两个有,且取值规则不同”,这样后续的改造任务才能被准确估算。差距项清单同时也是预算申请的依据,颗粒度越细,越容易通过评审。
第四步排序的时候,有个实用技巧是把差距项画在一个两维矩阵上,横轴是业务价值,纵轴是实施难度,优先做“高价值低难度”的速赢项。速赢项的意义不只是快速见效,更重要的是建立信心——架构工作周期长,如果前一年没有任何可见成果,后面推起来会非常吃力。
6.2 架构治理:没有评审权的架构组等于没有
蓝图做得再漂亮,没有治理机制就是一张壁纸。治理机制的核心是三件事:评审关口、例外管理、架构资产维护。
评审关口要设在项目立项和设计两个节点,前者看项目是否在蓝图范围内、优先级是否匹配,后者看技术方案是否符合架构原则。评审组要有否决权,没有否决权的评审会就是茶话会。这一点在很多组织里推不动,因为架构组往往是支撑角色,没有实权。折中方案是把评审结论挂到预算流程上,架构评审不通过的方案不能进入采购和立项环节,用流程倒逼。
例外管理同样重要。架构原则不可能覆盖所有情况,一定会有合理的例外。关键是例外要走显性流程:书面申请、说明理由、限定有效期、记录在案。这样做的好处是例外变成可控的、可追溯的,而不是悄悄绕过去。我见过做得比较好的实践是每季度出一次例外报告,把当季所有例外列出来,看看有没有共性,如果有,说明原则本身需要修订。
架构资产维护是最容易被忽略的一环。蓝图做完就锁进抽屉,一年后没人记得里面写了什么。解决办法是把架构资产和日常流程绑定,比如新项目立项时必须引用能力地图里的能力编号,系统上线时必须更新应用全景图。绑定之后,资产就有了被动更新的动力。
6.3 架构资产的沉淀与复用
架构资产的形态,我建议分三层。最底层是元模型和模板,规定能力、应用、数据实体、技术组件这些元素怎么描述、有哪些必填属性。中间层是资产库,所有架构元素的实例都存在里面,可以查询、可以关联。最上层是视图,针对不同读者生成不同的呈现,管理层看能力热力图,项目经理看应用依赖,开发看服务目录。
这三层建好之后,最大的收益是变更影响分析变得可行。改一个业务能力,顺着关联关系能查出影响哪些应用、哪些数据、哪些技术组件,评估工作量从两周缩短到两天。这个能力在大型组织里价值极高,因为变更影响评估做不准,是所有排期失控的根源。
资产库的建设不要一上来就买工具。先用表格把元模型和实例管起来,跑到几十个项目之后再考虑上工具。工具是放大器,前提是你已经有一套跑得通的规则;规则还没定型就上工具,只会把混乱固化下来。
7. 常见问题与排查速查
7.1 典型症状对照表
推行 4A 的过程中,遇到的现象高度相似。我把常见症状和对应的根因、处置方式整理成一张表,遇到问题时可以先对号入座。
| 症状 | 大概率根因 | 处置方向 |
|---|---|---|
| 蓝图做完无人使用 | 交付物过于抽象,无法指导具体决策 | 把交付物下沉到可执行的颗粒度,附上使用场景说明 |
| 业务方不认能力地图 | 只访谈了管理层,未与一线确认 | 补充一线访谈,能力清单逐项签字确认 |
| 系统数量只增不减 | 缺少退役机制,只做加法 | 建立应用生命周期管理,明确退役触发条件 |
| 数据口径天天吵架 | 权威源未定,或定了未执行 | 先定标准再收口,配套技术拦截手段 |
| 集成关系越来越乱 | 点对点直连未被禁止 | 强制走统一集成通道,把平台能力做厚 |
| 技术栈越管越多 | 例外审批形同虚设 | 例外书面化、限期化、定期复盘 |
| 架构评审会变成走过场 | 评审组无否决权 | 把评审结论挂到立项和采购流程上 |
| 架构资产长期不更新 | 资产与日常流程脱节 | 把资产更新设为项目验收的必检项 |
7.2 几个我在项目里踩过的坑
第一个坑是蓝图做得太大。早年参与一个集团级架构项目,目标是把全集团所有业务域一次性规划完,四层蓝图加起来的文档堆了半米高。做了十个月,交付那天很热闹,之后的两年里基本没人翻过。教训是范围要收敛,先做一个业务域做深做透,跑通方法论再复制。一个做透的样板域,比十份泛泛的全局蓝图更有说服力。
第二个坑是架构团队全是技术背景。业务架构那一层,纯技术背景的人画出来的东西业务方看不懂也不认。后来调整了团队构成,拉了两个懂业务的 BA 进来,情况明显改善。架构团队的能力结构要匹配四层的需要,不是清一色开发出身就能干好的。
第三个坑是过度追求图形美观。有一段时间团队在架构图的视觉呈现上花了大量精力,配色、布局、图标反复调整。图形当然重要,但架构的核心价值在信息本身,不在视觉。后来统一改成“能看清结构就行”的标准,把时间省下来做交叉校验和影响分析,产出质量反而上去了。
第四个坑是忽视了存量系统的现实。做目标态设计时,很容易画出一个理想的新架构,把所有问题都解决了。但执行的时候会发现,存量系统不能停、数据不能丢、业务不能断,任何改造都是带着镣铐跳舞。所以目标态设计完成后,一定要补一份过渡态设计,说清楚在存量系统逐步替换的过程中,新旧两套怎么并存、数据怎么同步、切换窗口怎么安排。缺了这份过渡态设计,蓝图就是一张无法落地的画。
我自己这几年做下来的体会是,4A 这套东西真正的价值不在四张图本身,而在它逼着组织把“业务—系统—数据—技术”这四件事放在同一张桌子上讨论。很多问题在被画出来之前,各方都觉得自己那块没问题;一旦并排放着,矛盾自然就显露出来了。所以别把架构工作做成一次性的文档交付,把它变成一个持续对齐的机制,哪怕每次只对齐一个业务域,跑上两年,整个组织的系统建设逻辑会明显清晰起来。