Study finds 268% higher failure rates for Agile software projects (www.theregister.com)
from sir_pronoun@lemmy.world to technology@lemmy.world on 06 Jun 2024 10:11
https://lemmy.world/post/16238119

We all knew it

#technology

threaded - newest

autotldr@lemmings.world on 06 Jun 2024 10:15 next collapse

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 502 words, the summary contains 175 words. Saved 65%. I’m a bot and I’m open source!

whyNotSquirrel@sh.itjust.works on 06 Jun 2024 10:17 next collapse

That’s because they forgot the meaning of the word agility and want to apply the rules what ever the cost

ture@lemmy.ml on 06 Jun 2024 10:51 next collapse

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.

mynamesnotrick@lemmy.zip on 06 Jun 2024 10:59 collapse

100% my experience.

RamblingPanda@lemmynsfw.com on 06 Jun 2024 13:36 collapse

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.

magic_lobster_party@kbin.run on 06 Jun 2024 13:50 collapse

I don’t know how many times I have been waiting for the product manager to get out of their meeting so they can help me clarify what they really mean with their "high priority" ticket only consisting a vague title.

RamblingPanda@lemmynsfw.com on 06 Jun 2024 14:53 collapse

“Looks like I’m home early, bye”

wewbull@feddit.uk on 06 Jun 2024 11:35 next collapse

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 on 06 Jun 2024 12:10 collapse

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

ChowJeeBai@lemmy.world on 06 Jun 2024 10:22 next collapse

Cries in waterfall.

onoki@reddthat.com on 06 Jun 2024 10:34 next collapse

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 on 06 Jun 2024 10:53 next collapse

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 on 06 Jun 2024 11:28 collapse

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 on 06 Jun 2024 12:24 next collapse

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

francisfordpoopola@lemmy.world on 06 Jun 2024 12:25 collapse

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 on 06 Jun 2024 13:01 collapse

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

4grams@awful.systems on 07 Jun 2024 17:34 next collapse

no shit, I feel most people can function in just about any framework, so long as everyone knows what they are building. I’ve seen agile (and other frameworks to be fair) as the ‘solution’ to missing requirements too often. Sure we can get to work without them, but to what end?

Lifter@discuss.tchncs.de on 07 Jun 2024 18:13 collapse

No thanks. It’s way more fun to be part of the decision process. If a manager can anticipate all of the requirements and quirks of the project before it even starts, it’s probably going to be a really boring, vanilla project at which point it’s probably just better to but the software.ä somewhere else.

Creating something new is an art in itself. Why would you not want to be a part of that?

Also: Isn’t it cheating to compare the two approaches when one of them is defined as having all the planning “outside” of the project scope? I would bet that the statistics in this report disregard ll those projects that died in the planning phase, leaving only the almost completed, easy project to succeed at a high rate.

It would be interesting to also compare the time/resources spent before each project died. My hunch is that for failed agile project, less total investment has been made before killing it off, as compared to front loading all of that project planning before the decision is made not to continue.

Complementary to this, I also think that Agile can have a tendency to keep alive projects that should have failed on the planning stage. “We do things not because they are easy, but we thought they would be easy”. Underestimating happens for all project but for Agile, there should be a higher tendency to keep going because “we’re almost done”, forever.

hellothere@sh.itjust.works on 06 Jun 2024 11:15 next collapse

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 on 06 Jun 2024 14:15 collapse

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.

hellothere@sh.itjust.works on 06 Jun 2024 18:35 collapse

Well, exactly.

Treczoks@lemmy.world on 06 Jun 2024 11:19 next collapse

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”?

[deleted] on 06 Jun 2024 11:39 collapse

.

Treczoks@lemmy.world on 06 Jun 2024 12:51 collapse

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…

magic_lobster_party@kbin.run on 06 Jun 2024 11:20 next collapse

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 on 06 Jun 2024 12:02 next collapse

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 on 06 Jun 2024 12:58 next collapse

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

beefalo@fedia.io on 07 Jun 2024 00:21 collapse

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

