There is a lot of talk these days about technical debt and the evils associated with it.
While it is true that it can be a very negative force, it is also worth remembering that, when handled properly, it can be a positive force.
Like financial debt, technical debt can bring a lot of benefit to a business. Very few businesses can start trading without credit of some variety and keeping that credit to a minimum before income starts to be generated is the target of all businesses (unless you were a business in the dotcom bubble).
In technical terms there is a benefit associated with the building of all systems (whether this is actual physical income, increased efficiency or competitive advantage) and it often makes business sense to go into technical debt to get this benefit sooner.
However, there are also a lot of negative impacts associated with technical debt and these can come back to haunt you. The important part of this is to be aware of the technical debt you are taking on board, and do so by choice.
Here are some of the types of technical debt that may sneak up on you:
The departed genius
“x wrote this and no-one else understands it”
The next big thing
“x wrote this in a new tech that’s no longer supported, no-one else understands it”
The self sufficient developer
“x didn’t agree with / understand what y had done so he re-wrote the same functionality to run alongside it”
The uncommunicative developer
“x didn’t talk to y so didn’t realise they were working on nearly the same functionality so it is in there twice”
The grumpy developer
“x would never let anyone else see his code or work on his areas of the system”
The unhappy supplier
“That was developed by x before he fell out with the MD so we don’t have the source code and can’t make any changes”
In the next 5 posts I will go into some more detail about the types of positive and negative technical debt, so be sure to subscribe or check back soon!