知识卡片

变更恐惧症的根源:运行与变更被人为分离

结构图卡 · 2184

内容

传统IT把变更看作风险(”永远不碰运行中的系统”),发布要经数月多轮测试,升级技术却往往没有对应的”业务案例”——这逻辑像认为不换机油能省钱,直到发动机卡死为止。更根本的问题是,很多IT组织把”运行”(运营)和”变更”(开发)当作两个分开的职责,这暗示运行软件不等于变更,结果就是没人主动改动系统、系统必然老旧成为遗留物。害怕变更是有原因的:这些组织通常缺乏密切观察产品指标、并在出问题时快速部署修复的工具、流程和技能,因此只能选择在部署前尽量测试所有场景,然后多少”盲目”地上线并祈祷不出问题。讽刺的是,这样试图”省钱”的组织反而要花费超过一半的经费维护”运行”,因为不稳定、扩展性差、缺文档的遗留应用运营成本极高,真正用于支持业务变更的预算所剩无几。

结构图:

flowchart TB
  A["变更=风险,永远不碰运行系统"] --> B["运行(运营)与变更(开发)职责分开"]
  B --> C["没人主动改系统"]
  C --> D["系统变老旧,成为遗留物"]
  D --> E["运营成本畸高(不稳定/扩展差/缺文档)"]
  E --> F["超一半经费花在维护'运行'上"]
  F -.留给'变更'的预算所剩无几.-> A

参考来源

- 位置:《架构师应该知道的37件事》第2章《架构》之"2.5 如果从不杀死任何系统,你就会被'僵尸'包围"·"2.5.2 变更恐惧症"与"2.5.4 运行与变更"(源文件:_epub-src/OEBPS/Text/chapter002.html) - 结论依据:原文说明"很多IT组织恐惧变更,这些组织将'运行'(运营)和'变更'(开发)分开,这就清楚地表明,运行软件并不意味着变更……很多IT部门花费超过一半的经费来保障'运行'和'维护',只留一点点预算给支持业务发展需求的'变更'",直接支撑本卡结构图。 - 原始内容:这种广为流传的逻辑听起来就像是把更换车内机油看作浪费钱,毕竟即使你不更换机油,汽车依然可以行驶。这样做甚至可以让你的季度利润报表看起来更漂亮些,更确切地说,在发动机卡住之前。