• aghastghast@programming.dev
    link
    fedilink
    English
    arrow-up
    33
    ·
    4 days ago

    Test-driven development: You spend all your time building a gizmo to tell you if you’re on Mars or not. A week before the deadline you start frantically building a rocket.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      3 days ago

      TBF the analogy is especially strained for that one. Per another commenter, Boeing actually makes rockets with waterfall, but test-driven only really makes sense for software, where making local changes is easy but managing complexity is hard.

      Edit: Actually, there’s even software where it doesn’t work well. A lot of scientific-type computing is hard to check until it’s run all the way through.

      • fruitycoder@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        That’s where digital twin engineering HOPES to bridge the gap.

        There is definitely a contium of how long it takes to build and test changes where increasly abstract design makes more and more sense vs the send it model

  • 9point6@lemmy.world
    link
    fedilink
    arrow-up
    118
    arrow-down
    2
    ·
    5 days ago

    A software engineer was not involved in this if waterfall is painted positively.

    I think the last time I heard an engineer unironically advocating for a waterfall IRL was about a decade ago and they were the one of the crab-in-a-bucket, I-refuse-to-learn-anything-new types—with that being the very obvious motivation for their push-back.

  • SpaceCowboy@lemmy.ca
    link
    fedilink
    arrow-up
    11
    ·
    3 days ago

    Waterfall is more like: You want to go to Mars. You start to build the rocket. Managers that don’t know anything about building a rocket starts having meetings to tell the engineers who do know how to build a rocket what they should be doing. Management decides to launch the rocket based on a timeline that’s not based in reality. Management tries to launch the rocket based on the timeline instead of when it’s actually finished. Rocket explodes. Management blames the engineers.

    The various methodologies don’t actually change what the engineers need to do. But some of them can be effective at requiring more effort from management to interfere in the project. Bad managers are lazy so they’re not going to write a card, so they can be somewhat effective in neutralizing micromanagement. I say somewhat, because bad management will eventually find a way to screw things up.

    • Davin@lemmy.world
      link
      fedilink
      arrow-up
      22
      arrow-down
      1
      ·
      4 days ago

      Right. They design the whole rocket, spend years to build the rocket exactly according to the design doc, then the rocket explodes on the launchpad and they have to start all over.

    • AlternatePersonMan@lemmy.world
      link
      fedilink
      arrow-up
      24
      ·
      5 days ago

      So often it’s patience from stakeholders to allow for time to actually design and build the things, or willingness to admit the actual cost, or an impossible grand vision with an unqualified/understaffed team, and of course reprioritizing constantly as if it’s easy to resume later without paying ramp up.

      Don’t get me started on the constant detailed status reports…

    • JohnnyCanuck@lemmy.ca
      link
      fedilink
      arrow-up
      10
      ·
      5 days ago

      Yeah, it requires replacing the “you test the rocket” with “you test the rocket and it fails or doesn’t meet the updated mission specifications” and the “you go to mars” with “you want to go to mars”

    • Camelbeard@lemmy.world
      link
      fedilink
      arrow-up
      74
      ·
      4 days ago

      I’m getting pretty old so I have experienced multiple waterfall projects. The comic should be

      You want to go to mars You spend 3 months designing a rocket You spend 6 months building a rocket You spend a month testing the rocket and notice there is a critical desing flaw.

      You start over again with a new design and work on it for 2 months You spend another 6 months building it You spend 2 months testing

      Rocket works fine now, but multiple other companies already have been to Mars, so no need to even go anymore.

    • tyler@programming.dev
      link
      fedilink
      arrow-up
      13
      ·
      4 days ago

      pretty sure they’re saying waterfall for building a rocket because that’s literally how NASA builds a rocket, including the software. It’s terrible for building anything other than a rocket though, because the stakes aren’t high for most other projects, at least not in the way that a critical mistake will be incredibly bad.

  • magic_lobster_party@fedia.io
    link
    fedilink
    arrow-up
    59
    ·
    5 days ago

    Waterfall only works if the programmer knows what the client needs. Usually it goes like:

    • Client has a need
    • Client describes what they think they need to a salesperson
    • Salesperson describes to the product manager what an amazing deal they just made
    • Product manager panics and tries to quickly specify the product they think sales just sold
    • Developers write the program they think product manager is describing
    • The program doesn’t think. It just does whatever buggy mess the programmer just wrote
    • The client is disappointed, because the program doesn’t solve their needs
    • SlopppyEngineer@lemmy.world
      link
      fedilink
      arrow-up
      35
      ·
      edit-2
      5 days ago

      In terms of Mars

      • Client wants a robot to go to Mars
      • Project is budgeted and sold to send a Mars Rover
      • Work starts and after successful test the robot is shown to customer. Customer states he wants to send a Mechwarriors in a drop ship, not a little Pathfinder.
      • Panic, change requests, money being discussed, rockets are being strapped together with duct tape and the rover is bolted on an old Asimo that is being rebuilt into the smallest Mechwarrior ever the day before launch
      • Mech Asimo lands successfully, stumbles and falls on a rock after three steps
      • Customer disappointed
    • azertyfun@sh.itjust.works
      link
      fedilink
      arrow-up
      5
      ·
      4 days ago
      • Eventually Company decides “agile will fix things”
      • Developers are told to work agile but the only stakeholder they talk to is the PO, who talks to PM, who talks to Sales, who talks to Customers
      • PM&Sales don’t want to deliver an unfinished/unpolished product so they give a review every sprint, by themselves, based on what they think the customer wants (they are Very Clever)
      • A year or two later the project is delivered and the customer is predictably unhappy.
      • Management says “how could this have happened!” and does it all over again.
      • ToxicWaste@lemm.ee
        link
        fedilink
        arrow-up
        5
        ·
        4 days ago

        as someone who has made it through multiple ‘agile transformations’ in large companies: that’s how it usually goes.

        however, that is the problem with people being stuck in their way and people afraid of loosing their jobs. PO is usually filled with the previous teamlead (lower management, maybe in charge of 20 ppl). PM & Sales have to start delivering unfinished Products! how else are you going to get customer feedback while you can still cheaply change things? A lot of the middle management has to take something they would perceive as a ‘demotion’ or find new jobs entirely - who would have guessed that with an entirely new model you cannot map each piece 1:1…

        Given these and many more problems i have seen many weird things: circles within circles within circles, many tiny waterfalls… some purists would call SAFE a perversion of agile.

        the point is: if you want to go agile, you have to change (who would have thought that slapping a different sticker won’t do it?). the change has to start from the top. many companies try to do an ‘agile experiment’: the whole company is still doing what they do. however, one team does agile now - while still having to deliver in and for the old system…

        • madjo@feddit.nl
          link
          fedilink
          arrow-up
          3
          ·
          4 days ago

          I’ve seen so many companies force Agile without changing the management layer and style. Setting deadlines while demanding that teams work Agile. Insanity!

  • RizzoTheSmall@lemm.ee
    link
    fedilink
    English
    arrow-up
    38
    ·
    4 days ago

    What’s not covered is the 25 years of R&D in advance of waterfall project starting, or that it’s delivered 200% over time and cost due to those requirements being insufficient and based on assumptions that were never or are no longer true.

  • Digital Mark@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    11
    ·
    4 days ago

    Waterfall: Boeing/ULA does this. Their rockets cost $4B per launch, don’t work, strand astronauts. Maybe the next repair/test cycle, if management’s dumb enough to keep paying them.

    Agile at least launches something.

  • MTK@lemmy.world
    link
    fedilink
    arrow-up
    53
    arrow-down
    2
    ·
    5 days ago

    Oh yes, everyone know that waterfall works and the rest sucks, nice

    • limer@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      4 days ago

      A good team can make any of these strategies work. A bad team will make a mockery out of them all. Most teams are neither good or bad, and stumble forward, or backwards, doing the motions

  • makeshiftreaper@lemmy.world
    link
    fedilink
    English
    arrow-up
    37
    arrow-down
    1
    ·
    5 days ago

    More accurately the waterfall mission ends up on Phobos only to have to scramble to figure out how to land on Titan because the customer can’t tell the difference between moons

    • mmddmm@lemm.ee
      link
      fedilink
      arrow-up
      10
      arrow-down
      2
      ·
      edit-2
      4 days ago

      Scrum is not about any of the things that Scrum proponents claim it’s about.

      Specifically, it’s not about agility, it’s not about velocity, it’s not about quality, it’s not about including the “customer”, and it’s only about a kind of transparency that has absolutely no impact on the final product.

      But yeah, it’s about some kind of transparency.

      • Atomic@sh.itjust.works
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        3 days ago

        Specifically, you would have to put in effort to be more wrong.

        Go read the scrum manifest.

        In reality, companies always adapt for what they think suits them. Very rarely do you actually use scrum completely as intended, that’s fine. But you don’t blame the cow when the cook burned your steak. You blame the cook.

        • mmddmm@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          Oh, Scrum has a manifesto now? Where is it?

          Or you meant the Agile manifesto, that Scrum breaks half the items and does nothing about the other half?

          • Atomic@sh.itjust.works
            link
            fedilink
            arrow-up
            2
            ·
            3 days ago

            Perhaps poorly translated, they call it the scrum guide in English

            https://scrumguides.org/scrum-guide.html

            I don’t know what parts you are talking about since you’re not specific.

            Furthermore. Kanban is just a method of keeping track of who does what and what the progress of that is. You can use kanban in waterfall. You can use kanban in scrum. No one is just using kanban and nothing else. As your post seems to think.

    • boonhet@lemm.ee
      link
      fedilink
      arrow-up
      11
      ·
      5 days ago

      Must be OP trying to hide it, Toggl displayed it proudly. The author used to work for Toggl marketing and ask can be seen from this post, did an excellent job. He still has a webcomic, it’s just not marketing for Toggl anymore. Here it is

      As for bias - it’s a time tracking tool, but I don’t think they actually shill for waterfall, I think it’s just poking fun at the agile methodologies.