当敏捷开发遇上了千年老怪的老系统....

敏捷开发中,当必需和没文档,没单元测试的老系统共舞时,就宛如是一场陷入泥沼的恶战、恶梦...... 

在敏捷开发中,当必需和老系统奋战时,光只是 “看” 老系统的源代码,不仅耗时,耗尽体力,更是完全无效的;完全无法梳理清楚老系统中的业务、代码逻辑与相互间的依赖。

这世上永远是极复杂的问题,却只需极简单的解决方案……

① 将在老系统上所需做的事;如:搬迁老系统的业务到新系统上,在老系统上加新特性、新功能……;均划分成 User Stories。

② 依照每个 User Story的目的,“直接” 修改老系统上的源代码。

③ 编译、执行老系统;此时应该会出现许多 “执行错误”。

这些编译、执行上错误的信息,将会是最珍贵的线索; 能让我们知道,要在老系统上完成所需的 User Story 开发, 则所需的 “前置条件”、“依赖”、“业务流程 (逻辑)" 是什么 ?。

“要搞懂老系统,便必需要与老系统的源代码做第一类的接触;直接修改老系统的源代码;别只是“看” 源代码。”

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术

从分布式一致性谈到CAP理论、BASE理论!

在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。

682
来自专栏北京马哥教育

基础拾遗--【转】性能测试的主要概念和计算公式

PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧...

2838
来自专栏喔家ArchiSelf

探索嵌入式应用框架(EAF)

EAF是Embedded Application Framework 的缩写,即嵌入式应用框架。嵌入式应用框架是 Application framework的一...

443
来自专栏Java帮帮-微信公众号-技术文章全总结

研究微信即时通讯的服务端、朋友圈、红包、推送等方案

即时通信:前端获得消息发送到服务端,服务端处理后通过推送的方式,给到接收方;Android使用长连机制,联通网络长连十几分钟,电信仅五六分钟,因此需要根据测试的...

2743
来自专栏EAWorld

微服务模式系列之三:API网关

译者自序: 熟悉我的朋友都知道,我很不喜欢翻译东西,因为在两种语言的思维方式之间做频繁切换对我来说是件很痛苦的事情。但是这次不一样,公司和同事的大力支持降低了我...

2584
来自专栏企鹅号快讯

CRM重构之——微服务设计导读(一)

在介入正题前,想谈一下如何阅读,因为技术类的文章虽好,但需要一定的门槛,而且会比较枯燥,读后可能很快就会忘记读了什么,只记得读过。 导读 阅 带着兴趣 带着兴趣...

2329
来自专栏Java架构

学Java分布式和高架构,必懂的两大知识点!

2174
来自专栏Java架构师学习

Java开发必读--初识微服务一定要阅读这篇文章微服务是什么?

或许在座的高朋了解过其概念。个人认为,与其说微服务是一种技术,不如将其定义为一种架构,而架构则是“技”的实现与“术”的策略相辅相成。“术”的策略需要分析使用场景...

611
来自专栏美团技术团队

美团点评智能支付核心交易系统的可用性实践

1627
来自专栏架构师小秘圈

淘宝高可用高伸缩高性能框架之实现

一,应用无状态(淘宝session框架) 俗话说,一个系 统的伸缩性的好坏取决于应用的状态如何管理。为什么这么说呢?咱们试想一下,假如我们在session中保存...

3898

扫码关注云+社区