It Gets worse before it Gets Better

As is the Season and many are getting sick I have been hit with a pretty bad sinus infection. I have none of the external symptoms but do have the constant feeling like I got punched in the face. Its not a pleasant thing and something that I need to slug though. Being a small business owner it seems that its hard to take the time to rest and recoup properly. Couple the sickness with a new desire to get in shape ( a constant battle ) I have taken any of the comfort foods out of my diet. No more coffee, pop’s or sweets of any kind. I find when i feel ill I migrate back to eating, however this time I have stayed the course and I am sure when this is all said and done I will be much happier.

Now being sick I did what most do, visit my family Dr. He prescribed be some drugs that I have to take for 10 days. During the conversation he listed out some of the side effects and the frequency that they occur. When I had the prescription filled the pharmacist also listed out some of the side effects and their frequency.

It seems while taking this drugs I happen to be in the group of 1 in 10 that get them so its been an uncomfortable recovery so far.

Where is all this sickness talk going, well I was thinking about how ironic it is to get better sometimes we need to get worse. This matches up well when it comes to managing legacy development projects where you are getting the code as a tangled mess.

During the process of fixing defects, and micro re-architecture the actual product can be come more unstable. However, with further iterations and a more disciplined approach the application can be be managed back into health.

In my experience I have found that many an application needs such care. A large portion have been written in such a way or with tools that did not promote good architectural design, or lead to maintainability or future extensibility. 

I am very happy that we as a developer community have tools now that allow us to shape and morph the legacy code into a more elegant design. Removing redundancies, adding logging, cleaning up resources, and refactoring to patterns are all tasks when taking on a legacy development project.

I have to say I do like re-architecture work. It allows me to take a important system for a business and make it better in the long run.