Mario spoke at Advanced Technology Days 19 conference

End of November in Zagreb always means another edition of the Advanced Technology Days conference. This year was no exception as it hosted conference’s 19th edition. Our CEO Mario Mucalo was a part of it, delivering a talk on technical debt.

How does technical debt get created?

Mario analyzed how technical debt comes to be and managed to identify four main issues that end up creating technical debt, each in it’s own different way. These are:

  • Unskilled development team

  • Evolution of technology

  • Change in the requirements

  • Speed of delivery

If you have an unskilled development team, then everything they do can create technical debt - simply because they don’t know any better. If they had more knowledge and/or experience, they could possibly architect something in a better or a more flexible or maintainable way. However, often due to lack of knowledge, they end up doing things in the only way they know how, which is seldom optimal.

Technology evolves and, when planning a project, you need to plan to keep track with it. Keeping up with the latest updates in technology is not something that urgently needs to be dealt with. However, if you neglect keeping up with technology for too long, it can become a difficult and time consuming problem. Basic example: Updating from .NET8 to .NET9 is mostly a simple, straight-forward task. But if your solution got stuck in .NET5 or .NET Framework then it is considerably more difficult. And the more you prolong it, newer tech comes and it becomes increasingly difficult.

If you’re working on an MVP for a startup, for example, then you have a limited scope of knowledge on a problem you’re solving. That means you’re solving for the problem you know about to the best of your abilities. However, as you learn more about the problem, you understand that your requirements need to change and other client needs need to be met as well. You can go about building on top of what you already have, but it is very often required to redo or refactor sections of what you already have in order to get a better base for future features.

And, lastly, sometimes you need to deploy something tomorrow because of business needs of stakeholders. In this case both you and the stakeholders are aware that you’ll end up delivering something ugly, unmaintainable that will probably be thrown away in the future and redone. And this is fine. But it is necessary that both the development team and the stakeholders are aware and book time in advance to clean it up.

Whose problem is this?

Technical debt is a business problem because it can make delivery of new features unpredictably difficult or even impossible. It can cause issues in production. It can slow operations and deliveries. While business stakeholders can play dumb and attribute this to “technical issues” and have the technical team deal with it, this is not the right way to go. Business stakeholders need to be aware of technical debt as a TODO item in the backlog list which does need to be taken care of and, together with the technical team, plan on how and when it will be repaid.

Technical debt is a technical problem because it was created by the technical team and needs to be dealt with by the technical team. The technical team needs to know what debt was created and have an idea about what needs to be done to repay it. Ideally they should have this well documented and kept in a clear backlog so that everyone is aware of what is happening.

How to repay technical debt

This was the most interesting part of the whole story and Mario shared a few pieces of advice on the topic:

  • Slowly

  • (unless you’re forced to, then as quickly as possible!)

  • Using the campground rule - always leave the code base at the same level of quality or (preferably) better than you’ve found it!

  • If you notice a code-smell but don’t have time to fix it today, leave an issue in the backlog

  • If you can, dedicate a sprint every now-and-then to repaying debt

  • Test coverage

  • Documentation

If you’d like more specific advice on the topic, please feel free to reach out to our team of experts and book a FREE 30 min call to discuss your problem.

Conclusion

The 19th edition of Advanced Technology Days was amazing. Of course, one of the main topics were AI models and LLMs of all sorts and sizes, and there were many interesting lecturers giving their views on various topics. Mario is proud to have been one of them.

A big shout out to the organization team and a thank you from Intellegens with a message: “Can’t wait to see you again next year for the 20th edition!

Next
Next

Mario spoke about Software Development at ZICER Startup Factory