Handling Tech Debt ‘later’ Means ‘never’

Tech debt. It’s something that we all need to do to make our work cool. If we want to deliver value in the future we need to ensure that our work is of appropriate technical quality to provide the foundation for our features.

To put it another way, you need to sow seeds in order to have crops next season to harvest.

”I have no idea what the last line even means”

Leaving Tech Debt For Later. What Is The Crime?

A good to great developer who will look at the code and say:

I’m going to take this opportunity to fix this tech debt.

We can compare and contrast this to a less-than-great developer who might say:

I’m going to do the essential work to implement this feature.

“In my experience leaving tech debt for later means leaving it for never. 

The teams I have worked for vary in strategy. Let me walk you through a couple of examples”

The Proactive team

“Before the messy conclusion of this story, my colleague and I worked hard to clear tech debt. We enjoyed updating code and improving code each sprint.

What else do coders do on a Friday afternoon other than improving code? We loved it, but I fear we are in the minority”

This cycle of improvement became embedded in the way we worked. It was simply something we did and a challenge to keep up the standards in the codebase.

“I have to admit the coding wasn’t perfect, but we worked to improve the work we did over time. This meant that we had a record of cutting down defects”

The procrastinating team

“I hate those who avoid work.

I know some might ask whether this is some sort of joke because it’s from someone who writes blog articles instead of coding.

We have one sprint in four to tackle tech debt. The result of this is that we all put our efforts into developing new features and squashing those bugs.

Since we don’t always get everything finished in any particular sprint (hello, slow testers) we tend to push this feature work into the tech debt sprint.

This means we end up never completing any tech debt!

The team’s solution is that we ‘fake’ the stats by tagging feature work with a tech debt tag in JIRA. That’s nice for everyone as it looks like we are doing work”

The impact

“Honestly, I begin to understand what is going on. Most people who work programming and developing software do not actually care about the quality of their work. Unfortunately, the chickens are coming home to roost as the mountain of tech debt is building up to such a point it’s impossible to develop new features.

The most important part of our codebase is untouched since 2017. It’s awful and introduces bugs into code but don’t worry we all simply blame the ‘previous coder’. We are an awesome team”

Conclusion

When you leave tech debt to later that simply means you aren’t completing work to make things better. Some might say you’re making things worse.

If you like software development you owe it to yourself to make things better.

“So do that”

Previous
Previous

We Need to Stop Upgrading Our iPhones

Next
Next

I Get It Now. I’m a Software Developer Miner