【架构设计】46-架构重构内功心法第三式:运筹帷幄

46-架构重构内功心法第三式:运筹帷幄

前言

通常情况下,需要重构的系统,基本上都是因为各种历史原因和历史问题没有及时处理,遗留下来逐渐积累,然后到了一个临界点,各种问题开始互相作用,集中爆发。到了真正要开始重构的时候,架构师识别出系统关键的复杂度问题后,如果只针对这个复杂度问题进行重构,可能会发现无法落地,因为很多条件不具备或者有的问题没解决的情况下是无法做架构重构的。因为,架构师在识别系统关键的复杂度问题后,还需要识别为了解决这个问题,需要做哪些准备事项,或者还要解决哪些问题。这就是下面要讲的运筹帷幄。

运筹帷幄

经过分析和思考,我们可能从100个问题中,挑选出了50个需要通过架构重构来解决的,其中一些是基础能力建设和准备工作,而另外一些就是架构重构要做的核心工作。有了这样一份表格以后,我们应该如何去解决这些问题呢?

最简单的办法就是每次从中挑一个解决,最终把所有的问题解决。这种做法操作起来简单,但效果很差。

  • 没有区分问题的优先级,所有的问题都一致对待,没有集中有限的资源去解决最重要或者最关键的问题,导致最后做了大半年,好像做了很多事,但是没有阶段性的成果。
  • 没有将问题分类,导致相似问题没有统筹考虑,方案可能出现反复, 效率不高。
  • 迫于业务版本的压力,专门挑简单做的实施,到了稍微复杂一点的的问题的时候,就因为复杂度和投入等原因被搁置,达不到重构的目的。

正确的做法是“分步实施”,就是将要解决的问题根据优先级、重要性、实施难度等划分为不同的阶段,每个阶段聚集于一个整体的目标,集中精力和资源解决一类的问题。这样做的好处是:

  • 每个阶段有明确的目标,做完之后效果明显,团队信心足,后续推进更容易。
  • 每个阶段的工作量不会太大,可以和业务并行。
  • 每个阶段的改动不会太大,降低了整体的风险。

具体如何进行“分步实施”呢?

  • 优先级排序
    将明显且又比较紧急的事项优先落地,解决目前遇到的主要问题。

  • 问题分类

    将问题按照性质分类,每个阶段集中解决一类的问题。

  • 先易后难

  • 循序渐近

    划分好重构的实施阶段后,需要评估每个阶段要耗费的时间,很可能会出现有的阶段需要1个月,有的阶段需要6个月,虽然有时候这是客观事实,但通常情况下,按照固定的步骤和节奏,更有利于项目推进。每个阶段最少是一个月,最长不要超过三个月。如果评估超过3个月,那就拆分为更多阶段。


   转载规则


《【架构设计】46-架构重构内功心法第三式:运筹帷幄》 孤独如梦 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
【架构设计】24-高可用存储架构:双机架构 【架构设计】24-高可用存储架构:双机架构
前言存储高可用方案的本质通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用。其复杂性主要在于如何应对复制延迟和复制中断带来数据不致的问题。对于一个存储高可用方案需要从以下几个方面分析: 数据如何复制? 各节点的职责是什么? 如何
2019-05-29
下一篇 
【架构设计】27-业务高可用的保障:异地多活架构 【架构设计】27-业务高可用的保障:异地多活架构
应用场景异地多活的关键点在于异地、多活,其中异地就是指地理位置上不同的地方,多活就是指不同地理位置上的系统都能够提供业务服务。判断一个系统是否异地多活,需要满足以下二个条件: 正常情况下,用户无论访问哪一个地点的业务系统,都能够得到正确的
2019-05-29
  目录