Sounds good, but I can see several obstacles to this, especially when it's not an internal tool (and most of the time it isn't, unless you're Amazon): e.g. that the people talking to the customer are not the same people developing the application (maybe the people on the customer's side are not the real domain experts either); or that the customer has a mentality of "we hired these guys to develop a shiny new system for us, but our guys are much too busy to act as counselors for them" etc.
> that the people talking to the customer are not the same people developing the application
I think there can be some slack in this. I've had great success when product managers and UX designers worked closely tightly with engineers but were the only ones talking to customers/users. As long as their focus is on deeply understanding the domain and user needs it can work really well. I think XP describes this as something like a standin customer.