Is Agile Nonsense? My case for Waterfall.
This is maybe a hot take, but opening a discussion. I believe that agile is a framework invented by paper pushers (product managers) to avoid responsibility. It is inefficient, and introduces significant burden onto developers.
Here are some of my observations:
- Agile gives product managers an out to “change their mind”. Sure, changing their mind on a ticket costs them nothing to rewrite, but the consequences of redoing architecture and reworking implementations are enormous. They waste time.
I always ask product managers: “can you guarantee me that every edge case is documented, and that these requirements will never change in at least 5-10 years?” If the answer is no, then the ticket is not ready.
- Agile gives the paper pushes license to not think through the entire app. Before we build, EVERYTHING should be planned. If not, how can we accurately design the database with constraints, select architecture, etc.
A full product spec should be delivered up front, and developers build over a period of years.
- Agile results on costly rework. I had one feature where we did an MVP, and then several augmentations over a period of years. I probably spent 40 days doing it. If everything was scoped up front and we did it years ago all at once? It would’ve taken 25-30 days. We churned through 10-15 days because the paper pushers said “we need client impact now” and “we have to make sales to fund the project”.
If upper management isn’t willing to make a long term commitment and up foot the bill early, then they shouldn’t be in the software business.