We all knew it

  • cheddar@programming.dev
    link
    fedilink
    English
    arrow-up
    5
    ·
    3 months ago

    Today, new research conducted for a new book, Impact Engineering, has shown that 65% software projects adopting Agile requirements engineering practices fail to be delivered on time and within budget, to a high standard of quality. By contrast, projects adopting a new Impact Engineering approach detailed in a new book released today only failed 10% of the time.

    All you need to know about this study.

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

      It almost sounds like a project team that is actually and actively looking to solve known and recurring problems instead of “just do whatever everyone else is kind of doing” might be why they are successful.

      It’s the difference between “how should we go about this” vs “see how we go” regardless of what you label those approaches as.

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

        I think the take away should be:

        new research conducted for a new book, Impact Engineering,

        By contrast, projects adopting a new Impact Engineering approach detailed in a new book released today only failed 10% of the time.

        So the people who want to sell you ‘Impact Engineering’ say ‘Impact Engineering’ is better than Agile… Hardly an objective source.

        Even if they have success with their ‘Impact Engineering’ methodology, the second it becomes an Agile-level buzzword is the second it also becomes crap.

        The short of the real problem is that the typical software development project is subject to piss poor management, business planning, and/or developers and that piss poor management is always looking for some ‘quick fix’ in methodology to wave a wand and get business success without across the board competency.

  • onoki@reddthat.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    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
      1
      ·
      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
        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.)

        • francisfordpoopola@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          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
            1
            ·
            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).

  • Brickardo@feddit.nl
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 months ago

    Fun mental exercise - remove the formalism behind agile methodologies out of software development. How is that any different from driving another human being mad?

    I have altered the specifications. Play I do not alter them any further.

  • kaffiene@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 months ago

    I’m always sceptical about results like these. I was told that waterfall always failed when I’d worked on successful waterfall projects with no fails. The complaints about waterfall were exaggerated as I think are complaints about agile. The loudest complaints seem to always be motivated by people trying to sell sonething

    • Ilflish@lemm.ee
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 months ago

      Ignoring the success and failure of agile and waterfall. Waterfall was just a way more enjoyable development experience for me. That would probably change if the cycle was lower though. Also doesn’t help that many managers I’ve had don’t follow the rules of agile/SCRUM. Seems like people use it as an excuse to be able to change things on any given day but those cycles are supposed to be planned, not the plans.

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

        Yeah actually i hadn’t thought about that aspect of it, but I did enjoy waterfall projects much more.

    • zalgotext@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      My crazy wacko conspiracy theory - software development is just a really weird discipline, most of the people in the field are bad at it, and it doesn’t have the same amount of standardization and regulation that other engineering fields have, so doing it “right” looks a lot fuzzier than doing, say, civil engineering “right”.

      The biggest thing though is that most people are bad at it. It’s really hard to evaluate high level organizational concepts like waterfall vs. agile when we still have developers arguing over the usefulness of unit tests.

  • magic_lobster_party@kbin.run
    link
    fedilink
    arrow-up
    1
    ·
    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.

    • Kongar@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      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.

    • kescusay@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      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.”

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

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

      • jj4211@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        arrow-down
        1
        ·
        3 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
          ·
          3 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.

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

            Any team that calls itself an Agile team that doesn’t actually follow the processes properly is doing it wrong and will fail.

            I mean, this statement is also weird, to imply that not following Agile implies failure. I’d say it’s quite possible for a team to “falsely” execute on Agile and still pull off success. However, if that story is prominent and successful, no one is going to make a peep about it not being “true Agile”, they’ll only do that when it’s a failure.

            But really this detail is beside the point, that people want to use ‘Agile’ as shorthand for good methodology, but it’s the way of the world that any shorthand that is popular will get co-opted and corrupted to the point of uselessness. You end up with various “interpretations” and so the meaning is diluted.

            Now at a glance, this may seem an innocuous scenario, ok, Agile doesn’t “mean” anything specific in practice because of people abusing it to their objectives, but it still carries the weight of “authority”. So if you have a criticism like “there’s way too many stupid pointless required fields in our Jira implementation, and there’s a super convoluted workflow involving too many stakeholders to walk a simple ticket to completion”, then you get chastised because “our workflow is anchored in Agile, and you can easily see online that Agile makes success, so you obviously don’t understand success”. You can try to declare “Individuals and interactions over processes and tools”, but then they’ll say “oh, but the stuff on the right is valuable, and it’s used to facilitate the interactions between people”. Thanks to Atlassian marketing, for a lot of the corporate world if you implement it in Jira, then it is, by definition, “Agile” and your peons can shut up because you are right.

            Basically, things get ruined by trying to abbreviate. You may be able to cite the Agile manifesto as something specific enough yet still short, though it’s still wishy washy enough to not be able to really “win” an argument with someone when deciding how you are going to move forward.

  • Cosmicomical@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    3 months ago

    It seems very biased to say the least. A title like that would be ok if it was comparing agile to pre-existing models like waterfall. A valid title for this would have been "new sw development methodology seems to have a much lower failure rate than agile dev. "

    ALSO I would like to see the experiment repeated by independent researchers.

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

      "new sw development methodology seems to have a much lower failure rate than agile dev, claims people who stand to make money if new sw development methodology has a lower failure rate. "

  • Echo Dot@feddit.uk
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    3 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
      0
      arrow-down
      1
      ·
      3 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.

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    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”?

  • ShittyBeatlesFCPres@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    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.)

    • tinyVoltron@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      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.

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

          In my workplace, that happens in the moment of the blocker being incurred. When people are continually in communication, the daily standup is redundant and frequently for the sake of some manager/project manager who “technically” shouldn’t be part of the standup.

        • tinyVoltron@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          3 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
    0
    ·
    3 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.

      • neclimdul@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        3 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
            1
            ·
            3 months ago

            “agile” is being flexible. Being “Agile” more often than not means your company’s incompetent management paid some hack consultants to come in and bless your flavor of stupid bureaucracy as “Agile”.

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

      It is a methodology to develop software quickly. It has some good things about it. But it can be very heavy on meetings and agile idealists are not very flexible. As many of the other comments say, a mixture of agile and some other methodology or starting with agile and developing your own process that works for your team or project is the best way of managing a project. I don’t understand why so many people don’t seem to write requirements when using agile. Even with agile I will not start coding until I have relatively clear requirements. It is not too bright to start speculative development without really knowing where you are going. https://agilemanifesto.org/

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

        But it can be very heavy on meetings and agile idealists are not very flexible.

        Seems a little ironic haha

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

          Right? I find agile purists to be some of the least flexible people I’ve ever met. They are the exact opposite of agile. To be fair though, I have found that a good scrum master can be worth their weight in gold. You always know the status of a project and the individual stories. It can be very, very helpful.

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

        I don’t understand this… How do you code if you don’t know where you’re coding for? Am I the only one that thinks that sounds crazy?

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

          Commonly you will have a relatively broad goal of providing some functionality by the time a project is done. Every sprint, commonly two weeks, you concentrate on producing a piece of functionality that will get you closer to that goal. At the end of a sprint, many teams are expected to have what’s called a minimally viable product that is technically usable. The problem with that concept is MVP almost always becomes production. That results in poor coding that is hard to support. It almost always involves rework later on, often when something is already in production. And you are not crazy. Not having a clear idea of what you’re coding for is wasteful and very inefficient.

  • chakan2@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    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.

    • bionicjoey@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      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)

    • ture@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      And also because it’s a comfortable cover up for any kind of money saving stupidity. We don’t need proper requirements engineering, we’re agile. We don’t need an operations team we’re doing an agile DevOps approach. We don’t need frontend Devs, we’re an agile team you all need to be full stack. I have often seen agility as an excuse to push more works towards the devs who aren’t trained to do any of those tasks.

      Also common problem is that still tons of people believe agile means unplanned. This definitely also contributes to projects failing that are just agile by name.

        • RamblingPanda@lemmynsfw.com
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 months ago

          Especially the last part. Writing a single word into a jira ticket doesn’t make it a story, epic or sub task. You’re too lazy to specify, that’s not what agile is meant to be.

    • Prox@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      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.