The Scrum Dictionary defines technical debt as an “environmental Variable that includes deficiencies in the code, technical documentation, development environments, 3rd-party tools, and development practices, which makes it hard for the Team to modify, update, repair, or deliver the Product.”
What does that mean and why does it matter?
Technical debt is a metaphor that equates software development to financial debt. Imagine that you have a project that has two potential options.
One is quick and easy but will require modification in the future. The other has a better design, but will take more time to implement.
In development, releasing code as a quick and easy approach is like incurring debt – it comes with the obligation of interest, which, for technical debt, comes in the form of extra work in the future. Taking the time to refactor is equivalent to paying down principal. While this takes time in the short run, it also decreases future interest payments.
Your WordPress website’s software includes different features and functions, some of which are specifically tailored to your website. If that functionality is set up without considering future changes or looking at the whole picture, it may need improvements and changes in the future. Those potential changes are your website’s technical debt.
Is technical debt always a bad thing?
In a word, no. FirstMark explains the three main types of technical debt: deliberate, accidental, and bit rot.
Deliberate technical debt is when the developer knows there is a better way to achieve the objective, but purposefully chooses to go with a stop-gap, quicker solution right now, even though it will require a more comprehensive solution later.
The reasons for choosing the quicker, flimsier solution may be time-based. The faster choice would allow the website or feature to be launched more quickly. Or it may be more costly to implement the better solution, and there isn’t room in the budget at the moment. Choosing such a solution is acceptable under the circumstances. However, it’s important to be aware of the extra work the temporary solution may require later. When making this choice, we must acknowledge that we may have to spend time implementing a different, more long-term solution at a later date.
How does technical debt affect your WordPress website?
The other two types of debt mentioned above are what tend to happen with WordPress software and plugins over time. Accidental or outdated debt happens due to poorly thought out design, or design needs that change over time. “Bitrot” happens more organically, due to interactions among various moving parts which may break down over time.
This is part of the reason we encourage you to keep your WordPress software, plugins, and themes up to date. WordPress software, and the plugins and themes on your site are like cogs in a machine. The more there are, the more complex their interactions, and the more risk for one or more to become obsolete and start breaking down.
We encourage you to replace out of date plugins that are no longer maintained in order to prevent heavier technical debt recovery later. Not only are unmaintained plugins a potential security risk, they also cause websites to stop functioning properly as they become incompatible with the core software updates.
Al Tenhundfeld explains some of the effects of technical debt in his article about why seemingly simple changes take longer than you think they should.
When parts of your website start to break down, we can shore them up temporarily to keep things running for now. But in the end, that often means creating more issues that will have to be fixed later. Sometimes the best solution is a more comprehensive one that may require more time to set up, but will keep your website running smoothly longer.
The more such issues your website incurs, the longer even simple updates will take.
Imagine you have a leaky pipe in your kitchen. You can patch it for a while, and as a temporary solution, it works. But at some point, the materials used to patch the pipe may give way, and then you’ll need to update your installation by replacing the entire pipe. It’s the same with your website. Patch jobs can only hold up your website for so long before they require a more stable fix. In this case, that would mean updating your software, plugins, or themes to make sure they run smoothly together. Got it. Take me back up.
How can you avoid issues on your WordPress website?
With so many moving parts, you’re unlikely to be able to avoid technical debt completely. But you can reduce it with these simple steps:
- Keep your WordPress software, plugins, and themes up to date.
- Replace plugins that no longer function correctly.
- Take the time to map out the features you want, and find a long-term solution for them before starting work.
- Revisit your website on a regular basis to be sure it still operates properly, and if it doesn’t, get in touch with your web developer.