• 9point6@lemmy.world
    link
    fedilink
    arrow-up
    125
    arrow-down
    2
    ·
    1 day 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.

    • idefix@sh.itjust.works
      link
      fedilink
      arrow-up
      5
      ·
      11 hours ago

      And here I am, running projects for the past 20 years mostly using agile, and still very much unconvinced about its supposed superiority over waterfall.

    • Cid Vicious@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      18
      ·
      1 day 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.”

    • alykanas@slrpnk.net
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      19
      ·
      1 day 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
        27
        ·
        1 day 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”.