What is technical debt and how can you avoid it?
What is technical debt? Technical debt is essentially the cost you incur over time for having imperfect code.
Imperfect code will arise for a number of reasons, for example, adding open-source components to your website rather than coding them yourself (such as a plugin) or rushing to launch a new webpage in time for a strict deadline and having to implement a less-than-ideal solution to get the job done in time. Even working with new web developers can contribute to technical debt as different coding styles and voices can result in clashes.
It is important to highlight that none of these examples shown above are bad on their own, however, the accumulation of imperfect code will incur technical debt and, if not managed correctly, can lead to a significant cost in the future. In fact, Stripe estimates technical debt alone has a $3 trillion impact on global GDP.
The bad news is there is no way you can entirely avoid technical debt unless you never make any changes or bug fixes on your website which, of course, is not advised. However, the good news is that there are steps you can take tominimise your technical debt.
1. Think carefully about working with multiple web developers over time
As the common saying goes, ‘too many cooks spoil the broth’ and that is exactly the case when it comes to coding. Coding is a language, and different web developers will have different coding styles and may achieve the same outcome with different coding solutions. What one developer may think is a perfectly clear piece of code, another web developer may look at and have no idea what it does.
Technical debt as a result of clashing coding styles is more common amongst larger teams and can be minimised by working with smaller web development teams to reduce the number of heads and coding styles involved.
2. Keep a detailed log of your web updates
Since one web developers idea of perfectly clear code may be hard to decipher for another, keeping a log of any code changes is not only beneficial for tracking and accounting for your technical debt, but it can also help other web developers better understand your site’s code.
The absence of any notes can cause real problems and make the cost of technical debt imminent when you no longer have the previous web developer to consult and your current team cannot make sense of the code in front of them.
3. Maintain your website in the backend
Improper maintenance of the backend of your website, such as not staying on top of plugin updates, can be a significant contributing factor to technical debt, so it’s important to install any new updates as they become available.
Take this example, you find a new plugin you want to install but it requires the latest version of WordPress. If you have themes and plugins on your website that haven’t been kept up to date, these may not be compatible with the latest version of WordPress. Now the relatively simple task of installing a new plugin has become a much more complex operation of updating all existing plugins, likely needing to rebuild areas of the site to keep things working smoothly, and re-testing your entire website.
4. Consider purposeful technical debt
As we mentioned earlier, imperfect code and technical debt is not necessarily a bad thing, it is just something to be aware of that will need to be repaid in the future. If you are under time pressure for a hard and fast deadline and you’re considering installing an open-source component rather than coding it directly yourselves, there is nothing wrong with this. However, it is useful to acknowledge the less-than-optimal solution and accept that this area of code may need to be revisited and rectified in future.
To wrap up, technical debt, although not severe, is a very real problem that any business with any type of website or digital software needs to be aware of. How you manage and minimise it can help reduce future costs of repaying technical debt so we hope that these tips are useful and enable you to reduce the impact of technical debt on your business.
If you are unsure how to handle technical debt, don’t hesitate to chat to our team for advice.