架构负债不仅仅是技术负债
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

在软件开发的世界里,许多开发人员常常被两件事所困扰:技术负债,以及被视为最后期限的估算时间。其中技术负债尤为频繁地被提及,但架构层面的负债远不止于代码之中。
在技术团队内部,常常会将“代码负债”和“架构负债”区分开来:前者通常指为赶项目进度而临时拼凑的代码,却在之后一直未被修复;后者则指的是更具结构性的问题——那些在六个月后才显现出严重影响的决策失误。
虽然采用如“绞杀者模式”(Strangler Pattern)或减少对单例模式的依赖这些软件设计实践确实属于架构范畴,但“架构负债”的范围远超代码层面。
现代视角下的架构技术负债
在现代企业架构实践中,架构师的关注点已不再局限于软件内部的工作机制,尤其是在拥有数百个应用程序的组织中。如今,更为重要的是关注这些应用如何与企业整体系统架构互动:数据如何流动、数据存储在哪里、是否存在性能瓶颈、由谁维护、以及该应用未来在企业中的角色。
在企业环境中,应用数量庞大,其中超过一半为第三方SaaS系统。在这种情况下,必须清楚哪些部分可以控制,哪些则需要放手。
架构负债的多重层次
架构负债并不只存在于技术层。企业架构(Enterprise Architecture, EA)和技术架构(Technical Architecture)并不等同,后者只是前者的一部分。
如果说技术架构层面的负债已经会造成成本上升和交付延迟,那么业务层和战略层的架构负债所带来的破坏力则更加深远。
以下是对不同层级架构负债的解析:
应用/基础设施层
正如文章开头所提到的,企业架构的重点不应落在代码层面。这是软件开发人员和技术负责人需要深入掌握的领域,他们每天都在代码中作业。企业架构师则应从更宏观的角度出发,提供如事件溯源(event sourcing)等架构建议,但具体的实现和维护应由开发团队决定。
在此层级,更重要的是关注整合模式。例如:当前系统是否还在通过sFTP传输文件,同时又使用REST API?是否能统一为REST接口,减少异构交互?
又如:某些系统功能是否存在重叠?以文件存储为例,企业可能同时使用微软账户所附带的免费SharePoint存储和AWS租用空间。是否可以将其整合以降低冗余?
此外还需警惕供应商锁定问题。虽然通过集中采购可以获得折扣,但同时也可能陷入高昂迁移成本的陷阱之中,导致系统“被控制”。
在该层级的架构负债直接影响企业运营:增加成本、延长交付周期。
企业架构师在此的职责更加长远、聚焦更宏观,相较于系统架构师(SA)的关注点更偏向全局性。
业务层
在业务层,同样不聚焦于具体细节,例如不深入探讨每个部门有多少员工或其岗位职责为何。
在此层级的核心关注点包括“归属权”和“责任人”——当某个关键系统宕机,或发生数据泄露时,谁负责应对?谁是必须参与讨论的人选?
在推动部门现代化时,不仅需和部门负责人沟通,更应考虑到相关联的其他部门。就像系统之间的耦合一样,业务流程也相互依存。若只更新一个部门的流程,可能会影响到其他五个部门的日常运作。
更严重的问题是“过时流程”或“幽灵流程”仍然存在。如果新员工收到的业务流程文档早已不准确,那么尚属可以理解;但如果是审计人员拿到错误流程文档,后果则极其严重。
因此,这一层面的关键在于文档的准确性:清晰记录部门运作机制、责任分工、所需资源等。若员工在错误的前提下工作,也将基于错误的认知启动项目,从一开始就陷入被动。
这类架构负债会在成本和外部风险层面产生连锁反应,进一步加剧运营层的困难。
战略层
企业架构师并不直接制定战略,而是协助战略制定者做出明智决策。为了实现这一目标,必须保证底层信息的准确性与完整性。所提供的洞察力越强,战略方向的质量也越高。
在战略层面,最常见的架构负债表现为“定义错误”和“框架残缺”。例如企业常用的“业务能力地图”(Business Capability Map)就非常关键。
通过创建业务能力成熟度评分模型,可以对每项能力进行标准化评估,了解组织在哪些方面表现良好,哪些方面仍需提升。这些信息可作为战略制定的重要依据。
但如果能力定义本身存在问题,如地图过时、内容不完整或仅仅是一个部门职能列表,那么基于此制定的3到5年战略将建立在错误假设之上。
这种战略层的架构负债将产生极其深远的后果,不仅阻碍转型,还可能使错误战略看似合理。
战略架构负债如何向下层传导的整体示意
应对架构负债的方法
幸运的是,与开发人员不同,企业架构师通常拥有更多时间和更高视野去识别架构负债。他们可以搭建仪表盘,收集数据,掌握实际情况,并向具决策力的高管(如CIO或COO)呈现问题。
展示问题最有效的方式往往不是解释一个上千行的“上帝类”代码,而是用PowerPoint或数据看板展示系统间的不一致与风险点。
维护清单极为关键。在架构工具中,架构师应明确记录哪些内容被视为架构负债,同时也在笔记中列出希望解决的问题及其优先级顺序。
应对架构负债的核心方法是制定“现状图”(AS-IS)与“目标图”(TO-BE),辅以业务分析说明处理后的益处与不处理的风险。
随后,便是“选择战场”。某些领域可以容忍一定的架构负债,例如创新型系统(System of Innovation);而核心系统(System of Record)则必须尽早治理。条件是创新项目结束后,务必要处理遗留的负债。
同时也要做好准备,很多时候所获得的回应可能是:“好,那你去修复它。” 因此,提前预留资源以实际执行治理计划尤为重要。仅仅识别问题,而无力解决,负债终将如影随形。
总结:企业架构不仅是技术问题,更关乎组织、流程与战略。只有跨越各个层级,系统识别与治理架构负债,才能真正实现企业的长期健康发展。
