Managing tech debt

Bouteiller < A2N > Alan
3 min readJan 24, 2024

--

Dall-e generated image

Okay, give me a super common situation in tech.

It starts with tech and finishes with debt 😇

Yeah, tech debt, the horror situation for any tech team 😱

Or — maybe not?

How to manage this kind of stuff? Build a pool with this dead code under it and forget it?

The first step is pretty simple: breathe — keep calm — this is fine

Dall-e generated image

Damn, this coffee is pretty good ☕

Oh sorry, I’m too relaxed. But, hey, you can be too 😉

Most of the time you don’t have the luxury to create good architecture or well-documented code. And that’s perfectly fine!

The priority is traction 🚜💨 you don’t want to have very clean code but 0 customers to enjoy it. And once you have income, you have time to clean up!

Ok, now you have money and a mess. How to proceed?

1 — Measure — not simple to measure this kind of debt, but find a way to measure it and stick to follow this measure over time.

2 — Time allocation — if you need to clean something, you need time, don’t you? It’s the same thing with tech debt. Agree, with all the parties, how much time you’re okay to spend on that task each week or each sprint.

3 — Repeat — didn’t see that coming, don't you ? 🙃 monitor your progress and readjust the time allocation according to your needs.

You can also add a 4th step: share and celebrate, but it’s up to you 😉

Ok now, the wolf in the sheepfold: Measure.

Some ideas:

  • If you use DORA metrics, you can extrapolate the debt measure. For example, if you have a high Change Failure Rate or a high Mean Time To Recovery, maybe it’s time to clean the code?
  • Use your tasks or issues tracker. Add a tag, like “debt”, ask your devs to tag the tasks that have debt and estimate them. Eventually, you’ll get a sum of these estimates and have a measure 🥳
  • Just ask. Who is the best person to know this debt? Yes, the devs. So, why not just ask on a weekly basis? Ask, note, and make a decision.

The only rule you have to follow for the measure is the following: be consistent. Do not change your way of measuring the debt, and measure regularly.

Oh! And a very important point: agree on the time allocation with your entire org. Not just the devs. Everyone has to know that you have planned work for this task and why you do it.

So don’t be afraid, take a measure, allow, for a start, 10 to 20% of your time, inform everyone, and adjust over time.

That’s all folks, thanks for reading :)

Click here if you want to learn more about DORA.

Don't forget to clap 👏

--

--