On this page we will gradually add explanations for Jargon terms as they come up. Hopfully this will be a useful resource to help with understanding what we mean when we include technical or jargon terms in our communications with you.
When working on any kind of project, it is often the case that speed is prioritised over perfection.
The outcome of this is that code or configuration that is below minimum quality levels is allowed into the project. The expectation is that this is a short to medium term decision and the situation will be improved in the future when there is the available time.
The phrase "technical debt" comes from the fact that this is a bit like taking out a financial loan to assist you with short term requirements, on the understanding that you know you will have to pay it back in the future.
Also like a financial loan, it is understood that whilst technical debt is in place, it has an ongoing cost - a bit like interest on a loan. This cost can be in the form of extra developer time requirements to work around difficult code, more difficult deployments and other things that have a time and financial implication.
Some examples of technical debt are:
- code which has known bugs
- code which is hard to understand
- code which can't scale up with demand
- getting lots of noise in log files
- things which require active maintenance such as clearing up a drive's files
Like normal financial debt, this can be a useful thing and is not always to be avoided, and even sometimes is unavoidable to get you where you need to be, but you do need to be mindful that it's there. Each bit of technical debt will need to be repaid in the long term, or will have small incremental costs until it's resolved.
As long as everyone is clear that technical debt is being taken on and what the impact is, then it is perfectly fine to work with it. We avoid taking on tech debt unnecessarily, and we'll usually flag up when we think it's being taken on, and allow you to decide if you'd like to change course or are happy to proceed with a full understanding of what's being taken on.