How to Pay Off Your Website's Technical Debt

Submitted by Sara Parks on 01/07/2014 - 09:02:am

Picture this scenario:

A company is working on a new website and everything is going fine until one day, you look at the progress of the website. The development team didn't respond to your list of requirements before starting work, and they are progressing rather quickly. You wanted a project timeline, but also wanted it done quickly and just let the progress continue. While it may seem to be saving time and money, you could pay for costly errors later down the road.

This website is riddled with technical debt, but it can be fixed. We will cover some of the sources of technical debt and possible solutions.

Sources of Technical Debt

  1. Picking a Quick Solution. While there is no hard and fast length of time that a feature install is going to take, there is a method to be followed to ensure security and scalability. A feature should be planned out and written according to best practices. This allows it to grow with the website and won't cause errors if integrated with other features.
  2. Not Enough Time for Testing. You have spent months on this new website and have a strict deadline. You want to demonstrate it at the next board meeting, so you scramble to release it. Inevitably, features break or pages don't load, so back to the drawing board you go. Features don't break without a reason, so either a feature merge was poorly tested, or the code was written sloppily. In the end, a deadline based on a successful website instead of on quarterly reports will bring better results and save money.
  3. No Planning for Future Maintenance. Software is never 'done' because technology is always improving and the company is always growing and adapting. Security holes develop, or compatibility issues necessitate upgrades. Assuming that it is done upon release is like saying a newborn baby never has to get a checkup.

Now you know that your company is one of the victims of technical debt, but you don't even know where to start to fix it. There are some simple steps to take to start on the process to recovery.

Where to Start

Remember to stay objective about your website. It may have been unchanged for years, but your company has grown (hopefully), and your website should grow with it. Here is a simplified process of how to go about fixing a website if you find it needs some serious help.

  1. Sing Kumbaya. Before assuming that you need a whole new team, do your best to improve communication with your current team. They have been with you this far, and a meeting may be just the trick to clear up issues.
  2. Don't Lock Your Office Door. A website is a team effort, and your developers need you as much as you need them. They need your feedback and review to make sure they understand your project requirements. Allowing time for them to ask questions gives them accurate feedback to create a great product.
  3. Go On the Hunt. If you have tried everything and decided that your team, whether in-house or not, is the problem then it's time to find a new team. Look for developers who use best practices in coding and have more experience with a complicated website. When finding a team, it is best to know how they compare to your previous team, so you know you're getting a good deal. 
  4. Don't Be Married. You have had this website for awhile, but if a new system is required because the old one has too many security holes or broken features, keep an open mind. It is important to do what's best for the company; sometimes that means saving money and starting with a whole new website and possibly a whole new team. Our team has actually taken over a few projects from other development teams unable to make it work, so we know how to handle this type of project for a successful turnaround.

Summary

Having a website that is drowning in technical debt is not the end of the world. There is a way to fix it, but remember to keep the project at arm's length. The idea is to have your website grow your company and not to keep the website at all costs. The first step is to work things out with your current development team by improving communication and project management. If that doesn't solve the problem, find a new team of more experienced developers who can fix your problem once and for all.

Do you have a story to share about a website project? Tell me in the comments!