谈边做业务边做架构重构(3)—— 运筹帷幄
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1. 引言 一般来说,需要 架构 重构的系统,基本上都是因为各种历史原因和历史问题没有及时处理,遗留下来逐渐积累,然后到了一个临界点,各种问题开始互相作用,集中爆发!到了真正要开始重构的时候,我们可能会发现千头万绪,感觉无法下手,随便整理一下就几十个大大小小的问题要解决。此时架构师或者技术主管面临的主要问题就是怎么去推进。 2. 运筹帷幄 可以想象一下,假如我们拿到一个架构问题列表,其中有50个问题,那我们应该怎么去把这50个问题最终解决呢? 最简单的做法是每次从中挑一个解决,最终总会把所有的问题都解决。这种做法操作起来比较简单,但效果会很差,为什么呢? 第一个原因是没有区分问题优先级,所有问题都一视同仁,没有集中有限资源去解决最重要或者最关键的问题,导致最后可能出现做了大半年,回头一看好像做了很多事情,但没取得什么阶段性的成果。 第二个原因是没有将问题分类,导致相似问题没有统筹考虑,方案可能出现反复,效率不高。 第三个原因是会迫于业务版本的压力,专门挑容易做的实施,到了稍微难一点的问题的时候,就因为复杂度和投入等原因被搁置,达不到真正重构的真正目的。 以X系统为例,在我加入前,其实也整理了系统目前存在的问题,大的项包括: 可用性、性能、安全、用户体验等 ,每个大项又包括十几二十个子项