As your developers are building your online platform or mobile app, you might acquire something called "technical debt". There's a chance that you'll never be told about it - and you won't even know what it is, so I wanted to write this article to make you aware of its existence.
What is technical debt?
There is no single way to build a platform or app. Like writing an article, people will approach it in different way, and as a result, the final output will achieve the same result but actually look different.
The choices made during development - either by accident or deliberately - create technical debt. Technical debt is the amount of re-work that you may have to do to your product in the future to get the functionality that you want.
Why does it happen?
There are lots of different reasons why technical debt gets created. Here are two that you're most likely to come across:
- Initial decisions related to the overall technical approach
- Incomplete or changing requirements
Both of these can create technical debt that has a great impact on your future plans.
1. Initial decisions related to the overall technical approach
Usually, you'll make a deliberate choice about how you will develop your platform or app. The overall approach taken can create technical debt.
For example, one way to build an online platform is to use an existing platform as the basis for your new product. Wordpress is a common approach. Alternatively, you can have a completely customised solution. They may both give you the functionality that you want, but there are pros and cons for each. For mobile apps, the decision is often between using a hybrid platform or building from scratch as a native app.
This technical decision is often based around money. You want to spend the least amount of money possible to get you to market, so that you can start making money. There are other factors too, but most will boil down to the initial costs and development time.
2. Incomplete or changing requirements
Developers can only make technical decisions about what they know right now. If you don't have a complete picture of what you want, or if you add or change something down the track, then there's a risk of creating technical debt.
The developers will craft a technical solutions based on the requirements that you give them. If you're thorough in defining what you want your product to do, and all of the nuances around it, the developer now has more information to work with.
Imagine you tell a builder that want a single-storey, two bedroom house - and then halfway through you decide you actually want a 2-storey house. All of a sudden, the builder has to change the way in which the house is built. Some of what has been built may stay the same, but there's a chance that some stuff may have to be ripped out and re-built.
What does it mean for you?
Some technical debt cannot be avoided. You don't know what you don't know. That becomes part of the cost of doing business.
Another part of technical should be a conscious and informed choice that you make. You may choose to go with one option because it gets you to market sooner. This reflects the uncertainty associated with building new products.
The final part is something that you can avoid. Be clear about what you want. Especially with an agile development methodology, developers focus on what's immediately ahead of them. It gives you some flexibility to change your mind. However, it creates technical debt. The best case though is for a developer to be aware of what you want from the very beginning. Any re-work is a cost to your business, and it's money that you could spend elsewhere.
With your new awareness of technical debt and how it is created, you should now be able to start a conversation with your developer that allows you to make informed and deliberate choices about your future platform or app.
Are you ready to turn your good idea into a great product?
My idea to launch checklist is your plain-English guide to getting there.
It’s available now for only $24.