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

遗留系统改造策略选择

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

什么是遗留系统?

遗留释义:

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

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

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

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

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

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

改造策略

常用的改造模式主要有:

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

策略选择的依据

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

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

相关文章

  • 遗留系统改造策略选择

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

  • 遗留系统改造-开篇

    遗留代码 从何而来 软件是如何演变成遗留代码? 初期,架构清晰,代码精炼,指点江山 中期,新功能简单在原有代码加上...

  • 使用CDC模式改造遗留系统

    项目改造背景及挑战 在我们经历的各种遗留系统改造之旅中,使用绞杀者模式[https://martinfowler....

  • 软件泥潭真体验

    众所周知,改造遗留系统并非易事,如果该系统没有良好的架构和编码,那么在这基础上做功能升级改造,往往比做全新系统更加...

  • 遗留系统改造-修改代码的核心原则

    前言 修改代码有非常多好的技巧,我们往往会被五花八门的方法所淹没,导致在正真需要的时候想不起来,或者在选择的时候无...

  • 遗留系统改造-理解代码并编写测试

    前言 当我们开发一个新功能的时候,也曾经有过深入了解遗留系统的冲动,但阅读那些错综复杂的旧代码让人感觉头痛不已——...

  • 遗留系统的服务拆分

    最近一年来,我所在的项目为一个传统行业客户的 IT 核心系统做遗留系统改造[https://insights.th...

  • swagger中文中的坑

    最近我改造了一个遗留的restful接口系统,没有文档,所以我打算加一个动态的api框架--swagger 添加的...

  • 在遗留系统改造项目,BA可以做什么

    前言 A一边看代码,一边感叹:真垃圾啊!这都能写出来!!旁边的B盯着屏幕,时间不知不觉过了1个小时,“是啊!这究竟...

  • 资源选择页文档

    背景:资源选择页改造项目中途转交给Native开发小组,接手开发对框架语法,业务需求理解很浅显,加上之前页面上遗留...

网友评论

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

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