magic_lobster_party@kbin.run on 06 Jun 2024 12:59 next collapse

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.

jj4211@lemmy.world on 07 Jun 2024 20:17 collapse

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 on 07 Jun 2024 23:05 collapse

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 on 08 Jun 2024 12:02 collapse

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.

restingboredface@sh.itjust.works on 06 Jun 2024 13:35 next collapse

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 on 06 Jun 2024 14:06 next collapse

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

Kongar@lemmy.dbzer0.com on 06 Jun 2024 14:13 collapse

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.

henfredemars@infosec.pub on 06 Jun 2024 11:22 next collapse

The few times I’ve been on an agile project it amounted to start writing without understanding what product we’re building.

grrgyle@slrpnk.net on 06 Jun 2024 14:22 collapse

Yeah. Which actually doesn’t have to be bad as long as leadership accepts that this exploratory work (sometimes called a “spike”) might have to be thrown away, if findings reveal better paths.

The trouble begins when you start shipping your proof-of-concepts (without immediately paying back that tech debt).

It very quickly becomes an unmaintainable mess.

BrianTheeBiscuiteer@lemmy.world on 06 Jun 2024 11:37 next collapse

As someone who practices agile software development I find this baffling. I’ve never started a new project without at least 3 weeks worth of research and requirements gathering (and obviously more as the project rolls on). There are seriously companies out there who are like, “Mmm, I feel like this is gonna be an Electron project. Let’s just lay the groundwork and we’ll flesh out the nitty gritty in a week or so.” 😱

RagnarokOnline@programming.dev on 06 Jun 2024 11:42 next collapse

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.

I haven’t read the book they’re advertising here, but I’ve found these challenges to be socially created, not caused by agile.

dustyData@lemmy.world on 06 Jun 2024 14:26 collapse

Oh, so Agile is only done by autonomous AI?

RagnarokOnline@programming.dev on 06 Jun 2024 18:00 collapse

In the article, they’re proposing a solution to agile (“Impact Development” or something). The quote I listed above is talking about how Impact Development is supposed to provide those things. That said, I don’t blame agile for projects not having those things, it’s the people’s fault. So changing methodologies likely won’t help.

In short: yes, make AI do all project management :P

[deleted] on 06 Jun 2024 11:42 next collapse

.

grrgyle@slrpnk.net on 06 Jun 2024 12:57 collapse

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.

CameronDev@programming.dev on 06 Jun 2024 13:19 collapse

Kanban is Agile. They are pushing Impact Engineering.

drphungky@lemmy.world on 06 Jun 2024 14:04 next collapse

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 on 06 Jun 2024 14:35 collapse

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)

grrgyle@slrpnk.net on 06 Jun 2024 14:08 collapse

Well that’s news to me

homesweethomeMrL@lemmy.world on 06 Jun 2024 14:09 next collapse

An Agile Project eh. Like an Agile Waterfall process? cool. Cool cool cool.

I know PMI has an Agile thing but by and large Agile can’t be “projects” and vice versa.

kawa@reddeet.com on 06 Jun 2024 14:14 next collapse

Wtf is Agile ? I can’t get my head around that.

tinyVoltron@lemmy.world on 06 Jun 2024 14:42 next collapse

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. agilemanifesto.org

EleventhHour@lemmy.world on 06 Jun 2024 15:03 next collapse

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 on 06 Jun 2024 15:14 collapse

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.

terminhell@lemmy.world on 06 Jun 2024 15:29 next collapse

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

Seems a little ironic haha

tinyVoltron@lemmy.world on 06 Jun 2024 16:24 collapse

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.

r0ertel@lemmy.world on 06 Jun 2024 17:44 next collapse

I like your point about the idealists. IMHO, agile has some merits, rooted in psychology. For example, during stand up to say what your plans are for the day. Same for the sprint and quarter. It helps with communication. I don’t like the thing where everything needs to be a deliverable thing. I’ll poke my eyes out if I need to sit through another example of building a skateboard, scooter, bike, truck. Try that example with something real like a bridge or house. It ends up in a lot of throwaway work. Now try doing that in a highly regulated field like government or finance where you really can’t iterate due to oversight and regulatory compliance.

