3 ms·
I’ve been working on a project at work to try to measure the interest paid on technical debt. And I think developers are the only people who can really measure
by erikpukinskis 6y ago
I’ve been working on a project at work to try to measure the interest paid on technical debt. And I think developers are the only people who can really measure that. Their time is the cost. The only way to understand how much of it is paying principal, how much is paying interest, and how much of it is just “buying stuff we actually need” comes down to having that conversation with the engineers.
One of the big things I’ve learned speaks to your point though: it’s not a natural way of thinking for most engineers. There are a few who are “natural complainers” who can tell the difference between “work that needs to be done” and “work I have to do because someone took a shortcut in the past”.
But actually many of the “natural complainers”, while they have strong “this is insane” detectors, they often complain about anything that’s not perfect. But that’s not exactly what we want. Many things are not perfect but they’re pretty easy to work around. That’s not an interest payment it’s just an annoyance.
And on the other side of the spectrum there are a lot of coders who have a “whatever it takes” mindset, and they can’t really perceive interest paid at all. To them, every necessary thing is reasonable. If it has to be done it has to be done. They don’t really think about how it could be done more easily in a different world... because we’re not in that world! Why think about a hypothetical!
So, I have some more thinking to do about how to teach folks to think critically about their time and past decisions.
And the other big learning I got is the recording of interest payments is only useful if it’s somewhat regular. So I think it has to be an official, required part of the production process. If people have to remember to report on interest paid, they just won’t.
The project is on pause right now, but I’d like to give it another shot with those things in mind. I think I’m going to wait until a time when it feels like it fits in with the needs of the managers though. Otherwise that second piece of “part of the process” is gonna be hard.
But if I can at least put an “interest paid” number on some tasks, my hope is that will provide a good way to identify which projects will “pay off” if they are “paid off”. Basically I want a vaguely rigorous way to put refractors and infrastructure work up against new features so they can be compared 1:1 during planning.
Also feel free to email me if anyone is interested in something like this at their company.
- deleted 6y ago[deleted]