Posted by andy in : Agile, Business Value, Refactoring on June 29, 2004Martin Fowler has blogged the idea of a Strangler Application based the work Chris Stevenson and I presented in our An Agile Approach to A Lagacy System paper.
Here are some interesting comments about our approach:
… Much of my career has involved rewrites of critical systems. You would think such a thing as easy - just make the new one do what the old one did. Yet they are always much more complex than they seem, and overflowing with risk. The big cut-over date looms, the pressure is on. While new features (there are always new features) are liked, old stuff has to remain. Even old bugs often need to be added to the rewritten system.
An alternative route is to gradually create a new system around the edges of the old, letting it grow slowly over several years until the old system is strangled.
The most important reason to consider a strangler application over a cut-over rewrite is reduced risk. A strangler can give value steadily and the frequent releases allow you to monitor its progress more carefully…
Add to del.icio.us ,
Digg this , No Comments »
Posted by andy in : Agile, Refactoring, Software on February 23, 2004I have been playing with XStream for converting java classes into xml.
We can convert a class such as this:
Error: Could not open NotVeryUsefulBean.java
into xml that looks like this.
Error: Could not open NotVeryUsefulBean1.xml
The xml is nice and clean. Like most implementations, XStream embeds the name of the class in the xml. This can cause problems when you rename a class, or move it to a different package. The xml could be on a customers’ machine, well away from my refactoring IDE. I have been bitten by this lately.
Then I realised that XStream has aliases. Joe added aliases to make it easier to read the xml. You have to map an alias to a class in your code. Here is an example of using a “MyAlias” for the “NotVeryUsefulBean” class.
Error: Could not open XstreamDemoUsingAnAlias.java
And the xml now looks like this
Error: Could not open NotVeryUsefulBean2.xml
Not a class name in sight. When I rename classes and move them into different packages, the refactoring tool will update the alias without breaking the xml. Nice!
Add to del.icio.us ,
Digg this , No Comments »