Schedule pressure often results in developers hacking to get the job done quickly. Unfortunately these hacks become the production code and do not get fixed. Over time this can make a legacy product difficult to work with. We call this Technical Debt. The best fix to this problem is to not resort to hacking. But tight schedules are a part of life. And bad code gets put into production. Once the damage is done, we need to regroup. Otherwise legacy systems will become impossible to maintain.
Here is a small process that can be used to address Technical Debt. Identify where you have the debt. Construct a business case to justify working this issue. Fix the debt. Rinse, lather, and repeat. The process sounds simple. But it might be hard to sell the business case. You should therefore try to choose the debt where you will get the biggest bang for your buck. It is also best to get team consensus before moving forward with a plan to remove the debt.
There should be a main point of contact for your technical debt reduction program. Here are some other tips to sell the idea. Produce tangible examples of how the debt affects the business. Make use of analogies to communicate the effects. It is easy to get into debt with software systems. Just like credit cards, it will take a big effort to get out of debt.
Be Brave to Get Work Done - I was woken up this morning from a call from work. Not a good sign. Apparently the customer found a potential problem in our delivery. I got on a conferen...