News for hackers. Stuff that matters.
Re:Musings on Tech Debt (2020) by PaulHoule on Sunday July 04, 2021 @07:36AM (#27728918)
Debt is a bad analogy because debt is socially controlled. It’s reported in the annual report of a corporation. Equifax estimates your individual creditworthiness, etc.

A lot of ‘technical debt’ comes from people not thinking or understanding. The one case I’ve seen it apply is where i make a change without unit tests and really do come back and write them later. In that case the cost of the tests is figuring how to write tests in some area of the code that I don’t know how to write tests and I feel rushed.

Re:Musings on Tech Debt (2020) by dgb23 on Sunday July 04, 2021 @08:38AM (#27729198)
It's less of an analogy on financial debt than it is just using the word more generally as in "I'm forever in your debt!" or "You owe me!". It is not always a financial statement.

The implication is that something needs to be repaid (again, generally speaking) later because a short term solution is being implemented now.

I think the reason the term "technical debt" has become popular, is because it speaks in the lingo of decision makers. The implication of "debt" is better understood than the specific technical and design issues we want to resolve.

Similarly "BigData" is more tangible for non-technical people than any of the more specific distributed storage and intelligence solutions. They don't and shouldn't care about the details, but they should understand that the undertaking is "big", as in requiring and providing a lot of resources.

Maybe a better analogy could be found by looking at the lingo of logistics, or any other field where continuously keeping things in order and re-ordering them is paramount.

Re:Musings on Tech Debt (2020) by foohoo_blue on Sunday July 04, 2021 @08:25AM (#27729138)
My opinion is that 'not thinking or understanding' the work shouldn't be labelled as technical debt. Technical debt should be a conscious decision about an implementation that needs to be revisited in the future, either for scalability, readability, extendibility etc concerns. Also, in that vein, not writing unit tests should not be considered technical debt, that is part of any implementation and should be factored into any completed work.

The lack of understanding or thinking that might lead to people re-visit code should be viewed almost as a defect, along with not having test coverage.

Therefore the term debt, I think, is a good analogy, because there is a conscious decision to accrue it. It should be reported regularly and monitored with the original decision behind it.

Re:Musings on Tech Debt (2020) by PaulHoule on Sunday July 04, 2021 @08:37AM (#27729194)
If it is ‘debt’ you actually plan to pay it.

Sometimes I’ve put off writing the unit test (in an area of the code that has been around for months or years w/ little or no testing.) and made a bug fix or small feature. I had a plan to revisit it when coming back to the same zone and did.

I’ll justify it like this. If a system is not well-modularized for testing and there isn’t a precedent for mocking or similar methods in that area, rushing to write tests can lead to test-induced design damage.

If I walk away from the code a bit somehow it gets reprocessed in my mind and in the meantime I read up on my tools and understand other parts of the system often I come back and find the tests are quick to write and not damaging.

That is, tests written hastily might not be a net positive.

Re:Musings on Tech Debt (2020) by dgb23 on Sunday July 04, 2021 @08:47AM (#27729248)
I like the term "design damage" in regards to programming. Reminds me of my father telling me to take care of my things, when I was a child.

It is much easier to clean up and order things if we do it continuously, because the implied "damage" is much weaker this way. If we think of programs as tools that need care, we might build things that have more longevity. It is also more fun to work with a clean and well ordered system of tools than with something that is messy and chaotic.

Re:Musings on Tech Debt (2020) by foohoo_blue on Sunday July 04, 2021 @08:55AM (#27729278)
"If it is ‘debt’ you actually plan to pay it."

Exactly that, and it should be a decision to accrue it.