Oops, this turned into a rant. Well at least agile pays the bills. There’s a lot of money to be made in prolonging the problem.

Vlyn@lemmy.zip on 06 Jun 2024 22:18 collapse

Agile is not about being quick, it’s about delivering what the customer actually wants. When you do Waterfall you gather all the requirements, then you sit down and code the thing. Only to find out months or years later that you delivered crap as the customer didn’t even know themselves what they wanted.

With agile you take it one step at a time. What is important now? Get the requirements for this feature, deliver it in the next two weeks (or at least a part of it). Then the customer, which can be an actual customer, or your internal Product Owner, or a Product Manager looks it over. If the whole thing is perfect? Nice, carry on to the next thing.

Often you find out some detail was overlooked, or a new requirement came up, or the design didn’t fully work out. So pack it into the next sprint and do it better. You’d never get this feedback if you gather “all” requirements first and then just try to go from start to finish.

Agile certainly has its upsides when done right, unfortunately there’s not a lot of companies who manage to do so (like most I’ve been part of). Despite being messy at times, it’s still better than Waterfall. There’s too many meetings either way.

Ephera@lemmy.ml on 07 Jun 2024 09:10 collapse

Traditionally (as in 20+ years ago), software got developed according to the Waterfall model or V-model or similar. This required a documentation of all the requirements before a project could be started. (Certain software development fields do still work that way due to legal requirements.)

This was often a failure, because the requirements did not actually match what was needed, not to mention that the real requirements often shifted throughout development.

Agile, on the other hand, starts out development and figuring out the requirements pretty much in parallel. The customers get a more tangible picture of what the software actually looks like. The software developers also take over the role of requirements engineers, of domain experts, which helps them make more fitting software architecture decisions. And you can more easily cancel a project, if it turns out to not be needed anymore or whatever (which is also why a cancellation percentage is misleading).

The trouble with Agile, on the other hand, is that projects can get started with really no idea what the goal even is, and often with not enough budget reserved to actually get them completed (obviously, that may also be a failure state; if the project is promising enough, customers will find the money for it somewhere).
Also, you do spend a lot of time as a software dev in working out those requirements.

But yeah, basically pick your poison, and even if people like to complain about Agile methology, it’s what most of the software development world considers more successful.

wolf@lemmy.zip on 06 Jun 2024 14:17 next collapse

… 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 on 06 Jun 2024 14:30 collapse

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 on 06 Jun 2024 16:35 next collapse

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 on 06 Jun 2024 20:11 collapse

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 on 07 Jun 2024 06:03 collapse

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 on 07 Jun 2024 08:47 collapse

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 :)

jabjoe@feddit.uk on 07 Jun 2024 18:56 collapse

I don’t think there is a way that always works.

It’s not always possible to get a clear spec and do big design up front in R&D. The whole point can be to work out what can be done and how.

DacoTaco@lemmy.world on 07 Jun 2024 19:46 collapse

Correct! Hence why i said it all depends on the product, the team, the time, money, project, …
Many factors that decide on how to tackle things and the problems :)

wolf@lemmy.zip on 06 Jun 2024 20:41 collapse

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

chakan2@lemmy.world on 06 Jun 2024 14:25 next collapse

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 on 06 Jun 2024 16:00 next collapse

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)

MechanicalJester@lemm.ee on 06 Jun 2024 17:06 collapse

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…

ShittyBeatlesFCPres@lemmy.world on 06 Jun 2024 15:37 next collapse

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 on 06 Jun 2024 16:26 next collapse

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 on 06 Jun 2024 18:08 next collapse

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.

snek@lemmy.world on 06 Jun 2024 19:09 next collapse

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.

Knock_Knock_Lemmy_In@lemmy.world on 07 Jun 2024 13:54 collapse

