News for hackers. Stuff that matters.
Re:Using Technical Debt in Your Favor by allyjweir on Thursday March 22, 2018 @09:35AM (#16648482)
From my recent experience in a new team, this article strikes a chord.

Joining a team that is scared of technical debt and runs circles round themselves in a bid to avoid it end up producing more debt than they would otherwise. For example, making code overly DRY and wrong abstractions coupling unrelated parts of the system unnecessarily.

We must embrace the reality of technical debt. It is unavoidable and not something to be scared of. It can be managed by keeping things simple, clearly tested and keeping a cool head.

Re:Using Technical Debt in Your Favor by wvenable on Thursday March 22, 2018 @11:41AM (#16649561)
> For example, making code overly DRY and wrong abstractions coupling unrelated parts of the system unnecessarily.

That's just another form of technical debt. Over-engineering is also a well known cause of debt accumulation.

Re:Using Technical Debt in Your Favor by spdionis on Thursday March 22, 2018 @10:15AM (#16648809)
> making code overly DRY and wrong abstractions coupling unrelated parts of the system unnecessarily

I would say that's just bad engineering due to lack of insight or experience. DRY is the most simple and most dangerous principle (or "best-practice") of them all, because when it goes wrong it's the one that hurts the most.

Re:Using Technical Debt in Your Favor by allyjweir on Friday March 23, 2018 @04:19AM (#16656040)
Yes I agree. Bad engineering led them to not accepting the reality that technical debt is unavoidable. In a misguided attempt to avoid it, they overengineered ironically leading to more debt than might otherwise have accrued.
Re:Using Technical Debt in Your Favor by wes-k on Thursday March 22, 2018 @09:52AM (#16648604)
"premature optimization is the root of all evil" - Knuth
Re:Using Technical Debt in Your Favor by bcbrown on Thursday March 22, 2018 @07:36PM (#16653746)
One mentor of mine taught me the "rule of three". The first time you have to do something, you write it in-place. The second time, same thing. The third time is when you refactor into a common module all three components can use.

When you're writing it the second time, you're accruing technical debt. You pay it off when you refactor for the third component.

Re:Using Technical Debt in Your Favor by bpicolo on Thursday March 22, 2018 @09:58AM (#16648676)
I'd argue that "simple, clearly tested" code is the antithesis of technical debt anyway.