Skip Navigation

Study finds 268% higher failure rates for Agile software projects

General Programming Discussion @lemmy.ml

Study finds 268% higher failure rates for Agile software projects

1 0
137 comments
  • 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." :)

  • 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.

    • 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.

      • 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.

  • 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.

  • The project manager's revenge: the last Scrum Master.

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

    Random trademark symbol. What's the registered trademark here? The dot? "advocates"?

    • Its just the symbol The Register uses at the end of an article. Like how some papers use a filled in square.

  • Normal development: measure twice, cut once. Agile development: measure once, cut twice.

    Shockedpikachu.jpg when things fall apart.

  • This is the best summary I could come up with:


    Even though the research commissioned by consultancy Engprax could be seen as a thinly veiled plug for Impact Engineering methodology, it feeds into the suspicion that the Agile Manifesto might not be all it's cracked up to be.

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

    "Our research has shown that what matters when it comes to delivering high-quality software on time and within budget is a robust requirements engineering process and having the psychological safety to discuss and solve problems when they emerge, whilst taking steps to prevent developer burnout."

    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.

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

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


    The original article contains 501 words, the summary contains 175 words. Saved 65%. I'm a bot and I'm open source!

  • Someone would look at our process and say "that's not agile!" and they might be correct, technically speaking. I don't personally care what it's called as long as it works.

    We agree to requirements up front with our customer; we might change stuff as we go along if our customer realizes that what they asked for won't work (this happens occasionally), which is fine, but otherwise we don't let them change stuff around on a whim, and we don't allow scope creep. If they want a new feature, that's version 2 (or 3, or 4).

    We don't meet very frequently. We do check in to make sure we're on target, and deliver features incrementally when it makes sense to do so. We do sprints. We talk about when things are working and when they aren't, but only when we think it's a good time to do so.

    At the end of the day, you need to tailor the process to your needs and what makes sense to you and your team.

137 comments