Categories of Technical Debt

There are many ways of categorizing technical debt. Here is just one way. I divide technical debt along two axes: intentional vs unintentional and known vs unknown. And I'll briefly…

Continue Reading Categories of Technical Debt

Avoiding Technical Debt

Is it possible to avoid technical debt when starting a new project? And if not, should we just give up? Or can we find a way of maintaining quality projects…

Continue Reading Avoiding Technical Debt

What Is Technical Debt?

Have your developers ever mentioned technical debt? Or are you wondering if you have technical debt? Are you interested in doing something about it? Is it even necessary to do…

Continue Reading What Is Technical Debt?

Strangle Your Legacy Code

So you've decided to do something about that piece of legacy code that is taking too much of your team's time. Then you should be aware of the strangler pattern.…

Continue Reading Strangle Your Legacy Code

Monitoring Legacy Applications

So you have a legacy application with quite some technical debt? But you've started turning the ship around and the situation is improving, right? If you're planning on increasing the…

Continue Reading Monitoring Legacy Applications

Timed vs Scoped Releases

I want to add one more thought to my previous post on how to achieve weekly (or faster) releases. It's about the difference between timed releases and scoped releases. A…

Continue Reading Timed vs Scoped Releases

When Not to Refactor

There are cases where it makes sense not to touch a legacy codebase with lots of technical debt. Unlike real debt that must always be repaid, technical debt doesn't always…

Continue Reading When Not to Refactor