知识卡片

C系统案例:对方"也深受其苦",是打破僵局的关键

普通读书笔记卡

内容

以M系统重构为例,当时另有一个C系统和M系统通过数据库直连、共用同一个数据库,重构方案是要去掉两个系统同时在底层直接操作数据库的做法,改为C系统通过调用M系统接口来写入数据库。这个方案对C系统来说,很明显的一点是短期改动比较大——要把十几个功能都从”直接读写数据库”改成”跨系统接口调用”。刚开始C系统团队也觉得这次重构对他们没什么用,属于典型的”这对我有什么好处”式抵触。但经过进一步分析和沟通,才了解到C系统其实同样深受当前架构之苦,具体体现在三点:”数据经常出错要排查”(因为C系统和M系统都在写同一个数据库,两边的写入逻辑很难保证完全一致);”要跟着M系统同步开发”(M系统一旦增加表或字段,C系统就要自己去数据库里读出来、还要理解背后的业务逻辑);”C系统要连两个数据库,出问题不好查”(因为C系统自己本身还有一个数据库,出问题时要在两个数据库之间来回排查)。而这些问题在M系统重构完成后都能得到解决——例如数据问题排查主要变成M系统自己的事情,C系统通过M系统接口获取数据,无须再关注数据相关的具体业务逻辑。也就是说,虽然短期内C系统确实要承担一定的开发工作量,但从中长期看,C系统能省下相当多的麻烦事。正是通过这种”深挖对方真实痛点、而不是空泛地讲大道理”的沟通方式,C系统才真正乐意配合这次重构,事后也证明重构对C系统和M系统双方都带来了很大好处——这正好印证了”换位思考、合作双赢、关注长期”策略在实践中的具体打开方式:表面上看似对对方无益的重构,往往可以在深挖之后找到对方自己的真实收益点。

参考来源

- 位置:《从零开始学架构》第46讲《架构重构内功心法第二式:合纵连横》"连横"C系统案例(源文件:_epub-src/OEBPS/text00003.html) - 结论依据:原文说明"刚开始 C 系统也是觉得重构对他们没有什么作用,后来我们经过分析和沟通,了解到 C 系统其实也深受目前这种架构之苦……这些问题其实在 M 系统重构后都可以解决……通过这种方式沟通协调,C 系统很乐意跟我们一起做重构,而且事实也证明重构后对 C 系统和 M 系统都有很大好处",直接支撑本卡结论。 - 原始内容:刚开始 C 系统也是觉得重构对他们没有什么作用,后来我们经过分析和沟通,了解到 C 系统其实也深受目前这种架构之苦,主要体现在"数据经常出错要排查"……"要跟着 M 系统同步开发"……"C 系统要连两个数据库,出问题不好查"……通过这种方式沟通协调,C 系统很乐意跟我们一起做重构