• IcyToes@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    This why any good engineer would bake it into their estimates when working around the area. I think Martin Fowler covers this in Refactoring. Eiher that or it was Kent Beck in TDD. Both books complement each other really well.

    A good civil engineer doesn’t ask a Project Manager if they can add in structural supports. A good software engineer shouldn’t ask to build things right.

    “Before we build x, we need to adapt the foundations by resolving x problem. If we don’t get this right, it’ll increase the chances of bugs surfacing in production and would make our team look like a joke.”

    • tiramichu@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      2 months ago

      Bad PO: “So it will only increase the chance of bugs if we don’t do it? There won’t necessarily be any. So we can skip it and just put the feature in.”

      I hope you have a good PO who is on the same page as you, but to a bad PO, it still sounds optional.

      A civil engineer doesn’t say “If we don’t put supports there’s a chance the ceiling will fall in and people may die,” because history has shown there are plenty of unscrupulous project managers who are quite willing to take construction risks, even with people’s lives. As a result of this there are now plenty of laws in construction, and a civil engineer has a convenient fallback of saying “If we don’t put supports it won’t pass inspection, and we won’t get paid.”

      Everyone wants to get paid.

      In software we don’t have many laws we can fall back on to justify our work, but we can still treat our tech debt and refactoring as if it’s equally mandatory.

      “To add feature x, we need to resolve problem y. The feature can’t be added until we’ve completed this prerequisite.”

  • cassandrafatigue@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    More like: you know when you get home after a long day and you just toss your clothes wherever, then when you wash them you just toss the clean clothes on your bed rather than putting them away properly because ‘i know which ones are clean’?

    Tech debt is all the minutes you spend in the morning and each week on laundry day, sniffing stuff to see if it needs to be washed, and the massive organizational task you’ll have to do if you ever buy lots more clothes or think you might bring company to bed or ever have to move to a new place.

    Or: ‘tech debt is at home in the mirror. That is its address.’ ‘yeah I hate kids.’