The fun part of migration efforts
October 27, 2008
There is one part of migrating to a new platform that I am truly enjoying — the cleanup work on the Notes/Domino system. I love taking an old, cumbersome app, and refactoring the code into a quick, simple design with significant performance and UI improvements. I can usually reduce the support needs at the same time, frequently reducing the headcount required to support the apps by well over 50%.
We end up doing this kind of refactoring on many apps before thinking about a migration because many of the apps have have devolved into such massive heaps of spaghetti code tht they need a good refactoring just to understand exactly what the current functions are. Once the refactoring is done, then we talk to the business about whether all components are still needed, and look at whether or not a change in a business process may allow us to simplify the app even more. What we find is that through this simplification process, the migration becomes only partially technical, but as often as not, a business transformation is the result of the technical work. A a chunk of the time, the resulting app is so easy to use and maintain that we just stick with it, and don’t migrate it after all.
Which leads me into my next train of thought – if the refactoring is what I enjoy, and what I excel at, why do I spend so much of my time on the areas that I do not?
So I am considering taking on side projects from other organizations. Seeking out other people, whether or not they are migrating, would would have an interest in hiring me to refactor their “ugly code”. For now, I am thinking just 5-10 hours a week on the side, unless someone has a project so major that it makes it worth switching to an independent consultant on a full-time basis.
So what do you all think? Is that something you would have any interested in contracting out?