• flathead@lemm.ee
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    Agile is LinkedIn religious bollocks. Might as well just pray. Bunch of corporate nonsense.

    BUt YoUrE NoT DoINg it RIghT!!1!

    Should be reciting the creed in Latin, presumably.

    • barsquid@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      Every time I see a discussion of agile, there are plenty of comments about how mentally exhausting and useless/wasteful the meetings are. And the defenders can only say, “you’re doing meetings wrong!” Maybe if everyone is doing it wrong the process itself is fundamentally flawed and lends itself to misinterpretation.

      • Semi-Hemi-Lemmygod@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        I’ve been in agile projects that worked really well and didn’t have soul-sucking, time-wasting meetings. It can be done well, it just isn’t most of the time.

        • Dultas@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago

          Same, I’ve been on agile projects with quick efficient meetings most of the time. But I’m a project now with a 45 minute standup every morning for like 15 people. The lead just lets people ramble on and try to solve issues in standup. Backlog grooming and sprint plannings get equally sidetracked as well.

      • trolololol@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        Just like saying AI will solve all your problems even if you misuse. It’s just like a pattern big companies use to mask when they’re talking out of their asses.

      • WhiskyTangoFoxtrot@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        Maybe if everyone is doing it wrong the process itself is fundamentally flawed and lends itself to misinterpretation.

        Like Communism.

  • cygon@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago

    I liked agile as it was practiced in the “Extreme Programming” days.

    • Rather than attempt to design the perfect system from the get-go, you accept that software architecture is a living, moving target that needs to evolve as your understanding of the problem evolves.

    • Rather than stare down a mountain of ill-defined work, you have neat little user stories that can be completed in a few days at most and you just move around some Kanban cards instead of feeding a soul-sucking bureaucratic ticketing, time tracking and monitoring system.

    • Rather than sweat and enter crunch mode for deadlines, the project owners see how many user stories (or story points or perfect hours) the team completes per week and can use a velocity graph / burndown chart to estimate when all work will be completed.

    .

    But it’s just a corporate buzzword now. “We’re agile” often enough means “we have no plan, take no responsibility and expect the team to wing it somehow” or “we cargo cult a few agile ideas that feel good to management, like endless meetings with infinite course changes where everyone gives feel-good responses to the managers.”

    Having a goal, a specification, a release plan, a vision and someone who is responsible and approachable (the “project owner”) are all part of the agile manifesto, not something it tries to do away with. I would be sad if agile faces the same fate as the waterfall model back in its time and even sadder if we return to the time-tracking-ticket-system-with-Gantt-chart hell as the default.

    Maybe we need a new term or an “agility index” to separate the cases of “incompetent manager uses buzzword to cover up messy planning” from the cases of “project owner with a clearly defined goal creates a low-bureaucracy work environment for his team.” :)

  • 0x0@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    Right off the bat i read

    One standout statistic was that projects with clear requirements documented before development started were 97 percent more likely to succeed. In comparison, one of the four pillars of the Agile Manifesto is “Working Software over Comprehensive Documentation.”

    You need clearly defined requirements to write a good user story. Documentation comes after.

    However, while the Agile Manifesto might have its problems, those stem more from its implementation rather than the principles themselves. “We don’t need a test team because we’re Agile” is a cost-saving abdication of responsibility.

    Precisely, once once have i worked in a company where agile was properly implemented and, yes, user stories were well documented and discussed before being developed. All others are just waterfall in disguise, or Fragile™.

    However, while the Agile Manifesto might have its problems, those stem more from its implementation rather than the principles themselves. “We don’t need a test team because we’re Agile” is a cost-saving abdication of responsibility.

  • Aurenkin@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago

    Note that this is failure to deliver on time, not failure to deliver full stop.

    I also think a lot of places claim to be agile, but don’t follow or understand the principles at all. Another commenter here is the perfect example of that where they say the opposite of what’s in the agile manifesto and claim that it’s a representation of what it says.

    Maybe that’s a fundamental problem with agile. It’s just a set of loose principles rather than a concrete methodology being pushed for by a company and it has therefore been bastardised by consulting companies and scrum masters claiming to teach the checklist of practices that will make your company agile. Such a checklist does not exist, it’s just a set of ideas to keep in mind while you work out the detailed processes or lack thereof that work for you.

    For anyone that wants to refresh their memory on the agile manifesto:

    Individuals and interactions over processes and tools

    Working software over comprehensive documentation

    Customer collaboration over contract negotiation

    Responding to change over following a plan

    That is, while there is value in the items on the right, we value the items on the left more.

    • tyler@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      Agile was designed for contractors to deliver contract work. It’s a terrible design for any sort of sustainable business plan, hence “working software over comprehensive documentation”. That line right there causes the majority of outages you as a consumer encounter.

      • Aurenkin@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        Would you rather have working software or a bunch of documentation? If your software is having outages then by definition it is not working. If documentation is the root cause of that then you should fix that by creating enough documentation to allow your software to continue to work per “working software over comprehensive documentation”. Maybe I’m missing something but I don’t see the contradiction here.

        • Carighan Maconar@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago

          In long term development, sensible and updated documentation is far more important than the software working constantly. You will have downtimes. You will have times before the PoC is ready.

          But if your documentation sucks or is inexistent, you cannot fix any problems that arise and will commit a ton of debt the moment people change and knowledge leaves the company.

        • becausechemistry@lemm.ee
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago
          1. Hack together a proof of concept
          2. Works well enough that management slaps a “done” sticker on it
          3. Pile of hacks becomes load bearing
          4. One or two dependencies change, the whole thing falls over
          5. Set evenings and weekends on fire to fix it
          6. Management brags about moving fast and breaking things, engineers quit and become cabbage farmers and woodworkers
          7. New graduates are hired, GOTO 1
        • AwkwardLookMonkeyPuppet@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          If documentation is the root cause of that then you should fix that by creating enough documentation to allow your software to continue to work

          Or create a better UI that doesn’t require so much documentation.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        The very first mistake most people make when reading the agile manifesto is that “a over b” means “don’t do b”.

        • prof@infosec.pub
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago

          100% that.

          Especially that working software over comprehensive documentation part, which can be automated so easily if done right.

          There’s so much value in TDD and providing a way to do integration and automated UI tests early on in a project, yet none of the companies I’ve worked at made use of it.

          Also automated documentation tools like Swagger are almost criminally underutilised.

    • snooggums@midwest.social
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      The primary problem is using agile all the time instead of when it is actually intended to be used: short term work that needs to be done quickly by a small team that are all on the same page already.

      It sucks for any large group that requires a lot of coordination. Some parts of it are still helpful as part of a blended process, like more collaboration with the customer and responding to change, but those can easily derail a project if not everyone is on the same page through scope creep or losing sight of long term goals.

      • Aurenkin@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        I don’t understand what you mean, why would coordinating across a large group be against the agile principles? It sounds like the main issue here is lack of communication and planning which are both important parts of any process including one based on agile.

        Planning becomes more important for a larger project but if you hyper focus on sticking to the plan even if things change you can end up delivering something that is not useful for your customers, so I think the principles still make sense there.

      • tyler@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        I wonder why anyone would downvote you. to break down what you said:

        The primary problem is using agile all the time instead of when it is actually intended to be used

        this applies to everything in life. zero reason to downvote this unless you’re a zealot who doesn’t understand nuance

        short term work that needs to be done quickly by a small team that are all on the same page already.

        the whole point of agile is to be short term, maybe your downvoter thinks that the team doesn’t need to be on the same page??? don’t know how that is in any way a good idea. it means you haven’t done a good job communicating…

        Some parts of it are still helpful as part of a blended process, like more collaboration with the customer and responding to change, but those can easily derail a project if not everyone is on the same page through scope creep or losing sight of long term goals.

        anyone that disagrees with this hasn’t actually gone through with Agile according to all the tenets. It sucks for anything more than the tiniest projects that don’t need long term maintainability. I’m guessing this is where someone disagrees, but I can’t fathom why. Maybe they’ve only worked at one place, they think it actually is working, yet haven’t been there long enough to see the downsides or something.

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          There is nothing in the agile tenets about only using it for short term projects. I’ve had very successful multi-year agile projects.

          Frankly “agile” just goes over most people’s heads. They think it means sprints and stand-ups with no documentation.

          • snooggums@midwest.social
            link
            fedilink
            English
            arrow-up
            0
            ·
            1 month ago

            A large and complex system with an API and interacts with multiple other systems that is maintained over multiple years will be killed by agile through scope creep and inconsistent implementation when there is staff turnover. People will get great ideas that break other things snd without a cohesive vision across the team, things will be missed and unfinished because people focus on their part and not the whole.

            You can add the structure to keep things coherent and spend more time doing documetation up front so people can review the API and do it right the first time instead of redoing it multiple times.

            Agile is great for some projects, but ataff turnover, coordination, and meeting any kind of complex external requiirements means it isn’t a great fit for all projects.

            • Aurenkin@sh.itjust.works
              link
              fedilink
              arrow-up
              0
              ·
              1 month ago

              I’m curious about why you think this. I’ve seen complex multi year efforts succeed and continue to evolve with agile principles in mind. What specific part of agile do you think would necessarily cause the issues you mentioned?

              • snooggums@midwest.social
                link
                fedilink
                English
                arrow-up
                0
                ·
                1 month ago

                I’ve used a wrench to hanmer in a nail more than once, but that doesn’t mean it was the best tool for the job.

                It isn’t that agile can’t be used for something big, but that the design will likelyntun into hard requirements that must be approached certain ways and at thst point you are using agile to do waterfall. If it improves communication earlier in the process (which waterfall does not prohibit) that is great!

        • lysdexic@programming.dev
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          the whole point of agile is to be short term

          Not really. The whole point of Agile is to iterate. This means short development cycles which include review and design rounds to adapt to changes that can and will surface throughout the project. The whole point of Agile is to eliminate problems caused by business, project, and technical goals not changing because planning is rigid and can’t accommodate any changes because the process does not have room for those.

          This is why this whole “things need to be planned” crowd are simply talking out of ignorance. Agile requires global planning, but on top of this supports design reviews along the way to be able to face changing needs. This requires planning in short-medium-long terms.

          Don’t blame Agile for your inability to plan. No one forces you not to plan ahead.

      • lysdexic@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        The primary problem is using agile all the time instead of when it is actually intended to be used: short term work that needs to be done quickly by a small team that are all on the same page already.

        I think you got it entirely backwards.

        The whole point of Agile is being able to avoid the “big design up front” approach that kills so many projects, and instead go through multiple design and implementation rounds to adapt your work to the end goal based on what lessons you’re picking up along the way.

        The whole point is improving the ability to deliver within long term projects. Hence the need to iterate and to adapt. None of these issues pose a challenge in short term work.

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      Note that this is failure to deliver on time, not failure to deliver full stop.

      It’s also important to note that the Hallmark of non-Agile teams is de-scoping and under-delivering. It’s easy to deliver something on time if you switch your delivery goals and remove/half-bake features to technically meet requirements while not meeting requirements.

  • THCDenton@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    Agile went through the mgmt human centipede and now it’s an unrecognizable broken system built on conflated ideas. I bet a good number of those projects are ‘agilefall’ anyways.

  • TheHarpyEagle@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    1 month ago

    Honestly a little confused by the hatred of agile. As anything that is heavily maligned or exalted in tech, it’s a tool that may or may not work for your team and project. Personally I like agile, or at least the version of it that I’ve been exposed to. No days or weeks of design meetings, just “hey we want this feature” and it’s in an item and ready to go. I also find effort points to be one of the more fair ways to gauge dev performance.

    Projects where engineers felt they had the freedom to discuss and address problems were 87 percent more likely to succeed.

    I’m not really sure how this relates to agile. A good team listens to the concerns of its members regardless of what strategy they use.

    A neverending stream of patches indicates that quality might not be what it once was, and code turning up in an unfinished or ill-considered state have all been attributed to Agile practices.

    Again, not sure how shipping with bugs is an agile issue. My understanding of “fail fast” is “try out individual features to quickly see if they work instead of including them in a large update”, not “release features as fast as possible even if they’re poorly tested and full of bugs.” Our team got itself into a “quality crisis” while using agile, but we got back out of it with the same system. It was way more about improving QA practices than the strategy itself.

    The article kinda hand waves the fact that the study was not only commissioned by Engprax, but published by the author of the book “Impact Engineering,” conveniently available on Engprax’s site. Not to say this necessarily invalidates the study, or that agile hasn’t had its fair share of cash grabs, but it makes me doubt the objectivity of the research. Granted, Ali seems like he’s no hack when it comes to engineering.

    • acr515@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      1 month ago

      I could be wrong, but from what I’ve experienced,

      Projects where engineers felt they had the freedom to discuss and address problems were 87 percent more likely to succeed.

      is not always the norm. I’ve worked in agile environments where we had to work fast because the large corporate stakeholder had such a rapid turnaround that discussing and addressing problems meant slowing the process down, so no one wanted to be the one to say anything.

      Agile feels like one of those things that works well on paper and when practiced properly, but when you get the wrong type of stakeholders involved, their lack of understanding rushes everything and makes the process and the final product bad for everyone.

      • TheHarpyEagle@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        I definitely agree, but that’s true of any system. The particulars of the pitfalls may vary, but a good system can’t overpower bad management. We mitigate the stakeholder issue by having BAs that act as the liason between devs and stakeholders, knowing just enough about the dev side to manage expectations while helping to prioritize the things stakeholders want most. Our stakes are also, mercifully, pretty aware that they don’t always know what will be complex and what will be trivial, so they accept the effort we assign to items.

  • AwkwardLookMonkeyPuppet@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    According to the study, putting a specification in place before development begins can result in a 50 percent increase in success, and making sure the requirements are accurate to the real-world problem can lead to a 57 percent increase.

    Is this not self-evident to most teams? Of course you will not reach your destination if you don’t know where you’re going.

    • floofloof@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      On the other hand you can just call wherever you end up the destination, and no one can prove you wrong. 100% success rate.

  • WhatAmLemmy@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 month ago

    One standout statistic was that projects with clear requirements documented before development started were 97 percent more likely to succeed. In comparison, one of the four pillars of the Agile Manifesto is “Working Software over Comprehensive Documentation.”

    Requirements ≠ Documentation. Any project with CLEAR requirements will be most likely to succeed. The hard part is the clear requirements, and not deviating.

    One Agile developer criticized the daily stand-up element, describing it to The Register as “a feast of regurgitation.”

    The inability of management to conduct productive meetings is even more well-known than their inability to conduct a decent hiring process, and we all know how broken that is.

    The study’s sample and methodology are not linked so I suspect a huge bias, in that the projects succeeding sans-Agile have been successful without it long term, while the Agile projects chose Agile because they were unsuccessful pre-adoption — you don’t adopt agile if you were already successfully delivering projects.

      • vrek@programming.dev
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        The difference is in exact wording Agile: the software shall properly authticate a user within our active directory.

        Documention : user authentication will be provided by functions ”valisate username” as described in section 14,7 subsection 4, ”validate password” as described in section 16.2 and validate the correct pasword as described in section 23.4.Proper authication to the correct use group shall comply with the requirements in document 654689 section 64.7 subsection 17

        Yes there is a difference and one is better…

        • snooggums@midwest.social
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          So you started with the need to authenticate, which should be documented in the requirements. You know, the things that are required to happen.

          The details on HOW to authenticate are ALSO documentation. Not all documentation describes functionality.

    • Aurenkin@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      Yes, and daily standups are not a requirement of agile in any way. The whole point is people over process and adapting to change rather than following a plan so if standups aren’t working you should stop doing them rather than following a rigid process!

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        💯

        Agile is not an excuse to be stupid. If you need documentation then fucking do documentation. If your stand-ups suck then either change them or stop. You don’t just do things “because agile”.

  • magic_lobster_party@kbin.run
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    It’s more about poor planning vs good planning. Of course a project with good planning is more likely to deliver in time.

    It’s just to that poor planners tend to use “agile” as an excuse for their poor planning.

    • paf0@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      1 month ago

      In the days before Agile the Waterfall projects failed too. Though not necessarily for being late, they failed because they didn’t deliver the thing that the business thought they were building, they delivered something else due to a misunderstanding. If nothing more, Agile gives more visibility into the process and allows for course correction.

  • I Cast Fist@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    With 65 percent of projects adopting Agile practices failing to be delivered on time

    They’re not “failing to deliver”, they’re being Agile in disappointing everyone involved!

    Projects where engineers felt they had the freedom to discuss and address problems were 87 percent more likely to succeed.

    Which shouldn’t surprise anyone, but I know some managers, directors and users loathe the idea of the people who’ll do the actual job having any say other than “yes, sir”.

    In highlighting the need to understand the requirements before development begins, the research charts a path between Agile purists and Waterfall advocates.

    Good documentation is critical and process-agnostic. If people can read and understand it, it’s good. It’s something that can be used as a shield and weapon against users/higher ups who want too much, it can create a trail of responsibility.

  • pixxelkick@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    1 month ago

    I’ve literally never actually seen a self proclaimed “agile” company at all get agile right.

    If your developers are on teams that are tied to and own specific projects, that’s not agile.

    If you involve the clients in the scrum meeting, that’s not agile.

    If your devs aren’t often opening PRs on a variety of different projects all over the place, you very likely aren’t agile.

    If your devs can’t open up a PR in git as the way to perform devops, you aren’t agile.

    Instead you have most of the time devs rotting away on the sane project forever and everyone on “teams” siloed away from each other with very little criss talk, devops is maintained by like 1-2 ppl by hand, and tonnes of ppl all the time keep getting stuck on specific chunks of domains because “they worked on it so they knpw how it works”

    Shortly after the dev burns out because no one can keep working on the same 1 thing endlessly and not slowly come to fucking losthe their job.

    Everyone forgets the first core principle if an agile workplace and literally its namesake us devs gotta be allowed to free roam.

    Let them take a break and go work on another project or chunk of the domain. Let them go tinker with another problem. Let them pop in to help another group out with something.

    A really helpful metric, to be honest, of agile “health” at your company is monitor how many distinct repos devs are opening PRs into per year on average.

    A healthy company should often see many devs contributing to numerous projects all over the company per year, not just sitting and slowly be coming welded to the hull of ThatOneProject.

    • Waldowal@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      1 month ago

      I don’t disagree with you (on giving devs some creative freedom), but “Agile” as a process methodology isn’t about developers working on multiple things to keep their interests up.

      • pixxelkick@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        1 month ago

        That’s actually a pretty important part of its original premise.

        It’s a big part of why scrum meetings were a thing, as the expectation was any curious dev could just join in to see what’s up, if they like.

        Not tying devs down to 1 specific thing is like the cornerstone of agile, and over many years of marketing and corporate bastardization, everyone had completely forgotten that was literally the point.

        The whole point of the process was to address 2 things:

        1. That client requirements can’t easily be 100% covered day one (But you still need to get as many as you can!)

        2. To avoid silo’ing and tying devs down to specific things, and running into the one bus rule (“how fucked would this project be if <dev> got hit by a bus?”)

        And the prime solution posited is to approach your internal projects the same way open source works. Keep it open and available to the whole company, any dev can check it out, chime in if they’re familiar with a challenge, etc.

        One big issue often noted in non-agile companies (aka almost all of them) is that a dev slent ages hacking away at an issue with little success, only to find out far too late someone else in the company already has solved that one before.

        An actually agile approach should be way more open and free range. Devs should be constantly encouraged to cross pollinate info, tips, help each other, post about their issues, etc. There should be first class supported communication channels for asking for help and tips company wide.

        If your company doesn’t even have a “ask for help on (common topic)” channel for peeps to imfoshare, you are soooooooo far away from being agile yet.

        • Waldowal@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          1 month ago

          I don’t know man. Nothing in the Agile Manifesto talks about not focusing on one project.

          In addition, I think most people (and studies) would agree that “focus” is key to building almost anything of quality. Not flittering about working on shiny pennies of the day. I mean, a key tenant of sprints is “Don’t interrupt the sprint”. The whole concept is about letting developers focus.

          Agree to disagree I guess.