Ah, but who do you think created the chaos?
The amateur software engineer is always in search of magic.
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.
Hierarchy is a kind of order of abstractions.
The task of the software development team is to engineer the illusion of simplicity.
UML is not dessert topping and floor wax.