I think you are missing the part where you help others with their blockers.

tinyVoltron@lemmy.world on 07 Jun 2024 14:08 next collapse

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.

Knock_Knock_Lemmy_In@lemmy.world on 07 Jun 2024 14:22 collapse

Yeah. I can see in your case a stand up could be replaced with a status update message.

jj4211@lemmy.world on 07 Jun 2024 20:12 collapse

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.

douglasg14b@lemmy.world on 06 Jun 2024 16:50 collapse

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.

snek@lemmy.world on 06 Jun 2024 19:07 next collapse

No to all cults in general, as a rule of thumb

BurningnnTree@lemmy.one on 06 Jun 2024 21:08 next collapse

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.

cybersandwich@lemmy.world on 06 Jun 2024 21:54 next collapse

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.

kaffiene@lemmy.world on 07 Jun 2024 21:29 collapse

Imo waterfall is an imagined beast for most software devs today. I worked on many successful waterfall projects. It was nowhere as bad as the caricature that people imagine.

neclimdul@lemmy.world on 06 Jun 2024 22:38 next collapse

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.

intensely_human@lemm.ee on 07 Jun 2024 00:28 next collapse

Agile falls into the category of how the project is run

neclimdul@lemmy.world on 07 Jun 2024 01:10 collapse

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

Knock_Knock_Lemmy_In@lemmy.world on 07 Jun 2024 12:52 collapse

Agreed.

Being Agile is being flexible. To do that you need to plan for multiple contingencies. Resulting in more planning, not none.

jj4211@lemmy.world on 07 Jun 2024 20:07 collapse

“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”.

ChickenLadyLovesLife@lemmy.world on 07 Jun 2024 01:49 next collapse

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 on 07 Jun 2024 03:48 next collapse

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.

jas0n@lemmy.world on 07 Jun 2024 04:01 next collapse

Preach brother!

Ephera@lemmy.ml on 07 Jun 2024 08:36 collapse

I feel like that’s the same underlying issue: The requirements are not understood upfront.

If a customer cannot give you any specific information, you cannot cut any corners. You’re pretty much forced to build a general framework, so that as the requirements become clearer, you’re still equipped to handle them.

I guess, the alternative is building a prototype, which you’re allowed to throw away afterwards. I’ve never been able to do that, because our management does not understand that concept.

ChickenLadyLovesLife@lemmy.world on 07 Jun 2024 10:18 collapse

I feel like that’s the same underlying issue: The requirements are not understood upfront.

Actually on most of these failed projects the requirements of the original customer were pretty clear. But the developers tried to go far beyond those original requirements. It is fair to say that the future requirements were not well understood.

the alternative is building a prototype, which you’re allowed to throw away afterwards

Lol I’ve done many prototypes. The problem is that management sees them and says “oh, so we’re finished with the project already? Yay!”

jj4211@lemmy.world on 07 Jun 2024 20:05 collapse

Yeah, look at the most prolific language at a given time. There’s your crappy projects or your soon-to-be-crappy projects. What are the universities and ‘coding academies teaching’? That’s going to be the crappiest stuff in the world when those students come out.

So too it goes with ‘management’, the popular ‘self-help’ style crap of the moment is what crappy teams will adopt, and no matter what methodology it is, that crap team is still crap, and it will reflect on that methodology.

jj4211@lemmy.world on 06 Jun 2024 22:45 next collapse

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

echodot@feddit.uk on 07 Jun 2024 06:43 next collapse

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.

barryamelton@lemmy.ml on 07 Jun 2024 07:31 next collapse

In my experience It’s not about a project plan for features, but actually doings things correctly instead of doing the minimum to finish what you need to do on the current sprint.

masquenox@lemmy.world on 07 Jun 2024 11:48 next collapse

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.

echodot@feddit.uk on 07 Jun 2024 12:41 collapse

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.

jj4211@lemmy.world on 07 Jun 2024 20:02 next collapse

