美文网首页
遗留系统改造策略选择

遗留系统改造策略选择

作者: Huld多 | 来源:发表于2020-04-01 00:29 被阅读0次

    什么是遗留系统?

    遗留释义:

    (以前的事物或现象)继续存在;(过去)留下来:解决~问题。许多历史遗迹一直~到现在。

    如何判断这是“以前”,“过去”的系统?
    当我们去说“以前”,“过去”的时候,我们常常要表达的是,和“现在”不一样了,我们也不全部了解。因此,我个人比较倾向于定义遗留系统为:
    随着团队能力的提升,当团队发现做过的一些技术决策(系统架构,代码风格,技术栈,业务流程实现)可以做的改进时,或者项目的一些上下文已经丢失时,这个系统就是个遗留系统。

    是不是所有的遗留系统都需要改造?

    站在公司的角度,我们一般会把业务/产品分为4大类

    • 明星业务/产品 - 高增长率、高市场占有率的业务/产品,这类产品可能成为企业的现金牛产品,需要加大投资以支持其迅速发展。
    • 现金牛业务/产品 - 低增长率、高市场占有业务/产品,属于成熟期业务/产品,可以为企业提供资金,而且由于增长率低,也无需增大投资。
    • 问题业务/产品 - 高增长率、低市场占有率业务/产品,前者说明市场机会大,前景好,而后者则说明在市场营销上存在问题。
    • 瘦狗业务/产品 - 低增长率、低市场占有率业务/产品,无法为企业带来收益。对这类产品应采用撤退战略

    可以看出,如果我们的系统想要支持明星业务/产品,才需要进行改造。

    改造策略

    常用的改造模式主要有:

    • 修缮者模式
      对于现有系统新增一层进行封装,然后在保证新层对外提供功能不变的情况下,对系统内部进行改造,常用改造手法有:重构,模块解耦合,技术提升。
    • 绞杀者模式
      又称作“停止挖坑”模式,原有的系统停止更新和维护,新来的需求使用新的技术栈,重新实现。从而慢慢让新系统替代老系统。这个过程会比较长。
    • 拆迁者模式
      基于原有的业务,新写一套系统,然后,一次性将旧系统的数据,功能迁移到新系统上。

    策略选择的依据

    对于策略的选择,我们一般会进行2方面思考对比。

    • 改造完的收益VS不改造的收益
      • 市场响应力提高带来的收益
      • 系统质量提高带来的收益
      • 系统可用性好带来的收益
      • 系统开放性好带来的收益
    • 使用不同策略的成本对比
    修缮者模式成本 绞杀者模式成本 拆迁者模式成本
    了解现有业务的成本 原有系统新增功能成本 了解现有业务的成本
    新增测试的成本 新增功能实现成本 重写现有系统的成本
    读懂现有代码的成本 新系统和旧系统集成的成本 数据迁移的成本
    现有系统新增功能实现成本 两个系统同时演进的成本
    封装现有功能的成本

    相关文章

      网友评论

          本文标题:遗留系统改造策略选择

          本文链接:https://www.haomeiwen.com/subject/cdzwuhtx.html