We’ve written previously about how technical debt is defined. It’s usually discussed in a negative context – as an extra burden on the budget or as a secret that contractors keep quiet about so as not to discourage clients. However, we’d like to draw attention to its positive side.
When does debt (a loan) act as a lever?
Yes, we can use technical debt to our advantage. The situation is similar to a bank loan. If we take out a consumer loan without being aware of the risks, it will only increase our debt and reduce our purchasing power in the long term. However, if we make a fully conscious and informed decision to take out a loan for an investment, the return on which will be higher than the interest rate, then the leverage effect will work and we will gain in the long term.
It can be the same for software development. If, for example, we create a new service or function in the system, it’s possible that today we’re not sure whether it will meet the needs of users, fill a niche on the market, etc. In a situation like this, we can make some solutions simpler, cheaper and faster – create an MVP (minimum viable product) or PoC (proof of concept) – to check how users react to them and how they work in practice. However, you must always remember that doing it this way means paying interest – that is, in the long term, software built in this way will consume more time and money in total than if you had just built the final version.
The problem is also that with software, we never really know how the final version should look, so this approach is almost always the only one (and yet it’s not talked about). On the plus side, in this situation we can always disable the developed software and bury it underground – which usually is not possible with the loan.
For the sake of clarity, it must also be said that this approach is not always possible. We’re not always satisfied with creating a proof of concept. This is not possible if, for example, our task is to develop a system for handling payment transactions. In that case, the only way forward is long-term cooperation with the contractor and continuous delivery.
The competitive advantage
Technology develops at a dizzying pace. There’s nothing new in that. The companies that come out on top are those that are able to effectively maintain and generate a competitive advantage over the years. This is done by implementing new technologies, new software, and reacting to change faster than the competition.
For this, sometimes you need to increase your debt in order to take full advantage of a potential opportunity. This could be, for example, quickly developing a PoC for a new application which the competition doesn’t yet have. It could be using a new function or reworking the application interface to meet new standards faster than any other company on the market.
These are the perfect times to consider using an inferior, faster solution that will allow us to be first, that will allow us to quickly test our assumptions and ideas. After all, no one has the ability to predict the future and all we can do is quickly test our hypotheses against reality.
If it works – great, it’s worth investing in it further. If it doesn't work – we didn't waste a lot of time on it, we still have time to fix something and try again. If it still doesn't work – we have the conclusions from several tests and got a real market response. It's very valuable and usually well worth your time, as it leads to more projects, ideas and conclusions.