[Home]Strangling Legacy Code

wiki home | RecentChanges | preferences | index | random

ABSTRACT

Hard as it may be to believe, Java has been around long enough for legacy Java systems to exist. As practices have matured and better frameworks have become available, it has become more attractive to rewrite legacy Java systems, using new techniques and tools. Such rewrites are done in order to improve the "-ilities" of an application (maintainability, testability, scalability, etc.). However, rewrites are expensive and risky, and it's just plain impractical for a development team to "go dark" for any signficant amount of time during redevelopment.

What is needed is a set of techniques and processes to replace parts of a legacy system while keeping the old parts running smoothly alongside the new. As an indication of an idea whose time has come, in the Summer of '04, Martin Fowler published an entry to his "bliki" proposing an approach called, vividly, "StranglerApplication?" (http://www.martinfowler.com/bliki/StranglerApplication.html). At a very high level, Fowler described how a new system can grow "around the edges of the old", eventually overtaking and replacing it.

The presenter's team had started piecewise-rewriting a legacy Java application months before Fowler published the StranglerApplication? article. Since that time, the team has found the metaphor to be very appropriate. This session is a case study in strangling this production application.

Strangling a legacy application requires more than just a few development techniques. It requires attention to processes and careful decision-making. Accordingly, this session covers reasons to strangle, team philosophies, methodology, strangling techniques, lessons learned, and success indicators. In this session you'll learn pragmatic approaches to strangling legacy code from a practitioner who's been there, is doing that.

POWERPOINT PRESENTATION

Strangling Legacy Code

ARTICLE FROM BETTER SOFTWARE MAGAZINE

Strangling Legacy Code


wiki home | RecentChanges | preferences | index | random
This page is read-only | view other revisions
Last edited March 16, 2013 1:05 pm by Mike (diff)

Search:
Site Meter