我觉得可能还是要细分。
遗留系统,如果一切运行正常,本来就没必要升级维护。
需要维护了,一定是有了新的需求不能满足。
那重点还是应该看看新的需求有什么问题。
比如,一个系统,原来预设承载20w用户,目前用户数达到100w了,性能出现瓶颈,那这个是一个性能问题,可以考虑不动原系统,而是购买设备,把原系统Copy4份,再在Server前级上做个动态负载均衡,就解决问题。
如果是缺乏某个功能,那这个功能完全可以单独开发一个Service,放到另外一个Server去跑,最后在遗留系统上添加一条信令,把该功能转向到新的Server去处理就好了,也没必要动原有系统。
做了这么多年程序,越来越觉得商业软件的开发,其实测试比开发还重要。稳定性压倒一切。
单机系统也差不多,就是尽量不要动已经成熟的模块。
一个系统,做出来,可能三个月就好了。
但要是能宣布满足需求,稳定运行,达到运营级的产品,不试运行一年以上,恐怕谁都不敢说这个话。
因此我觉得,商用软件,最值钱的,就是这个长期运营的稳定结果,而不是软件本身。
因此,我们对于已有系统,原则上只做增量维护,对于新增功能,或者超出原有设计的loading,都只做分流和增补,永远不会去打破老系统的平衡性和完整性,这才是一个慎重的解决之道。
对于遗留系统,我建议首先尊重其成果,再谈如何增补,永远不要删改。
毕竟,每个公司都有自己的积累,我们新进公司的新人,其实是用这些老系统赚的钱在养活,总不能自己砸自己家的锅吧?
呵呵,一家之言哈,欢迎大家批评。

转载于:https://blog.51cto.com/tonyxiaohome/198493

关于遗留系统维护的讨论相关推荐

  1. 软件架构乱弹——问题域及其解决方法

    作者:Anders小明 (2007.12.14日补充更新了部分内容,其中有关Web网站性能特点部分内容来自网络) 一.什么是架构 1. 和架构相关的几个问题域 架构需要解决的非业务问题域包括如下: A ...

  2. 50 年的软件开发经验带给我的 63 个启示

    技术圈能够从业 50 年的开发者显得弥足珍贵,本文作者 Karl Wiegers 就是这样一位有着丰厚经验的软件行业从业者,在过去 50 年里,他积累了 63 条启示,并将其梳理分享出来,希望对你有所 ...

  3. [Client]前端代码规范 及 最佳实践

    前端代码规范 及 最佳实践 2014/10/29 | 分类: WEB前端, 工具与资源, 开发 | 0 条评论 | 标签: 代码规范, 前端开发, 最佳实践 分享到: 62 本文作者: 伯乐在线 -  ...

  4. [转载]前端代码规范 及 最佳实践

    http://blog.jobbole.com/79075/#_general_practices 本文作者: 伯乐在线 - 老码农 .未经许可,禁止转载! 欢迎分享原创到伯乐头条. 本文来自 Iso ...

  5. if 我是前端团队 Leader,怎么制定前端协作规范?

    点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Nothing in this world no wounds people ...

  6. 前端代码规范及最佳实践

    本文来自 Isobar公司 的 github repo 中文版 翻译: @老码农的自留地 概述 本文档包含了Isobar公司的创意技术部(前端工程)开发web应用的规范.现在我们把它开放给任何希望了解 ...

  7. 前端代码规范 及 最佳实践

    本文来自 Isobar公司 的 github repo 中文版 翻译: @老码农的自留地 概述 本文档包含了Isobar公司的创意技术部(前端工程)开发web应用的规范.现在我们把它开放给任何希望了解 ...

  8. 2017 CIO展望:新IT运营模式的5大元素

    2017年CIO展望可以总结为三个字--数字化.明年,公司将使用下一代技术改造产品,渠道和运营.与此同时,过去几年IT完成的所有工作不会消失,因此,正如老话说的那样,边前进,边构建. 在与全球数以百计 ...

  9. android中止线程_Android如何结束并重启线程? | 学步园

    相信开发过游戏的人都认识SurfaceView的双线程双缓冲机制.但一旦当前Activity退出到Home,再回到Activity便会报错:Thread already started. 寻找过网上的 ...

最新文章

  1. openstack-networking-neutron(四)--iptables
  2. create-react-app 构建的项目使用 mobx (说到底就是为了使用装饰器语法对 babel 做些配置...
  3. Spring Boot整合swagger2(生成有左右菜单式的api文档界面)
  4. html转机器语言,【转】HTML5的语音输入 渐进使用HTML5语言识别, so easy! – 文艺里的小清新...
  5. 二维树状数组(水题) POJ1195
  6. 转 把GIF图片转换成单个连续的图片 转 tif 等任意多帧图片转换bmp 或者gif等格式...
  7. php操作memcache的使用测试总结
  8. java修改request的paramMap
  9. Atitit 技术学习 的方法总结 attilax总结 目录 1.1. 跨框架 1 1.2. 跨语言学习法 1 1.3. 概念学习法 1 1.1 在比较中学习 多语言  2 1 1.3 .2 在历史
  10. Java方法 (含计算器代码)
  11. CSS - less
  12. 7-20 简单计算器
  13. 无法将“obj\Debug\net6.0\MvcMovie.dll”复制到“bin\Debug\net6.0\MvcMovie.dll
  14. 希望计算机在未来会变成啥样,人类的未来会是什么样?一个细思恐极而又非常现实的终极归宿...
  15. 什么是WinSxS?
  16. 三元一次方程组例题_三元一次方程组习题及解答
  17. java 泛型向下转型_Java向上转型和向下转型(附具体样例)
  18. 酷我车载版显示服务器错误,酷我云盘服务器异常
  19. harmonyos 2.0体验,Harmonyos 2.0
  20. 建立完善的员工晋升机制_建立合理的晋升机制,给员工发展的空间

热门文章

  1. 计算机机房建设标准.doc,计算机机房建设标准(部分2)
  2. 深入浅出理解神经网络召回模型的优势
  3. QList模板类常用接口函数
  4. 深入分析 Flutter 初始化流程
  5. 实现一个vue的图片预览插件
  6. 堆空间跟栈空间的区分
  7. 从视觉检测窥探人类大脑和数字大脑的差别
  8. Bzoj 2453: 维护队列 Bzoj 2120: 数颜色 分块,bitset
  9. [Java入门笔记] 面向对象三大特征之:封装
  10. 香蕉派路由功Openwrt、Android功耗对照測试