• Pennomi@lemmy.world
    link
    fedilink
    English
    arrow-up
    51
    ·
    5 months ago

    It’s fine to do that if you’re pre-customer and you’re just dabbling with a new idea. Once you are ready to go public though you need to be stable and secure. The big problem is when people try to apply the same development philosophy between established software and pre-alpha software.

    • BleatingZombie@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      5 months ago

      I agree. It heavily depends on the “things” you’re breaking

      If it’s prod, that’s bad

      If it’s your “fuck-around” branch, go for it

    • OsrsNeedsF2P@lemmy.ml
      link
      fedilink
      arrow-up
      12
      arrow-down
      5
      ·
      5 months ago

      Once you are ready to go public though you need to be stable and secure

      Is that really true though? If you have a product people actually want, they’ll use it regardless of bugs

      • tatterdemalion@programming.dev
        link
        fedilink
        arrow-up
        8
        arrow-down
        1
        ·
        5 months ago

        That won’t be true once your competition catches up to you and your bug-riddled product is pissing off customers, pushing them towards your competitors.

        • OsrsNeedsF2P@lemmy.ml
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          5 months ago

          How much do you tolerate before switching sides? Think about Windows vs Linux. People don’t switch.

  • Agent641@lemmy.world
    link
    fedilink
    arrow-up
    35
    ·
    5 months ago

    Move fast, break things.

    Move slow, break things.

    Don’t move at all, break things.

    Maybe I’m just bad at CSS

  • dotslashme@infosec.pub
    link
    fedilink
    English
    arrow-up
    32
    arrow-down
    2
    ·
    5 months ago

    At work we have the following quote on the fridge

    “A ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality. His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot — albeit a perfect one — to get an “A”. Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the “quantity” group was busily churning out piles of work – and learning from their mistakes — the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.”

    We are a software development company and my reply to this was basically that pot making hasn’t changed in a long time, it’s basically shaping and firing clay. Software development is comparatively new and has a vastly more dynamic landscape.

    Also, the comparison is stupid because we don’t write code, realize it was shit and write a new one. If we did business like that, we wouldn’t be in business.

    • How_do_I_computah@lemmy.world
      link
      fedilink
      English
      arrow-up
      26
      ·
      5 months ago

      That’s a really terrible anecdote. Real life quantity group would find ways to do less and less for the same reward. You would end up with fifty pounds of clay with a fist shape indention. Call it a pot and be done.

    • TooManyFoods@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      5 months ago

      It seems like such a little story that it would probably have an origin. It doesn’t seem like the ceramics class, the people who created the story mentioned, ever existed. When asked, they said it was actually a photography class (from the professor Jerry Uelsman). I’d also argue that while that may hold true for learning skills (if it does) it doesn’t necessarily hold true for performing skills. Also I’d say the main reason it could work, is that it got them to actually do something.

    • yogsototh@programming.dev
      link
      fedilink
      arrow-up
      4
      ·
      5 months ago

      From my experience of boss looking at people working. Working hard is by a huge margin a lot better than working smart. Trust me I know my shit. Once I even wrote a formula in Excel! /s

      That being said with experience you stop using anecdotes, easy pre-made sentences like “premature abstraction/optimisation is the root of all evil!” and you understand that there are no generic solutions and you need, every time, to think hard about the best way to produce something relatively to the context and constraints which, most of them, aren’t technical but organizational and human related.

      And also, if you intend to work on a project more than 6 months. Quality is really worth it. The lack of quality works like accumulating mud. After a while, you are stuck, and the next step will require a huge amount of energy.

    • gravediggersbiscuit@sh.itjust.works
      link
      fedilink
      arrow-up
      2
      ·
      5 months ago

      Ah yes a quote about beginners rapidly gaining beginner gains by practicing really does apply to a group of professionals trying to do their job in a business /s

      It’s shocking the amount of morons people trying to do their job have to deal with nowadays. I’m sorry you have a colleague with the critical thinking ability of a punch drunk.

  • Grandwolf319@sh.itjust.works
    link
    fedilink
    arrow-up
    24
    ·
    5 months ago

    Controversial opinion: I think software moving fast isn’t a good thing.

    The more versions come out and the more focus there is on new features, the more half baked/abandoned the existing features become and there will be more vulnerabilities.

  • OsrsNeedsF2P@lemmy.ml
    link
    fedilink
    arrow-up
    12
    ·
    5 months ago

    Going slow doesn’t mean you don’t break things either. If you don’t want to break things, you need test plans, logging and alerts

    • masterspace@lemmy.ca
      link
      fedilink
      English
      arrow-up
      15
      ·
      edit-2
      5 months ago

      Meta’s philosophy has bit them before, but they at least do it better than anyone else. Other companies hear the Meta philosophy and their CEOs take that as an excuse to underfund development to the point of constant errors and shipping broken products.

      They don’t seem to realize that the reason that Meta can operate that way is because they are / were relentlessly focused on figuring out why things broke and then building out new products and systems to let them keep working fast and breaking things without their being a big downstream impact.

      They have incredibly robust testing, monitoring, and alerting systems in place for all of their products, including newly developed ones. They found it faster to work in a giant monorepo and share code, but they actually monitored and recognized when it scaled too big and was slowing development down and had teams building out custom version control software and virtual disk utilities to fix this (Microsoft did similar with Git when they moved Windows development to it), and when Meta found that coding in raw JavaScript and HTML was creating scaling difficulties with their app, they built React. Same thing with their customized version of PHP on the backend.

      I don’t think Meta’s impact on the world has been positive, and I don’t think they should move fast and break things from a product design and ethics standpoint, but from an engineering standpoint, I do have respect for how they have executed that philosophy, and think that literally everyone else who tries it fails because they view it as a way of cutting short term costs, instead of as a way to identify and build and fix long term infrastructure.

      • marcos@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        5 months ago

        The reason Meta could operate that way was because they were a platform for people sending funny texts to each other with no promises of security or privacy.

        By the way, even they don’t operate like that anymore.

        • masterspace@lemmy.ca
          link
          fedilink
          English
          arrow-up
          8
          ·
          5 months ago

          I’m basing that on my experience contracting there ~ 1.5 years ago. They’ve added new control systems to address things like the GDPR, but they are all still designed to be fully productized parts of their developer framework so that developers don’t have to think about them and can still move just as fast with product / feature development.

          And while their product market had a little bit to do with it, they quite frankly have buggy software in production for less time than most major SAAS vendors or contract built systems.

          • marcos@lemmy.world
            link
            fedilink
            arrow-up
            3
            ·
            5 months ago

            As you noticed, they have had a quality assurance structure for way longer than 2 years. They’ve had it for close to 20 years now.

            When they used to have this philosophy, they did always have something broken on their site, and go out of air once in a while. And they did benefit greatly from the speed they got from it, for a while, until it started being harmful.

  • itsprobablyfine@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    5 months ago

    These assholes are bringing this mentality to the infrastructure industry now. As little as it worked in software development I promise you it works even less in large scale construction. That’s why infrastructure engineers are required to be licensed, we tried this bs 200 years ago and shit literally went off the rails

  • jaark@infosec.pub
    link
    fedilink
    English
    arrow-up
    6
    ·
    5 months ago

    I much prefer “Move slowly and fix things” (I so wish I had thought of that myself but can’t remember where I saw it).

  • kamen@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    5 months ago

    I call bullshit. If you’re competent enough, the process of breaking things might actually let you learn stuff. And if you have a controlled environment, breaking things shouldn’t be an issue.