Agile sucks for software development and I’m tired of pretending it doesn’t

83 points by nabazlbhf1337 ↗ HN
Warning: Unpopular opinion ahead.

Agile extremists love to dance around the broken record of: “but Agile is what ‘high-performing’ development teams use”.

Is it?

According to who?

What study?

What was the sample size?

How long was the study run?

What caliber of companies were included in the study?

Most importantly, what was the percentage increase in deliverability/speed/efficiency/developer happiness/customer happiness when using agile vs without?

These are questions the agile overlords either don’t know or refuse to provide the answer to.

Even if said studies exist (hint: quality ones don’t), those studies would likely have been conducted by statisticians who have never worked on a development team, thus making their study unqualified right out of the gate.

I don’t know what your definition of high-performance is but my definition would be along the lines of “delivering high-quality software quickly and efficiently”.

Now please explain to me what part about spending half the day in meetings rather than writing code is actually “high-performing”. There is a reason Elon Musk just fired half of Twitter. Sitting around in meetings all day [pretending it’s important](https://www.linkedin.com/pulse/sorry-your-job-doesnt-matter-what-matters-wayne-k-spear/) does not provide value. Clearly Elon is calling the bluff of all of the corporate shills who managed to convince company leaders that these meetings truly are important by firing everyone who sits around all day doing something other than writing code. He clearly put 44 billion dollars where his mouth is and told you that your pointless meetings don’t matter and they don’t need it to build quality software.

My previous company spent 1 hour every Wednesday talking about whatever urgent items needed to be addressed and then we peaced out for the rest of the week unless anything came up (in which case we would reach out to the person ad-hoc in Slack, rather than scheduling un-needed recurring weekly meetings)

My current company spends 4 out of 8 hours every day in meetings. These meetings include:

- Stand up - Sprint planning - Retrospective - Refinement - probably 5 others that I’m forgetting

I’m not an agile extremist so you’ll have to excuse me if I’ve gotten any of the their ridiculous verbiage wrong.

But let’s cut to the chase.

Someone explain to me:

Where within the definition of “high-performance” does taking 2 weeks and 4 meetings with 10 developers on each call just to deliver a simple list-filter feature fit in?

I ask because such a feature would have taken my previous non-agile team not more than 1 meeting and not more than 1 day to complete.

If team A takes 2 weeks and 4 meetings to deliver said feature and team B takes 1 day and 1 meetings to deliver said feature then simply put, team A needs to sit down and shut up as they hold no ground to talk about “high-performance”.

The time-tested adage of “put your money where your mouth is” holds true no matter how many agile verbiages you want to throw at it or how many agile-non-believers you scream obscenities in the face of.

Below is an open challenge to any person or organization:

Have your agile team deliver high-quality software more quickly and efficiently than my non-agile team and I will print out this post and eat it on camera.

Until then: sit down and shut up.

92 comments

[ 3.3 ms ] story [ 168 ms ] thread
seems like a bit of a cope to me...
> There is a reason Elon Musk just fired half of Twitter.

Incompetence? Vindictiveness? A huge bag of weed?

> Agile team ... non-agile team

What is non-agile team, Waterfall? You sre the one demanding spesific information and studies, so explain clearly, and be spesific, what are you even advocating?

Have you ever heard of shape-up? https://basecamp.com/shapeup

One of the issues I have with how agile is all things to all people is that nobody's trying new things. They're trying to fit what they're already doing inside the definition of agile instead.

> My previous company spent 1 hour every Wednesday talking about whatever urgent items needed to be addressed and then we peaced out for the rest of the week unless anything came up

This is agile.

> My current company spends 4 out of 8 hours every day in meetings. These meetings include: - Stand up - Sprint planning - Retrospective - Refinement - probably 5 others that I’m forgetting

This is simply dysfunction.

You're contrasting process heavy vs process light, not agile vs. an alternative methodology.

When people contrast agile against something, it's typically the waterfall method of design. And you'd know that if you saw it. (Interviews, design docs, stakeholder sign offs, etc. before any code happens.)

Commenting this on every post without explaining anything doesn't really do anything but confuse. And the more you do it, the more it appears that your definition of "agile" would be the outlier here. Though as many will tell you, the definition of the process is quite varied.
There's times when 4 hours of meetings a day is the way to go to get to your goal and there's times when no meetings is the way to go.

Different projects/tasks require different solutions and I'm tired of people pretending they don't

How exactly are you defining agile? Scrum is not agile, are you advocating for waterfall? Because the type of project management doesn’t dictate the number of meetings, waterfall development would be slow lengthy involve lots of meetings and you May not even start coding until months of requirement gathering. I’m not even saying “you’re doing agile wrong” I’m just not sure what you mean by agile.
> My current company spends 4 out of 8 hours every day in meetings.

I hate to pull a "no true scottsman", but absolutely nothing about that is being agile. The manifesto says nothing about cargo culting various ceremonies, in fact quite the opposite.

My experience with Agile has been a little bit meeting heavy though, the rituals etc.

It’s a really hard balance to get right and Agile easily ends up turning into a lot of pointless meetings teams feel like they need to have because that’s part of the manifesto they prescribed too.

I’ve also found lot of counselling and explaining starts happening when sprints aren’t going well or people become fatigued.

We could argue it’s not an Agile problem, like everything it’s susceptible to a lot of problems which we like to gloss over because it’s convenient to do so and those who advocate for agile haven’t bothered to revise and improve on the original manifesto to address these weaknesses.

the Agile manifesto is a bit like a bible in that sense.

True, there's a problem with the way it's implemented. But developers rarely have a choice on how PMs manage their projects. Agile just doesn't work for long term projects. It leads to junk code that developers hope they will fix later or long hours for them trying to meet deadlines. A lot of the time it's both.
If you say "Project Manager", I'm already suspicious that you're actually doing agile. The most popular agile framework scrum doesn't have a project manager role.
I grant you that. I might not have done true scrum. It just emphasizes that developers don't pick how a project is managed. I've worked with a number of implementations. The last one was big enough that it had a top level project manager that coordinated a number of Scrum masters and their teams. The whole process was sort of plugged into the company's existing structure. But the importance of short timelines, constant input, daily standups and on on... Was there.

Anyhow, as a developer I'm not a fan. I've seen the results of agile on the code and it's not pretty. Say nothing of the added stress on developers. Managers like to think that software development is linear. A developer should be able to get X amount of work done over a period of time. But as a developer we know that that's not always the case.

Agile is like communism in that it never fucking works, and whenever it fails (which it inevitably does), the apologists always say, "well they just weren't doing it right."
From being in various companies, I can tell you that they each had their own definition of what "agile" is. Your company happens to be that there's plenty of meetings to "communicate" what's happening. We are agile, and don't feel at all what you're describing.

I think ideally, agile should be where you put outcome over output, that's it. And I think that's the correct way of thinking when it comes to wanting to deliver the best product.

> My current company spends 4 out of 8 hours every day in meetings

Here's your problem. The rest is just measuring the symptoms and attaching labels to them, but the disease itself is clear. It's not about "agile". I don't know what is called "agile" in your organization, but whatever it is, the theory is not the problem. The implementation you have is.

Well, for one you're definitely being hyperbolic. Half of every day in meetings is worse than the worst agile shop I've ever seen by factor of 10. Also, agile doesn't require any meetings ever. Scrum recommends a cadence of specific meetings which should add up to maybe 2-4 hours per week, but I consider that approach only necessary for immature teams. Also, agile doesn't promise faster delivery. There's no way to project manage your way to faster coding. The only critical principal is iterative improvement meaning that you deliver features to full quality in priority order. The idea is to always have a stable main branch and be able to accurately measure progress even when priorities change. The value is for the team knowing exactly what's expected of them at any given time and for stakeholders to see exactly what is and isn't done at any point. Teams and developers will always run at different paces for different projects. Good agile process is about visibility.
Agile isn't one thing and isn't gonna fix a bad team, and does nothing to address problems with management. I have had great successes with forms of it, but that doesn't mean that it's the best fit for every team.
I hear that you're angry, and agile certainly has issues, but the things you're angry about aren't agile issues, they're just a broken process that someone has told you is agile.
I feel for you, but this is really "not Agile". The point is shipping working software every sprint, and during the sprint you are not supposed to be interrupted until Sprint demo.

It's on the so-called Product Owner to prioritize what's next sprint, projections, etc, and a Scrum Master is supposed to help protect you from distractions.

I've done this style of agile before, and it's great. However the issue is many mgmt types still only caring about when "all of this will be done?", and also teams and people which can't think incrementally.

You seem to be conflating excess meetings with agile. I'd consider my team pretty agile, in that we closely collaborate with our customers and deliver early and often. Seems like you do that too.

I think you might be getting pressure to change the way you work by folks that don't perform. That sucks; I've been there. Hopefully the pressure turns into nothing, because that's generally been my experience. Precisely because the folks applying the pressure don't get things done, and that includes changing the way you work.

Generalizing methodologies is hard. What works for a 5 people startup might not for a few thousand multi-decade company. Or even for another 5 people startup with different culture.

It’s not that you can’t learn from previous experience, but we have an unhealthy tendency of looking for a one-size-fits-all solution that comes with a bunch of fashionable names attached in this industry.

> My current company spends 4 out of 8 hours every day in meetings

This doesn't have anything to do with agile. You can run "agile" with as little as an hour of meetings a week if you want. Planning, retro, refinement in one weekly, async standup in Slack. You can bring standups in person, have them daily or less frequently, adjust the frequency, change your sprints from 1 to 2 weeks.

Even the heaviest weight version of this I can imagine (daily 30 min standups, 1 hour planning, 30 min retro, weekly sprints) adds up to 4 hours total for the week. So what you're describing is 80% something beyond that.

> taking 2 weeks and 4 meetings with 10 developers on each call just to deliver a simple list-filter feature fit in?

This sounds like you've moved from smaller company to bigger company and are noticing things move slower, though correct me if I'm wrong.

Either way, these are the questions: Why does the feature actually take two weeks to build? Are there more factors beyond the team? Larger scale? More testing / QA needed than pushing out to prod? Just plain worse developers? Bad PR practices that delay the feature? These factors again are nothing to do with "agile".

Another person asked this well, but really you've offered no notes on what your old team did differently that was not "agile". What's the alternative that people are missing?

> Even the heaviest weight version of this I can imagine (daily 30 min standups, 1 hour planning, 30 min retro, weekly sprints) adds up to 4 hours total for the week. So what you're describing is 80% something beyond that.

Pivotal Labs, well known for "doing Agile right," spends the entire Friday doing no work every week.

Disclaimer: Defining and using a narrow definition agile IMO is a useless rabbit hole.

And the big names in tech also purport to use agile and spend maybe an hour every Friday or Monday doing "agile" type meetings. Which are we talking about here?

If it helps, add to my above post that I'm using "agile" to mean the philosophy of defined sprints with stand ups, planning, and retrospectives to help execute a larger, changing roadmap. There are many many other rules people can choose to add, but my experience across many companies is that this is the shared core in practicality.

When people say agile, 95%+ of the time they don't mean whatever Pivotal Labs is using for a standard. I've practiced "agile development" at F10, big tech, and under 250 person startups, and no one has ever referenced a strict spec definition like that, not even the F10 which basically said "here's some detailed guidelines some use, take what works". So what's the relevance of this strict definition?

I agree that there's no use defining things so narrowly, but I think your experience about the meeting load involved in "doing agile" is atypically low for the industry in general.
Maybe so, but it's varied across size and industry and matches with my friends experience in other broad areas. So I guess let's reframe: what is my meeting load estimate (the 4 hour a week high side) missing? How does that get to 4 hours a day, and if not there, what is the maximum?

To be clear, that's not to say that other meetings can't be used, but that they are not part of the "agile" process. I can easily imagine a dev ending up with 4 hours a day, but that's more related to company size and process. Things like design reviews, meeting with other teams, not being able to quickly find the right point of contact, using meetings to find out you have the wrong person, not defining clear agendas, inviting too many people to meetings, and so on. I'd bet some of these are affecting OP, but again, this has nothing to do with the style of development planning/process.

It's easy to get to 4 hours a week of only standups.
Okay, that's not what I said or what OP said though:

> How does that get to 4 hours a day

If your running strict scrum your stand-ups should be 15 minutes. In my current company as well as my last role that'd be a long stand. They were usually closer to 5.
Agile isn't just a workflow or philosphy. It's a way of life. No one has ever ben sucessful without triaging first.
Honestly, at my last company, in my first team we reserved the fridays afternoons for demo and short formations (the most complex, that also resonated the most with me, explained how and why the network architecture was made, while some were as basic as explaining how to make good PR).

It was way more productive than with my second team where we used one hour every two week for the retro. In big company, the time you actually spend on understanding how everything work is never really lost.

"Democracy is the worst form of government – except for all the others that have been tried"

I feel the same may be true w/Agile.

Exactly. When people say “agile sucks!” I always want to ask “compared to what?” Engineers who say that they meet for a few minutes once a week and then everyone somehow just knows what to do… frankly I call bullshit. That may work at a 5 person startup, but as soon as you have 100 people, you’re going to have a lot of programmers writing code who are sure they know what’s best but in fact have no idea how their work aligns with the company’s overall goals.
A spec
Well… yes. And the spec is perfect, right?
Not perfect, no. But imperfection is no excuse not to try, like agile would have you believe.
At the risk of going "no true Agile" on you: There is nothing about agile that requires spending 4 hours a day in meetings. You're suffering (I believe that is the correct word) under an agile-in-name-only bureaucracy.

Agile can be done well. I've seen it, and it was amazing. I've also seen "agile" implemented where the number of meetings (and the number of forms) keep going up. But the existence of the fake does not disprove the existence of the real. It just means that you have to be very wary of anything bearing the name.

There’s pros and cons to both approaches. At the end of the day the framework you use won’t make up for serious deficiencies in the product/organization/tech stack. But you can’t ignore benefits with agile over waterfall of delivering small incremental updates quickly, major issues and defects bubble up quicker and can be address before you sink too much time/effor into the product.

This is similar to the lean approach in manufacturing that has been very popular over the past ~20 years.

No one will get far trying to have a debate here. Agile is both poorly and conflictingly well-defined and its adherents seem to lean on "no true Scotsman" defences when given an example of massive inefficiencies an organization that claims to do it. Whatever you are doing is "agile" if you are performing well and not if you aren't. Also the idea of some pure waterfall is nearly as much of a strawman as the ethereal agile. Measuring performance is also quite difficult. Is it meeting internal or external deadlines? Providing consistent and accurate estimates of time and effort? Providing software of sufficient quality regardless of those measures? Do what works for your team. Make changes if it isn't working.
You almost have to admire it from a rhetorical perspective. Kent Beck created a manifesto so vague and flexible that it can literally be anything to anyone.

> Make changes if it isn't working.

If measuring performance is so difficult, then how do you know if it's working or not?

I’d argue that your previous team was an agile team. My team also has 1 meeting a week where we go over the work for the week, and ask any questions we might have. We do retro like once a month but not always. Depends if we have anything to talk about. We don’t do any Agile™ stuff. I’d say we’re closer to an extreme programming team which has a lot of influence on capital A Agile. At any rate I agree that the type of top-down Agile forced on teams is not good for teams. The only people I can see benefitting are directors. The style I work in keeps everyone but my team in the dark and unless you have a good track record exceeding expectations you might be forced into Agile™
Not an Agile extremist. If done effectively agile is a simple framework for aligning on work, having some cadence for updates and accepting or rejecting work based on quality and alignment.

I personally dislike when it's made significantly more complex. High-performing teams can work in a standard Scrum framework or they can customize agile to suite their needs.

If you're spending hours a day in meetings, you're not using the framework correctly. In a fell-functioning team, you'll spend 5-10min max doing some form of standup, in some teams this is even async so no daily meeting. That leaves one planning meeting every two weeks and one review meeting to see how you've done.

> 4 out of 8 hours every day in meetings

Does not sound like agile. Standup is a 15 minute affair, planning & retrospective a once every 2-week (however long your sprints are) event 1-2 hours long. That's all. Roughly 4 hours for every 80 hours of work.

Whatever you have going on there is probably a wild detour off SCRUM inflicted by agile consultants, which seems to be very common these days.

The number of Agile apologists in this comment section surprises me.
Why? Agile has been the favored approach to software development among the startup crowd for over a decade now. I don't think I've had a job since 2008 that didn't use it in some fashion.
IMO all agile should be about is making sure everything is easy to change. Make code that's easy to change. Make procedures that are easy to change.

And actually make change and find what works.