this post was submitted on 05 Jun 2024
413 points (94.4% liked)
Programming
16971 readers
243 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 !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I wonder why anyone would downvote you. to break down what you said:
this applies to everything in life. zero reason to downvote this unless you're a zealot who doesn't understand nuance
the whole point of agile is to be short term, maybe your downvoter thinks that the team doesn't need to be on the same page???? don't know how that is in any way a good idea. it means you haven't done a good job communicating...
anyone that disagrees with this hasn't actually gone through with Agile according to all the tenets. It sucks for anything more than the tiniest projects that don't need long term maintainability. I'm guessing this is where someone disagrees, but I can't fathom why. Maybe they've only worked at one place, they think it actually is working, yet haven't been there long enough to see the downsides or something.
There is nothing in the agile tenets about only using it for short term projects. I've had very successful multi-year agile projects.
Frankly "agile" just goes over most people's heads. They think it means sprints and stand-ups with no documentation.
A large and complex system with an API and interacts with multiple other systems that is maintained over multiple years will be killed by agile through scope creep and inconsistent implementation when there is staff turnover. People will get great ideas that break other things snd without a cohesive vision across the team, things will be missed and unfinished because people focus on their part and not the whole.
You can add the structure to keep things coherent and spend more time doing documetation up front so people can review the API and do it right the first time instead of redoing it multiple times.
Agile is great for some projects, but ataff turnover, coordination, and meeting any kind of complex external requiirements means it isn't a great fit for all projects.
I'm curious about why you think this. I've seen complex multi year efforts succeed and continue to evolve with agile principles in mind. What specific part of agile do you think would necessarily cause the issues you mentioned?
I've used a wrench to hanmer in a nail more than once, but that doesn't mean it was the best tool for the job.
It isn't that agile can't be used for something big, but that the design will likelyntun into hard requirements that must be approached certain ways and at thst point you are using agile to do waterfall. If it improves communication earlier in the process (which waterfall does not prohibit) that is great!
Not really. The whole point of Agile is to iterate. This means short development cycles which include review and design rounds to adapt to changes that can and will surface throughout the project. The whole point of Agile is to eliminate problems caused by business, project, and technical goals not changing because planning is rigid and can't accommodate any changes because the process does not have room for those.
This is why this whole "things need to be planned" crowd are simply talking out of ignorance. Agile requires global planning, but on top of this supports design reviews along the way to be able to face changing needs. This requires planning in short-medium-long terms.
Don't blame Agile for your inability to plan. No one forces you not to plan ahead.