• aghastghast@programming.dev
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 hours 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.

    • Davin@lemmy.world
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      5 hours 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.

    • Camelbeard@lemmy.world
      link
      fedilink
      arrow-up
      51
      ·
      13 hours 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
      11
      ·
      10 hours 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.

  • RizzoTheSmall@lemm.ee
    link
    fedilink
    English
    arrow-up
    36
    ·
    15 hours 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.

    • mmddmm@lemm.ee
      link
      fedilink
      arrow-up
      11
      arrow-down
      1
      ·
      edit-2
      11 hours 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.

  • 9point6@lemmy.world
    link
    fedilink
    arrow-up
    116
    arrow-down
    1
    ·
    19 hours 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.

    • Cid Vicious@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      18
      ·
      13 hours ago

      Yeah, waterfall would be “you collect requirements to build a rocket to Mars, 2 years later you have a rocket to Venus and it turns out they didn’t think oxygen is essential, they’ll have to add that in the next major release.”

    • MechanicalJester@lemmy.world
      link
      fedilink
      arrow-up
      34
      ·
      15 hours ago

      Waterfall: Spend 10 years compiling written functional and technical requirements. Cancel the program due to budget overrun.

    • alykanas@slrpnk.net
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      17
      ·
      17 hours ago

      Of course because they don’t like being held to estimates and deadlines.

      …and when you agree to run it Agile, which calls for closer and continual communications with the users, the first thing they want is a rep to do it for them .

      • 9point6@lemmy.world
        link
        fedilink
        arrow-up
        25
        ·
        16 hours ago

        Yes, silly engineers that don’t like being held to unrealistic estimates and deadlines; typically the ones that arise at the start of a project where there are still who-knows-how-many unknowns to find.

        Waterfall is the most effective tool for software engineering in a world where the whole world stops once you’ve planned and only starts again once the project has finished—i.e. a fictional world that doesn’t exist. Literally every waterfall project I worked on back in the old days was derailed because something happened that wasn’t planned for—because planning for everything up front is impossible and planning for anything more than a handful of eventualities is impractical.

        Agile and subsequent methodology comes from realising that requirements will change and that you are better off accepting that fact at the time than having to face it once you’re at the end of the current road.

        Agile does not mean engineers talking continuously to the users, engineers are hired to do what they’re good at: engineering. Understanding user requirements and turning that into a plan has always been product’s job regardless of methodology, in agile and similar it’s just spread out over the duration of the project, not front loaded. Agile isn’t “make the engineers do every proficiency”.

      • LeGrognardOfLove@lemmygrad.ml
        link
        fedilink
        English
        arrow-up
        6
        ·
        15 hours ago

        No,

        Serious teams know that building big software is hard and that starting by having a set deadline is the first failure point of a project.

        Serious team wants a set budget and feature set. They also want a dialog with the aquiring party, because as you dig deeper in the software you uncover oddities. These oddities are more often than not a failure of the aquiring party understanding of their own business operations.

        And thus, a serious team will help the aquiring party refine their business process by either removing useless steps, adding missings steps or changing a step in the overall workflow. And that’s were the most of the value of making a new software comes from.

        Doing waterfall will stop this from happening and will remove actual value from the software because it’s going to be bloated with useless things that were badly understood by the aquiring party.

        Agile is about producing as much value as possible, as fast as possible, in a set budget.

        English is my third language so sorry if it’s hard to understand or feel aggressive.

  • magic_lobster_party@fedia.io
    link
    fedilink
    arrow-up
    68
    ·
    20 hours 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
    • azertyfun@sh.itjust.works
      link
      fedilink
      arrow-up
      3
      ·
      2 hours 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.
    • SlopppyEngineer@lemmy.world
      link
      fedilink
      arrow-up
      45
      ·
      edit-2
      19 hours 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
  • NigelFrobisher@aussie.zone
    link
    fedilink
    arrow-up
    90
    arrow-down
    1
    ·
    22 hours ago

    They forgot the bit where the Waterfall method blew through the budget and deadline about five times over.

    • AlternatePersonMan@lemmy.world
      link
      fedilink
      arrow-up
      22
      ·
      23 hours 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
      ·
      21 hours 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”

  • MTK@lemmy.world
    link
    fedilink
    arrow-up
    59
    arrow-down
    3
    ·
    22 hours ago

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

  • galoisghost@aussie.zone
    link
    fedilink
    arrow-up
    45
    arrow-down
    1
    ·
    22 hours ago

    The Agile Development here is the same result I’ve experienced for every one of these methods. Mostly because of clients/management.

  • makeshiftreaper@lemmy.world
    link
    fedilink
    English
    arrow-up
    42
    arrow-down
    2
    ·
    24 hours 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

  • bad_news@lemmy.billiam.net
    link
    fedilink
    arrow-up
    18
    arrow-down
    1
    ·
    1 day ago

    Kiiiinda true but only with boomer-era on-disk printed at a factory Waterfall. Also everything after agile is just copium for an over professionalized world in which craftsmanship itself had given way, undermining the very concept of expertise so everything is junior devs and now ai

    • boonhet@lemm.ee
      link
      fedilink
      arrow-up
      11
      ·
      20 hours 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.