We all knew it

  • onoki@reddthat.com
    link
    fedilink
    English
    arrow-up
    169
    ·
    4 months ago

    One standout statistic was that projects with clear requirements documented before development started were 97 percent more likely to succeed.

    I’d like to work in that company.

    • best_username_ever@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      69
      arrow-down
      2
      ·
      4 months ago

      Try medical software and devices. The requirements and specs are mandatory before doing anything. It’s actually very fun and I have less burnout thanks to this.

      • RagnarokOnline@programming.dev
        link
        fedilink
        English
        arrow-up
        52
        arrow-down
        2
        ·
        4 months ago

        I couldn’t disagree more.

        In medical I would end up being apart of endless retirement gathering meetings, then draft up the SOW doc only to have stakeholders change requirements when they were reviewing the doc. Then months later once the doc was finally finished and I could do the development, when UAT time finally came, they’d say the build wasn’t what they wanted (though it matched the written requirements).

        Most of the projects I saw executed in the last 4 years either got scrapped altogether or got bogged down in political bs for months trying to get the requirements “just right”.

        It was a nightmare. You could blame me, or the company, or bad processes all you want, but I’ve never had fun on a waterfall project, especially not in medical. (Though, in my opinion, we are severely understaffed and need like 4 more BAs.)

        • Serinus@lemmy.world
          link
          fedilink
          English
          arrow-up
          29
          arrow-down
          1
          ·
          4 months ago

          It’s almost like the methodology is less important than the people.

        • francisfordpoopola@lemmy.world
          link
          fedilink
          English
          arrow-up
          17
          ·
          4 months ago

          Do you think the problem is that the person driving the requirements doesn’t know what they actually want?

          I think a good BA is critical to the process because lots of end users have no idea how to put their ideas onto paper.

          I also think an MVP helps a lot because people can see and touch it which helps focus their needs.

          • RagnarokOnline@programming.dev
            link
            fedilink
            English
            arrow-up
            14
            ·
            4 months ago

            I would say yes, the problem is stakeholders not having thought critically about what they really wanted from the project.

            The motivation for projects were usually “regulatory told us we need to have this new metric for federal reporting”, or “so-and-so’s company can do this, why can’t ours” rather than, “we’d like to increase retention by 6% and here’s the approach we’ve researched to make that happen”.

            I ended up experiencing that people in the highest positions weren’t experts in their field, but just people who had a strong intuition. This meant they would zero-in on what they wanted by trial and error rather than logic. Likewise, it meant they were socially adept enough so their higher-ups would never get mad at them when we finished “late and over budget”. People lower on the totem received that blame.

            I think humans are just really bad at estimating and keeping their commitments, which is why I enjoy working with agile more. It’s a forgiving framework (imo).

    • grrgyle@slrpnk.net
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      14
      ·
      4 months ago

      I haven’t read the article yet, but surely they can’t be juxtaposing waterfall as the alternative to agile. The modern alternative, especially in small to medium businesses, would be kanban.

        • drphungky@lemmy.world
          link
          fedilink
          English
          arrow-up
          11
          ·
          edit-2
          4 months ago

          Ehhhh…Kanban is much older than Agile even if they tried to subsume it and say it’s an agile technique, so that’s sort of right. But kanban vs “scrum” - which virtually everyone means when they say “agile” - is fair.

          • CameronDev@programming.dev
            link
            fedilink
            English
            arrow-up
            9
            arrow-down
            1
            ·
            4 months ago

            Within my company there is a mix of Scrum and Kanban, so Agile != Scrum.

            I don’t think it makes much sense to say “We are switching from Agile to Kanban”, but “We are switching from Scrum to Kanban” does make sense (at least to me)

    • wewbull@feddit.uk
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      1
      ·
      4 months ago

      A lot of places seem to view it as “we just work from the backlog” with no requirements on when features are delivered, or their impacts on other parts of the project.

      You still need a plan, goals and a timeline. Not just a bucket of stuff to get done.

    • Prox@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      4 months ago

      Or, even worse, they want to apply some of the rules, cherry-picking bits and pieces of a framework without truly understanding it.

  • magic_lobster_party@kbin.run
    link
    fedilink
    arrow-up
    48
    arrow-down
    3
    ·
    edit-2
    4 months ago

    A more proper title would be “study finds 268% higher failure rates for poorly planned software projects”.

    “Agile” as a word is mostly an excuse of poor planners for their poor planning skills.

    • kescusay@lemmy.world
      link
      fedilink
      English
      arrow-up
      28
      arrow-down
      3
      ·
      edit-2
      4 months ago

      Yeah, Agile isn’t really at fault here. If done right - if you’ve got a scrum master, a proper product owner, proper planning and backlog grooming, etc. - it works really well. The problem is some companies think Agile is just “give the devs some pie-in-the-sky hopes and dreams, let 'em loose, and if they don’t give half a dozen execs exactly what they want (despite their massively conflicting ideas on what they want), cancel the project.”

      • magic_lobster_party@kbin.run
        link
        fedilink
        arrow-up
        10
        ·
        edit-2
        4 months ago

        In one the worst “poor planning” projects I’ve been in the product owner just kept sneaking in new “high priority” issues to the top of the backlog throughout the sprint. I don’t think we had a single sprint where we ended up with fewer open issues in the backlog than when we started.

        Needless to say, he was the main reason why I quit.

      • grrgyle@slrpnk.net
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        1
        ·
        4 months ago

        In my experience it’s just kanban, but make the devs feels guilty between sprints for not meeting their goals.

        • beefalo@fedia.io
          link
          fedilink
          arrow-up
          2
          ·
          4 months ago

          Absolutely It’s so management can say “your velocity was down 15% this sprint” and not feel bad about it instead of saying “work more” It’s plausible deniability for demanding unpaid overtime

      • jj4211@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        4 months ago

        Yeah, Agile isn’t really at fault here. If done right

        This is what ticks me off about the “Agile” brand, it’s chock full of no true Scotsman fallacy (if a team failed while doing “Agile”, it means they weren’t being “Agile”).

        I can appreciate sympathizing with some tenets as Agile might be presented, but the popularity and consultancy around it has pretty much ruined Agile as a brand.

        Broadly speaking, any attempt to capture nuance of “best practices” into a brand word/phrase will be ruined the second it becomes “popular”.

        • kescusay@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          This isn’t a case of No True Scotsman. There really is a right way and a whole lot of wrong ways to do Agile development. Any team that calls itself an Agile team that doesn’t actually follow the processes properly is doing it wrong and will fail.

          That doesn’t mean any team that’s doing it right will succeed, but it’s like riding a horse: If you only climb halfway up the horse and try to hold on while at a 90-degree angle, it’s not going to work, and it would be stupid to declare that the concept of horse-riding is broken. No, it’s not broken, you’re just an idiot who thought you could ride a horse while only halfway up, clinging desperately to its side.

    • Kongar@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      12
      ·
      4 months ago

      Agreed. The problem is people mistake “zero planning and structure” to mean “agile”. Of course it fails.

      Agile to me was always mini waterfall. You always know who’s doing what, why, and what success looks like on a 2 week sprint horizon. When you see people on a sprint without a clear understanding of what they are doing over the next couple of weeks - then you know your project is in trouble for sure.

    • restingboredface@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      11
      ·
      4 months ago

      I don’t have much direct experience working in agile since I tend to work on the business side but I can tell you that the term agile is WAY overused. So many projects are described as agile when they are just waterfall with more steps. Leaders love to say they are working in agile because it sounds ‘techy’ and cool, but I don’t think they fully appreciate what it is vs other methods. I wonder if a lot of the failed projects described in the article are some of those agile in name only kind of things.

    • drphungky@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      ·
      4 months ago

      An even better title would be “‘Study’ by firm pushing new technique finds old technique is bad.”

  • chakan2@lemmy.world
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    2
    ·
    edit-2
    4 months ago

    Pbpbpbp…agile fails fast by design.

    The counter from the article is you need a specification first, and if you reveal the system wasn’t going to work during requirements gathering and architecture, then it didn’t count as a failure.

    However, in my experience, architects are vastly over priced resources and specifications cost you almost as much as the rest of the project due to it.

    TLDR…it’s a shit article that confuses fail fast with failure.

    • MechanicalJester@lemm.ee
      link
      fedilink
      English
      arrow-up
      9
      ·
      4 months ago

      Thanks for pointing that out so I didn’t have to.

      What’s the alternative? Waterfail?

      Yeah because business requirements and technology is changing at an ever slower rate…

    • bionicjoey@lemmy.ca
      link
      fedilink
      English
      arrow-up
      8
      ·
      4 months ago

      Fail fast is the whole point and the beauty of agile. Better to meet with clients early and understand if a project is even workable rather than dedicating a bunch of resources to it up front and then finding out six months in (once the sunk cost fallacy has become too powerful)

  • HelloThere@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    34
    ·
    edit-2
    4 months ago

    If you know exactly what you need, then specs are great. Proven solutions for known problems are awesome. Agile is pointless in that circumstance.

    But I can count on one hand the number of times stakeholders, or clients, actually know what they want ahead of time and accept what was built to spec with no amends.

    When there is any uncertainty, changing a spec under waterfall is significantly worse. Contract negotiation in fixed price is a fucking nightmare of the client insisting the sky is red when the signed off spec states it’s to be green.

    • grrgyle@slrpnk.net
      link
      fedilink
      English
      arrow-up
      6
      ·
      4 months ago

      If you know exactly what you need, then specs are great.

      If you know exactly what you need and the specs are great, then you barely need project management framework at all.

      Maybe I just work at shit companies, but it feels unrealistic to expect this this level of maturity from assigned work.

  • ShittyBeatlesFCPres@lemmy.world
    link
    fedilink
    English
    arrow-up
    30
    ·
    4 months ago

    Personally, I was never great with agile projects. I get that it’s good for most and sort of used it when I was a CTO but as a solo developer, there are days when I’d rather eat a bowl of hair than write code and then some days, I’ll work all night because I got inspired to finish a whole feature.

    I realize I’m probably an exception that maybe proves the rule but I loathed daily stand-ups. Most people probably need the structure. I was more of a “Give me a goal and a deadline and leave me alone, especially at 9am.” person. (Relatedly, I was also a terrible high school student and amazing at college. Give me a book and a paper to write and you’ll have your paper. If you have daily bullshit and participation points, I’ll do enough to pass but no more.)

    • douglasg14b@lemmy.world
      link
      fedilink
      English
      arrow-up
      21
      ·
      4 months ago

      It’s very likely that as a sole developer you are actually practicing agile as it’s intended and not corporate “agile”.

      There isn’t a problem with agile there’s a problem with it being mislabeled and misused as a corporate & marketing tool for things that have nothing to do with agile.

    • tinyVoltron@lemmy.world
      link
      fedilink
      English
      arrow-up
      16
      arrow-down
      1
      ·
      4 months ago

      Stand-ups can become so proforma. What did you do yesterday? I coded. What are you doing today? I am going to code. Do you have any blockers? No. It gets a little repetitive after a while.

      • ShittyBeatlesFCPres@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        ·
        4 months ago

        I did twice a week when I was management: once at the start of a sprint, once on the first Friday where we only identified blockers, and once the following Wednesday where we talked about what can ship and be ready for QA.

        The goal was to have a release fully ready on Thursday so Friday could be for emergency bug fixes but most releases are fine. If everything is perfect, great! Everyone go have a three day weekend. If QA catches a bug or two, we fix it and then ship.

        If a deadline is gonna slip, just tell me when you know. It’s not usually a big deal.

      • ???@lemmy.world
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        2
        ·
        4 months ago

        I found them to be useful because I usee to be in an erratic team where people either get a lot done or drag projects on for years. At least the project draggers had no place to hide when needing to report their project daily.

        In my current job we only have these stand-up type meetings once weekly which made a big difference because many people had more interesting things to report and it wasn’t some kind of lip service, instead people were genuinely haring progress.

        • tinyVoltron@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          4 months ago

          If someone is blocked I’d be pretty cranky if they waited until the next day to mention it. Blockers are to be dealt with swiftly and with extreme prejudice.

  • neclimdul@lemmy.world
    link
    fedilink
    English
    arrow-up
    24
    ·
    4 months ago

    Feels like the old php metric. PHP had a ton of great code and successful projects but it also attracted very bad devs as well as very inexperienced devs leading to a real quality problem.

    Honestly kinda see thing in a lot of JavaScript applications these days. Brilliant code but also a ton of bad code to the point I get nervous opening a new project.

    My point? It may be a tough pill but it’s not the project framework that makes projects fail, it’s how the project is run.

    • ChickenLadyLovesLife@lemmy.world
      link
      fedilink
      English
      arrow-up
      17
      ·
      4 months ago

      I witnessed a huge number of failed projects in my 25-year career. The cause was almost always the same: inexperienced developers trying to create a reusable product that could be applied to imagined future scenarios, leading to a vastly overcomplicated mess that couldn’t even satisfy the needs of the original client. Made no difference what the language or framework was or what development methodology was utilized.

      • neclimdul@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 months ago

        I’ve seen a lot of contractors over promising timelines too. “No matter how hard you push and no matter what the priority, you can’t increase the speed of light.”

        But yeah exactly.

      • neclimdul@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        4 months ago

        No it’s a set of tools you can use to run a project.

        My point is that a lot of people use “agile” to mean not planning or don’t put guard rails on scope and they fail. That’s not agile, it’s just bad PM

  • jj4211@lemmy.world
    link
    fedilink
    English
    arrow-up
    22
    ·
    edit-2
    4 months ago

    I’m all for and good eye rolling at institutional Agile (basically checkered with bad management who doesn’t know what to do, but abuses buzz words and asserts Agile instead), but this article has a lot of issues.

    For one, it’s a plug for someone’s consultancy, banking on recognition that, like always, crappy teams deliver crappy results and “Agile” didn’t fix it, but I promise I have a methodology to make your bad team good.

    For another, it seems to gauge success based on how developers felt if they succeeded. Developers will always gripe about evolving requirements, so if they think requirements were set in stone early, they will proclaim greatness (even if the users/customers hate it and it’s a commercial failure).

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    2
    ·
    4 months ago

    Does that surprise me? Not at all. “Agile” was never about making programming better. It was a management buzzword from the start.

    We once had a manager who came to me with the serious idea “to make the development process agile”. He had heard of this in a discussion with managers from other companies. The problem? I’m the only person in this department. I program everything alone. How the F should I turn my processes “agile”?

      • Treczoks@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        4 months ago

        I think he wanted it more like Product Owner, Scrum Master, Architect, Stakeholder, New product development, Tester, Integrator, Team member, Agile architect, Agile Coach, Developer, Team lead, Technical expert, Product Designer, Business Analyst, Programmer, and Specialist for at least eight hours a day in each role…

  • BurningnnTree@lemmy.one
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    1
    ·
    4 months ago

    This article doesn’t make any sense. A project’s “success” can’t really be measured in any objective way like the article is implying. Even saying that a project is “on time” is a vague statement depending on the situation, and it’s not a good way to measure the quality of the end result or the efficiency of the development team.

  • Echo Dot@feddit.uk
    link
    fedilink
    English
    arrow-up
    17
    ·
    edit-2
    4 months ago

    Isn’t it more that people tend to use agile as an excuse for not having any kind of project plan.

    It’d be interesting to know how many of those agile projects actually had an expert project lead versus just some random person who was picked who isn’t actually experienced in project management.

    • masquenox@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      2
      ·
      4 months ago

      Isn’t it more that people tend to use agile as an excuse for not having any kind of project plan.

      I’d say it’s more about continuously milking customers on projects that never seem to end. I’ve never done software project management, but I have seen it’s “tenets” applied to other types of projects. The results were arduous - to say the least.

      • Echo Dot@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        4 months ago

        I’ve seen it being done even on internal projects though. Things within an organization.

        It tends to be that they start developing a feature and then someone comes along and says, ooh wouldn’t it be nice if it did x, so they modify it to have x feature. Then someone decides it should be able to sync with Azure (there’s always someone that wants that), so Azure sync is added, but now that interferes with x, so that has to be modified so that it can sync as well. Then we get back to original product development which is now 3 weeks behind schedule.

        Repeat that enough times and you can see why a lot of this stuff fails.

  • cybersandwich@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    2
    ·
    4 months ago

    The article even states this is a thinly veiled ad for some other “method”.

    The agile manifesto is fantastic. Scrum can work wonders as a means for providing a framework to hang “agile principles” onto.

    Most organizations don’t do “scrum” well or quickly lose sight of the “why” behind it.

    Companies are gonna company at the end of the day. Process + bureaucracy + buzzwords + ill-informed management + vendors promises + shit customers/product owners = late projects.

    Agile done right, works. The benefit agile has over waterfall(the process it replaced in a lot of places), imo, is that it’s predicated on working software, responding to change and working collaboratively/iteratively.

  • wolf@lemmy.zip
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    3
    ·
    edit-2
    4 months ago

    … I cannot count the number of times at my different workplaces where we had an agile process, dailies and everything else of the agile BS for projects which where either trivial or not solvable. No worries, the managers, product owners and agile coaches made money and felt good, we developers went for greener pastures…

    Agile is a scam, nothing they do is based on any facts and when you challenge agile coaches / other people which profit it is always ‘I believe’ or ‘proven by anecdote’.

    Combine this with the low quality of people in the average software projects and you have a receipt for failure.

    Writing the requirements first at least forces people to think trough a project (even if only superficial), so I am not surprised the success rates for this projects goes up.

    • DacoTaco@lemmy.world
      link
      fedilink
      English
      arrow-up
      23
      ·
      edit-2
      4 months ago

      Agile has its uses, but like everything you need a bit of both. You need a bit of both waterfall and agile.
      Example : you need to have your requirements before development, yes. But how far do you go in your requirements? If i were to make all the requirements for my current project ill still be busy in 3 years and will have to redo bits due to law and workflows changing. however , we need requirements to start development. We need to know what we need to make and what general direction it will be heading to a make correct software/code design.

      Agile also teaches you about feedback loops, which even with waterfall, you need to have to know that what youre developing is still up to spec with what the product owner is expecting. So even with waterfall, deliver features in parts or sit together at least once every x weeks to see if youre still good with the code/look/design.

      Pure agile is bullshit, but so is pure waterfall. Anything that isnt a mix is bullshit and in the end, it all depends on the project, the team and the time/money constraints.

      • jabjoe@feddit.uk
        link
        fedilink
        English
        arrow-up
        4
        ·
        4 months ago

        Exactly!

        I worked at one Agile place they had all their sprints and milestones in a Gantt Chart waterfall. They also did big design up front and a lot of process. They had do all kind agile and scrum training, but it was the most process heavy place I worked.

        • DacoTaco@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          Im currently trying to steer a product team to have this kind of process. They are working with an ancient piece of software that is slowly being replaced. However, we need to replace piece by piece while the main app is still being maintained because of law and workflow changes. This is why i want them to set the requirements and designs up front a bit so we can make a good analysis of it before development starts so no technical difficulties or questions arise mid development! However, nothing is set in stone and after each small piece ( aka after each sprint ) we have our review and product owners and stakeholders see what we have made and can chime in, causing us sometimes to pivot what we were making.
          Best of both worlds!

          • jabjoe@feddit.uk
            link
            fedilink
            English
            arrow-up
            2
            ·
            4 months ago

            Rewrites are great. You have a specification that is so defined it is literally code.

            When it’s blue sky, it’s harder. Plans will be wrong. The users don’t understand really what they need or want. It all ends up evolving. Anything with a GUI is worse because users/customers need (want) things moved about, re-themed, with no regard to what’s below. Best to nail them to mock up designs they signed off on. Same with API interfaces. If they signed off on the design, you can then point out “spec change” and get more time/money. It’s more about ass covering than using the outcome or process.

            • DacoTaco@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              4 months ago

              Agreed. Depending in what branch or situation youre in you need handle appropriately and cover your arse but also make it work. If i was to work on a timed project, and the project is set to not make the deadline due to spec changes i will report that ahead of tine to cover the teams arses, but at least we can pivot and deliver something that will be useful and up to spec depending on the feedback :)

      • wolf@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        4 months ago

        Good points, and I mostly agree with you, especially with feedback loops!

        Still, I never argued for waterfall. This is a false dichotomy which - again - comes from the agile BS crowd. The waterfall UML diagram upfront, model driven and other attempts of the 90s/early 20s were and are BS, which was obvious for most of us developers, even back then.

        Very obviously requirements can change because of various reasons, things sometimes have to be tried out etc. I keep my point, that there has to exist requirements and a plan first, so one can actually find meaningful feedback loops, incorporate feedback meaningfully and understand what needs to be adapted/changed and what ripple effects some changes will have.

        Call it an iterative process with a focus on understanding/learning. I refuse to call this in any way agile. :-P