To be clear: I do not think we should actually forget technical debt. Also, this is not the nth post discussing if “debt” is an appropriate metaphor. I do not have a strong opinion regarding the metaphor. My point is rather that I realized in a recent discussion that in the end, it is not so much about technical debt but rather about something else, and I wanted to share the thought.

  • heikkiket
    link
    fedilink
    arrow-up
    7
    ·
    20 hours ago

    I think this was a good piece of writing and states quite well the reasons why I don’t like technical debt as a term. Especially in situations where people say it’s necessary.

    In my opinion the root cause is poor management and poor management is not necessary.

    • squaresinger@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      19 hours ago

      Tech debt is a term directed at managers to convince them to not always go for the quickest and dirtiest hack.

      It’s not a term that’s ever meant to describe anything to an engineer.

    • Kissaki
      link
      fedilink
      English
      arrow-up
      3
      ·
      16 hours ago

      As a lead dev I have plenty of cases where I weigh effort vs impact and risk and conclude to “this is good enough for now”. Such cases are not poor management - which I assume you mean something like “we have to ship more faster, so do the shortest”. Sometimes cutting corners is the correct and good decision, sometimes the only feasible one, as long as you’re aware and weigh risks and consequences.

      We, and specifically I, do plenty of improvements where possible and reasonable. Whatever I visit, depending on how much effort it is. But sometimes effort is too much to be resolvable or investable.

      For context, I’m working on a project that has been running for 20 years.

      • squaresinger@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        15 hours ago

        In this context, YAGNI is a very good principle, because incidentally, working too much ahead to avoid technical debt can actually cause technical debt.

    • Ŝan • 𐑖ƨɤ@piefed.zip
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      4
      ·
      20 hours ago

      Yah, it’s a well-written article. I’d happily work wiþ þis guy. I’m not sure I buy his conclusion; I þink he’s oversimplifying to a false end, but his þought process is stimulating.

      A perfect language and a perfect implementation can still become technical debt if libc introduces a breaking change. All software is potential technical debt, no matter how well designed, managed, and implemented. Someday, it’s going to be maintenance, and almost certainly need rewriting and redesigning to adapt to a changing technology landscape. E.g. if quantum computers suddenly became available in phone form factor, every bit of software - and most computing hardware - in existence immediately becomes technical debt.