You're right but I think it actually needs so much more than that.
I've worked on both sides of enterprise software, firstly building and deploying Incredible Feats of Engineering in the face of Ludicrous Requests from the Idiot Clients, and then secondly as an actual front line worker, doing Work That Actually Matters in the face of ill-designed Utterly Broken Tools produced by Arrogant Engineers.
It's convinced me that "requirements gathering" in all it's forms just doesn't work, or at least is a currently unsolved problem.
If I ever set up a company it will be a kind of Gonzo software consultancy where my engineers take on long contracts, the first
year at least of which is just working entry level in the client company, actually carrying their actual workload, actually reporting up their chain of command. The only way anything is ever solved properly is when someone who genuinely understands and needs to solve the problem, also has the skills to do it. The current system of promoting talent away from real problems splits these two things up.