Even internal projects have a facet of ‘milking customers’ even those customers are internal. There’s a rather large internal team that has managed to last years by milking the fact their stuff always sucks but any moment when they are challenged about their projects they always have a plan to fix all that’s wrong within ‘3 months’.

masquenox@lemmy.world on 07 Jun 2024 21:49 collapse

During my project management days one of the things I learned the hard way is to nail down exactly what something has to deliver and getting everybody involved to sign onto it in black and white - if you don’t, disaster follows.

Agile seems literally designed to make this impossible.

sugar_in_your_tea@sh.itjust.works on 07 Jun 2024 18:05 next collapse

Agreed. We follow agile, and we have a team of product owners who know where the project is likely headed in the next 3 years. Our sprint to sprint is usually pretty predictable, but we can and do make adjustments when new requirements come in. The product team decides how and when to adjust priorities, and they do a good job minimizing surprises.

It works pretty well imo, and it hinges on the product team knowing what they’re doing.

jj4211@lemmy.world on 07 Jun 2024 19:59 collapse

I’d say it’s that people tend to use Agile because consultants tell them they can be piss poor managers dealing with the crappiest developers and stupid business ideas and still make awesome stuff if they just make everything buzzword compatible.

I’d say projects without much of an upfront project plan can still be very successful, but it’s all about having a quality team, which isn’t something a two week ‘training and consultancy’ session isn’t going to get you, so there’s no big marketing behind that sort of message.

Beetschnapps@lemmy.world on 07 Jun 2024 07:01 next collapse

Move fast and break shit!

cheddar@programming.dev on 07 Jun 2024 11:36 next collapse

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 on 07 Jun 2024 18:43 collapse

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 on 07 Jun 2024 19:53 collapse

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.

Simplicity@lemmy.world on 07 Jun 2024 20:51 collapse

Oh yeah. I totally agree that the source has its own objective. I wasn’t supporting their specific approach at all.

You are right that the key take away is somene saying “I think my own idea, which I happen to be selling a book about, is great, here are some stats that I have crafted to support my own agenda”

The point I was making was simply that people who care enough to try something, anything, with thought (like looking for a new methodology to try out) are likely to be more successful.

Like a diet. The specific one doesn’t matter so much. It’s the fact that you are actually paying attention and making a specific effort.

Cosmicomical@lemmy.world on 07 Jun 2024 12:01 next collapse

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 on 07 Jun 2024 19:55 collapse

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

werefreeatlast@lemmy.world on 07 Jun 2024 13:11 next collapse

Not gonna read it because we, elsewhere in engineering land, have been forced to eat Agile shit from the water hose to make us better and faster. Fucking hell! I can’t re-compile a mirror if it comes out wrong!

I hope “New Impact” includes hammers.

dan@upvote.au on 07 Jun 2024 19:33 next collapse

Oh well, time to switch back to the waterfall model I guess

lol, no.

kaffiene@lemmy.world on 07 Jun 2024 20:17 next collapse

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

zalgotext@sh.itjust.works on 07 Jun 2024 21:54 next collapse

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.

AnalogyAddict@lemmy.world on 07 Jun 2024 22:19 next collapse

I think it’s more that they are trying to solve the problem by changing the dev team processes, when the biggest factor of success is developing the RIGHT thing. But since most tech managers have risen up from the ranks of devs, and they have a hard time understanding that other people have valuable skills they don’t, they have no idea how to hire good designers and refuse to listen to them when they happen to get one.

kaffiene@lemmy.world on 07 Jun 2024 22:45 collapse

I so agree with you. Especially that software engineering is not like actual engineering. Ironically that’s the first point of the agile manifesto - is all about the people and interactions, not the tools and processes. That’s why I’m leery about these grand claims about agile failures when half the time they mean scrum and just doing scrum isn’t agile (see point one of the manifesto)

Ilflish@lemm.ee on 08 Jun 2024 19:39 collapse

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 on 08 Jun 2024 21:30 collapse

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

Brickardo@feddit.nl on 12 Jun 2024 20:53 collapse

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.