Worst case, it's sort of anarchy.
In the planning stage of a big project, we sit down with our business analysts to have some Q&A sessions, write up drafts of specifications, and go over specifics of the business needs with subject matter experts. Our team then draws up drafts of design documentation and process flows.
At some point thereafter, all hell breaks loose. The business sees an initial release and suddenly realizes either it didn't clarify what it was asking for, or we didn't clarify what they were asking for, or they didn't know what they were asking for in the first place. Time which should be spent by testers testing is instead spent by developers refactoring, sloppily.
What began as a rough but perhaps relatively elegant solution becomes a load of commented-out code with weird and precarious workarounds and shims applied which challenges everyone's ability to keep from having their own stack overflow of mental notes about what workaround applies under what circumstances to which code.
Time gets wasted, people get stressed, and inevitably more issues are found in testing which must be hammered out. Eventually it can become like something out of Looney Tunes, where a hodgepodge of kitchen utensils, boat oars, people and ocean liners are all stacked and balanced precariously on top of each other (kind of like that weird artist guy who spends his time balancing rocks on top of each other).
Regarding your friend's commentary, that style of leadership is fine in my mind so long as that person is open to discussion with the team. A manager is a manager in part because they manage well (hopefully), if they also code well that's a bonus, but if not they need to be receptive to suggestions by people on their team who are more savvy than they are. Failing that, there's always the fallback position which could be quoted as, "I get paid the same whether I work smart or stupid".