Mexico Insurance Online

Rebuild vs. Refactor

Rebuilding vs Refactoring is an argument as old as software itself, and Mexico Insurance Online is no except.

Rebuilding means starting from scratch with an entirely new application, and building from the foundation up. Refactoring is the opposite, taking your existing application and “fixing” it.

Many websites and consultants will try to get you to shy away from rebuilding because it is expensive in both time and money. You’ll probably hear phrases like, “there is no bad code”, or “never throw away code”. No matter how badly you bang up a car, you can always fix it; but will it ever be the same? It all comes back to “don’t reinvent the wheel”. In this case, you have a wheel, don’t build a new one.

Alternatively, refactoring your application allows you to keep your existing code, but Make It Better™. Refactoring yields many of the same benefits as a rebuild, but you may be able to see the benefits right away. The downside to refactoring is the code you encounter in a non-software business. If you’re lucky, your business has grown since you first built your application. New features were added at a feverish pace with no regard for the quality of code, after all the due date was a firm “Yesterday”. And why should you be worried about your application, you don’t sell software, you sell Widgets! This means that there are some deep, dark, hacks going on in that application. And since you’re refactoring, you probably won’t be rid of them for as long time.

So what did Mexico Insurance Online decide? Other factors in the business, such as wanting to expand our IT department and wanting more robust (business-friendly) documentation, swayed the decision firmly into Rebuild territory. Our current system runs on a language that is losing support quickly, and a framework that was born of an age when PHP was the “New Hotness”. As a result, we’ve decided to rebuild in a more modern language and framework.

This isn’t to say that refactoring wouldn’t be good for your business, but it just wasn’t the right fit for us.