5 ways Drupal can prevent Technical Debt

Submitted by Sara Parks on 11/13/2013 - 03:37:pm

Technical debt is an issue that plagues most companies. It happens when priorities are not aligned and meeting deadlines is viewed as more important than having a well-designed website. This can have a huge impact on a Drupal site. Drupal give lots of intricate options to developers, but there are still best practices that help a development team avoid costly mistakes later on.

5 Ways to Avoid Technical Debt

  1. Realistic deadlines. Quality websites require lots of planning during the design and architecture phase. If a feature is configured quickly to solve a problem without knowing the real problem, the site won't accomodate updates or additions easily. A development team needs time to correctly build a website, especially a Drupal site, so it runs smoothly and is scalable.
  2. Accountability. Companies should have processes in place to review their website for technical errors that could cost them later. By monitoring it continuously with monthly or quarterly diagnostics, little problems are found and fixed before they pile up. Drupal allows for these tools to be configured on a site so errors are found.
  3. Cutting Corners. Expert developers follow best practices when coding and building a website. Best practices allow for the site to evolve and change easily later. Sloppy practices may technically get the job done in the short-term, but will cause big problems for long-term changes. Knight Capital paid millions in losses and fines for a problem that was ignored and could have been solved, had they taken the time, before it cost them big.
  4. Adequate Testing. Custom websites are, obviously, custom and, therefore, complicated. It is essential to have testing in place before deploying a website, so errors can be found without first costing your company millions. Testing highlights issues that were missed during development or need reconfiguring to better optimize with the rest of the site.
  5. Updated Code. The last one we cover in this post (this is not an exhaustive list) is refactoring. This fancy term simply reinforces the practice of proper code design. Pieces of code that are continually refined during a project make long-term changes easy because the code is more manageable and less complicated. Not refactoring periodically means a website's code becomes too large to trim down and it takes hours or days to fix it. This puts other projects on the backburner and slows productivity for the entire company.

Summary

Technical debt, especially with Drupal, is dangerous because of all the options developers have when configuring a site. Choosing a feature without considering long-term goals only delays costs instead of cutting down on them. Companies that choose to continuously work and monitor their website will save money in fixing costs and potential lost profits from frustrated customers.

 If you have another example, let me know in the comments! If someone you know would find this useful, pass it on!

Photo by Kenneth Lu