A client’s team spent a full week adding a CSV export to their admin panel. Two engineers, clear requirements, maybe a day of actual work. The rest of the time went to understanding existing code well enough to change it safely. That’s what I call codebase drag: when the codebase makes every task take longer than it should. It doesn’t show up in any dashboard or sprint report.

    • Ethan@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      “How easy is it to onboard?” is functionally equivalent to “How easy is it to understand?”. The biggest factor in maintainability almost always boils down to how easy it is to understand. So, difficult to onboard almost certainly means difficult to maintain, and thus is tech debt.

      • beeng@discuss.tchncs.de
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        2 days ago

        I see that as too idealist. When the rubber hits the road you cant spoon feed every newcomer with 100x docs per 1x code, so it’s inevitably going to be difficult for some to approach.

        So now cos it’s hard for somebody you assume there is debt?.. It can’t be infinitely easy.

        • Ethan@programming.dev
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

          If your project is easy to maintain (aka low tech debt) that means it should be easy to understand the overall structure and it should be easy to understand any given component. So a new dev should be able to quickly figure out what part they need to change and how to change that part.

          Some large, complex systems (like an OS) are unavoidably complex. Maybe it’s not fair to call that tech debt, but it’s still functionally the same thing - stuff that slows down development velocity due to difficulty of understanding. It’s just (probably) unavoidable given the domain.

          But the majority of software projects aren’t that complex. The majority of software is apps and libraries that aren’t terribly complex. Monsters like operating systems and million to billion user scale products are outliers.

          • beeng@discuss.tchncs.de
            link
            fedilink
            arrow-up
            1
            ·
            1 day ago

            So did we make it to “codebase drag” yet?

            Something that isn’t debt but is a headwind to making changes.

            • Ethan@programming.dev
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              If we’re talking about the Linux kernel or Netflix’s video delivery infrastructure, maybe. But the majority of developers are not working on those. And I’m still going to call it “unavoidable technical debt” because for all intents and purposes that’s what it is.