I’d add generating diagrams from the real code, database models, etc. as an alternative, too. General high-level diagrams don’t need the level of detail which UML requires but it’s inevitably not enough detail or accurate enough to understand the system using just the UML diagrams, so you end up with a bunch of expensive time wasted creating diagrams which don’t satisfy either audience.