Words: Technical Debt

I think it will be quite fun for the general public to get a glimpse of the tech terms we often use in the IT world, whether they're engineering jargon or management buzzwords. Let’s start with a big one: Technical Debt.

Technical debt is a great starting point because it often goes unnoticed in many software development projects.

In my own words, technical debt occurs when shortcuts are taken in the software development process due to resource constraints—whether it's time, manpower, or even knowledge limitations. These shortcuts could include anything from skipping unit tests to using a temporary fix that isn't scalable. While these shortcuts might save time in the short term, they accumulate over time, making future software maintenance or modernisation more difficult and costly (e.g., slower development cycle, increased risk of bugs). 

You can check out Gartner's definition here: Why and How to Manage Technical Debt and Stack Overflow take here: Stop saying “technical debt”.

In my experience, it’s almost impossible to avoid technical debt entirely during software development. This challenge is closely tied to the difficulties in accurately estimating development effort and timelines (a topic for another day). Often, compromises must be made to adapt to changing expectations and tight schedules.

However, while some level of technical debt is inevitable, it’s never too late to address it. Once recognised, you can take steps to reduce it. One approach is to dedicate a sprint or milestone solely to addressing technical debt. By treating it as a priority rather than a minor task, you ensure it gets the attention it deserves.

Comments

Popular posts from this blog

Words: You Aren't Gonna Need It (YAGNI)

Words: Domain-Driven Development

Words: Chaos Engineering