Somebody left the following comment on my Youtube channel: “UML is a complete and total overengineered waste of time. Write down a list of stuff to do, prioritize, get stuff done. Stop over complicating things.”
I’m not saying that UML and detailed planning is the ultimate answer in every situation. To-do lists might work for simpler projects.
However, when you have to work with complex systems, and design large-scale projects, you can’t work effectively without rules and standards.
Here’s an analogy.
You might be able to build a survival shelter without a plan.
But you definitely need a plan to build this one:
UML is pretty useful, just don’t get lost in the details.
Agile becomes wishful thinking if people don’t understand its core principles. It takes time and practice to apply Agile correctly. When used for the right project and done right, Agile can be a life-saver.
In the past 20 years, I’ve been involved in both Waterfall and Agile projects. Some completed successfully, while others failed miserably.
It’s almost never the methodology to blame, but rather the incompetence of people, the wrong decisions, and the unrealistic expectations and deadlines.