大多数数据战略失败并非因为方向错误,而是因为组织无法始终如一地执行。架构正是避免这种情况的关键,它并非通过控制来实现,而是通过一套精简的共同决策,使数百个独立的选择指向同一方向。
1884年,威廉·温彻斯特的遗孀、温彻斯特连发步枪公司继承人莎拉·温彻斯特开始在加利福尼亚州圣何塞建造房屋。一位通灵师告诉她,温彻斯特家族受到死于温彻斯特步枪之手的亡灵诅咒,唯一能驱散亡灵的方法就是不停地建造房屋。如果工程停工,她就会死去。
她对此事非常认真。在接下来的三十八年里,她雇佣木匠们日夜不停地工作,一周七天无休。到1922年她去世时,这座房子已经扩建成约160个房间、2000扇门、10000扇窗户,楼梯直通天花板,门打开后直接通向陡峭的悬崖,烟囱几乎顶到屋顶却没有壁炉。这里没有总体规划。每天早上,她都会和工头碰面,把当天的指示草草画在纸片上。没有清晰的愿景,也没有除了继续下去之外的任何意图。
我认为这是技术领域最贴切的比喻。并非因为企业IT系统真的像某些人感觉的那样“闹鬼”,而是因为其模式千篇一律。每个迭代周期、每个项目,团队都会做出看似合理的决策:这里新增一个集成,那里搭建一个定制数据存储,再添加一个微服务,再添加一条管道。每个决策本身似乎都没有错。但没有人问架构所要求的关键问题:这些组件如何协同工作?我们最终会后悔锁定哪些组件?结果就是软件工程师所说的“一团乱麻”——结构混乱却缺乏连贯性。修改成本高昂,难以解释,而且完全依赖于每个组件的构建者的记忆。
架构的作用在于约束设计
与温彻斯特神秘屋截然相反的是集装箱。20世纪50年代,全球贸易面临的问题并非船舶本身,而是货物交接。海运、铁路和公路之间的每一次转运都缓慢、繁琐且难以预测。集装箱的出现解决了这个问题,并非因为它本身性能更优,而是因为它本身就是一种约束:标准尺寸、标准锁扣点、标准装卸设备。正是这一设计决策使得所有运输方式之间的货物交接都变得可预测。一旦接口标准化,其他一切都可以围绕它展开。
这就是架构的作用:并非设计一切,而是约束那些若不一致就会破坏整体的决策。一套共享的边界、真理来源和交互模式,能够确保跨团队、系统和项目之间的交接可预测。它不是蓝图,而是一套允许其他一切在不导致分裂的情况下演进的决策。
架构是图纸背后的思考
问大多数人什么是架构,他们会指着一张图。方框和线条。系统上下文视图。技术栈。但架构并非图纸,而是图纸背后的思考。
架构的核心在于一系列有意识的、影响深远的决策,这些决策决定了系统的结构、压力下的运行方式、可扩展性和演化方式。正如格雷戈尔·霍普所定义的那样:架构必须包含重要的决策,这些决策必须有完善的文档记录,并基于清晰的逻辑。文档本身并非架构,决策及其背后的逻辑才是。
架构与单纯的建造之间的区别在于意图。架构始于目的,在限制条件下运作,并将权衡取舍明确化。它会问:哪些品质是不可妥协的?两年后我们需要做出哪些改变,而现在又无法锁定?哪些值得付费,哪些我们只需消费即可?如果没有这些问题,你建造的只是房间;有了这些问题,你建造的才是真正有效的建筑。
每个架构设计决策都是一种权衡。
为了准备诺曼底登陆,英国工兵面临着一个棘手的问题:如何在敌军炮火下安全穿越布满地雷的海滩?标准坦克无法胜任。于是,珀西·霍巴特少将的团队打造了一系列经过大幅改装的车辆,被称为“霍巴特的奇葩车”,每一辆都旨在解决战场上的特定难题。
其中最著名的当属连枷坦克。一个装有重型链条的旋转滚筒会敲击坦克前方的地面,在地雷被坦克自身重量触发之前将其引爆。这套装置确实有效。但其缺点是经过深思熟虑的:连枷会遮挡驾驶员的视线,降低速度,并且意味着在排雷作业期间无法开火。生存能力的提升是以牺牲进攻能力为代价的。
连枷坦克的关键架构特征——每一次改进都是一种经过深思熟虑的权衡。
这些并非表面功夫,而是意义重大的架构决策,决策者对放弃什么以及为何放弃有着清晰的认识。这种精准性——明白自己放弃了什么,而不仅仅是得到了什么——正是架构与空想之间的区别。
我在实践中反复看到过同样的情况。在旅游行业,架构师始终面临着数据新鲜度和系统性能之间的矛盾。预订复杂度假套餐的客户期望获得快速、准确的结果。但是,跨数十个供应商系统进行实时价格核查会造成延迟和不稳定。缓存数据可能会显示过时的价格,而实时获取数据则可能导致缓慢且令人沮丧的用户体验。
没有放之四海而皆准的答案,只有取决于具体情况的权衡取舍。无论你选择哪种方式,这个决定都会在未来数年内影响你的基础设施设计、团队所有权模式、服务级别协议 (SLA) 承诺以及成本结构。这就是架构的本质。
架构既是技术性的,也是社会技术的
关于数据架构,最重要也最常被忽视的一点是,它并非纯粹的技术性架构,而是社会技术性的架构:它融合了系统本身以及构建和运营这些系统的人员、团队和工作方式。
康威定律指出,任何组织在设计系统时,其系统结构都会反映出自身的沟通结构。换句话说:如果你的团队各自为政、支离破碎,那么无论技术图看起来多么精美,你的系统也必然如此。关于平台和集成模式的架构决策,与关于团队所有权、治理和交付实践的决策密不可分。
数据架构既是技术性的,也是组织技术性的——两者必须共同发展。
其实际意义重大:如果你想要不同的架构,可能就需要组建不同的团队。反向康威策略,即有意识地调整团队结构以构建所需的架构,是IT领导者可用的最有效工具之一,也是最少被使用的工具之一。
团队拓扑结构(Team Topologies)是由 Matthew Skelton 和 Manuel Pais 创建的框架。它将康威定律的社会技术洞见转化为一种实用的设计语言:负责端到端成果的流程导向型团队、降低认知负荷的平台型团队、构建能力的赋能型团队,以及需要真正专业深度的复杂子系统团队。团队边界和交互模式并非无关紧要,而是影响流程、风险和速度的结构性设计决策。
将战略意图转化为架构指导
大多数数据战略都只阐明了意图,却将架构的构建寄托于随机应变。团队根据每个项目、每个供应商的情况来解读战略的“含义”,结果可想而知:偏离方向、重复劳动、交接不畅,以及不到18个月,数据架构就与最初的意图大相径庭。
架构指导通过在交付开始前尽早发布一套不可协商的决策来避免这种情况。它不是蓝图,也不是购物清单,而是一种准则:团队不得在局部范围内重新决定少数几个结构性真理,因为在这些方面出现不一致会破坏整体策略。
得出此指导原则的过程遵循清晰的逻辑链,如下图所示。
定义架构指导原则的过程——从战略意图到可发布的指导原则包。
首先,要明确战略意图以及该行动所支持的具体价值流或客户旅程。然后,要编写关键场景,即必须奏效的几种情况:正常流程、高峰负载、异常情况和变更。这些并非边缘案例;它们是压力测试,旨在揭示如果任由本地解读,交付过程中哪些环节会出现歧义。
接下来需要考虑能力限制,包括架构必须克服的遗留系统、数据孤岛和基础设施限制。这确保了你的设计是基于实际环境,而不是基于一个全新的理想框架。
从场景和约束条件中提炼出目标架构特性:这些特性是定义架构必须具备的不可妥协属性的真理陈述,是策略成功的关键。至关重要的是,每个特性都与证据、合同、服务级别目标 (SLO) 和一致性仪表板相匹配。没有证据,特性就只是愿景;有了证据,特性才能得到有效管理。
运用沃德利映射法制定建议
目标架构特征告诉你哪些是必然存在的,但它们并没有告诉你如何实现这些特征,需要构建什么,需要购买什么,需要标准化什么,以及应该将哪些作为竞争优势。而这正是沃德利映射法(Wardley Mapping)发挥作用的地方。
沃德利图是一种可视化模型,它展现了组织如何为用户创造价值。该模型以特定的用户需求为核心,展示了满足该需求所需的一系列责任,并将每个组成部分定位在从创新到工业化的演进轴上。这种定位决定了组织的姿态:通用型责任应该标准化并被消费;而差异化的定制能力则应该进行投资和设计,以适应变化。
设想一家零售商正在构建线上订购线下取货(click and collect)服务。沃德利地图(Wardley map)立即揭示了一个有用的区别:定义“准备就绪”、“延迟”和“已取货”含义的编排层,即每个渠道、门店和客服人员所依赖的规范状态模型,牢牢地位于定制开发区域。客户的确定性要么在此得到保障,要么在此受到损害。它应该作为一项持续的产品功能进行投资,而不是一个项目。
在沃德利演化轴上绘制责任价值链——姿态跟随位置。
相比之下,订单管理和库存管理虽然至关重要,但在演化轴上却更偏右,更接近产品或商品。正确的做法是限制变异:实现无缝集成,避免局部重复发明,并将这些功能作为一个平台提供给所有消费者。
这张地图清晰地揭示了企业何时在错误的地方无意中实现了差异化:例如定制的集成架构、专属的通知机制以及在各个渠道重复复制的业务逻辑。这些并非竞争优势,而是会增加复杂性的成本,从而消耗掉真正实现差异化所需的预算。
架构与组织密不可分
一旦沃德利地图绘制完成,就必须明确责任归属。哪个团队负责哪项职责?正确的路径在哪里?当标准需要更新时,谁拥有决策权?
沃德利演化轴不仅决定技术姿态,还决定每个领域的最佳运营模式。职责会根据其演化方式以及变革带来的关联程度,自然而然地归入不同的所有权群体。
职责按团队所有权分组——与沃德利的发展战略保持一致。
定制开发领域的差异化能力应由拥有领域决策权、持续投入且目标一致的团队负责,并以产品而非项目的形式进行投资,因为这关系到企业能否实现或削弱自身的竞争优势。这些团队人员变动频繁,需要拥有自主响应的能力。
平台区域的职责,即其他所有团队所依赖的权威信息,例如库存数据、订单状态或身份信息,应该由独立的团队负责,并作为产品功能提供给消费者,同时设定清晰的服务级别。如果这些信息分散在各个客户旅程团队中,组织内的其他部门就会各自独立地重复执行相同的规则。将它们放在平台区域可以防止重复信息在整个组织内扩散。
产品区域的功能受限于既定的变体、打包的工具、标准的工作流程引擎和托管的基础设施,其管理职责应有所不同:标准化、最大限度减少定制化变更,并与上述平台标准无缝集成。这里的风险不在于投资不足,而在于过度定制:即构建与标准模型已提供的功能重复的定制逻辑。
团队拓扑类型和互动模式——团队的参与方式决定了组织内部的摩擦。
团队间的交互模式与团队类型同等重要。通过“X即服务”这种低摩擦、以合同为先的关系,流式团队从平台团队获取资源,避免了持续协作带来的额外开销。协作仅限于真正需要共同解决歧义的阶段;一旦接口稳定且易于理解,自助服务模式才是最佳选择。这种高带宽协作与低摩擦消费之间的区别,是IT领导者可以做出的最重要的设计决策之一。
最终成果:指导手册,而非蓝图
此流程的输出并非未来状态架构图,而是一套指导手册:一套精心设计的约束条件和默认设置,旨在确保交付的一致性,避免陷入解决方案设计的窠臼。
一套完整的指导方案包含四部分。首先,提供目标架构特征及其证据,明确架构必须具备的不可协商属性,每项属性都对应一份合同、服务级别目标 (SLO) 或一致性检查,以确保其可控性。其次,提供一份沃德利图,清晰地阐明所有权归属、边界划分以及必须保持一致的接口。第三,提供以权衡取舍的方式提出的建议,明确行动步骤、停止事项、标准化流程和行动顺序,并清晰地列出每项行动的成本和收益。第四,提供一份运营模式概览,明确责任人、团队类型、交互模式以及一致性管理方式。
架构的作用在于影响,而非控制
思考架构时,要牢记的关键词是“影响”。架构指导的作用在于塑造团队无论如何都会做出的决策,而不是取代这些决策。其目标是构建足够的共享结构,使战略在与交付的互动中得以延续。这并非一个包罗万象的设计,而是一套针对那些若不一致就会破坏整体的事项的决策。
来源(公众号):数据驱动智能