UML is not dessert topping and floor wax.
The task of the software development team is to engineer the illusion of simplicity.
All of life is iterative. It goes back to the point I made earlier, which is you can't a priori know enough to even ask the right questions.
Ah, but who do you think created the chaos?
The amateur software engineer is always in search of magic.
Hierarchy is a kind of order of abstractions.