this post was submitted on 05 Jun 2024
424 points (94.5% liked)

Programming

16943 readers
580 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 3 months ago

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.

[–] [email protected] 30 points 3 months ago* (last edited 3 months 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." :)

[–] [email protected] 7 points 3 months ago* (last edited 3 months ago)

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

[–] [email protected] 14 points 3 months ago* (last edited 3 months ago) (2 children)

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.

[–] [email protected] 3 points 3 months ago* (last edited 3 months ago) (1 children)

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.

[–] [email protected] 2 points 3 months 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.

[–] [email protected] 3 points 3 months ago

Remember that it is frightingly easy to lie with statistics. This is just a correlation. Smaller companies (whom may have less experience, worse less-paid engineers) may prefer agile due to the amount of up-front effort for things like waterfall.

[–] [email protected] 2 points 3 months ago

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

Shockedpikachu.jpg when things fall apart.

[–] [email protected] 5 points 3 months ago

Ha, "fail faster" indeed

[–] [email protected] 22 points 3 months 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.

[–] [email protected] 21 points 3 months ago (1 children)

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.

[–] [email protected] 14 points 3 months ago (6 children)

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.

[–] [email protected] 1 points 3 months ago

There aren't any meetings that are part of Agile. The point of Agile is that you're supposed to let teams self-organize and define their own process through iteration but managers hate that so they issue a top-down mandate to implement the Scrum process without allowing anyone outside of management to change it in any way and call it "Agile".

[–] [email protected] 3 points 3 months 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.

[–] [email protected] 0 points 3 months ago

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

Like Communism.

[–] [email protected] 3 points 3 months ago

Is it really that unlikely that companies that jumped into the agile hype train do it wrong?

[–] [email protected] 23 points 3 months ago (1 children)

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.

[–] [email protected] 9 points 3 months ago (2 children)

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.

[–] [email protected] 2 points 3 months ago

Similar, except we only budget for half an hour so as it drags on past the first or sometimes even second hour it takes over lunchtime.

Even when people avoid trying to say anything so as not to drag it out, the mere fact that the meeting is happening means that it will manage to take up the whole block of time and then some.

Ironically I'm starting to wonder if the solution might be MORE rather than fewer meetings, bc people need SOME time to work it all out, so if there were other more focused ones then all that could go there rather than have to take place in the only meeting it can - where it takes up the time of the entire team.

[–] [email protected] 4 points 3 months ago (1 children)

One common thread between these projects was that we used actual, physical note cards to track things. They were also logged in Jira, but the standups were 5-10 people actually standing in a room tracking burn down and status with cards taped to a wall. Nobody wants to be standing for more than 15 minutes, and anything that needed a sidebar was handled with a smaller group in another impromptu meeting.

[–] [email protected] 3 points 3 months ago

I agree, in my experience in person stand-ups are much better than online.

  1. People don't want to sand around and want to get back to their desk.
  2. Parking lot discussions can just be handled in the hall outside the meeting room 90% of the time and don't require adding a new meeting to a calendar, although if there is only one issue that needs further discussion we just usually let everyone else drop call and handle it then.
[–] [email protected] 10 points 3 months ago (2 children)

Well, you're supposed to refer to them as "rituals". "Meetings" are so waterfall. No wonder it isn't working.

[–] [email protected] 2 points 3 months ago

I prefer séance

[–] [email protected] 4 points 3 months ago (1 children)

Maybe if we mix in another metaphor, Agile will work.

[–] [email protected] 3 points 3 months ago

Great idea! Let's huddle with the Coach at the retrospective.

[–] [email protected] 1 points 3 months ago

Lol I'm going to send this to my project manager

load more comments
view more: next ›