> When people ask them what they need, the [users] dutifully list out their conscious knowledge. When a [developer] cranks out a patch, the result will be unsatisfactory: unless the [developer] is luckier than anyone deserves, the patch will fail to meet the requirements in the subconscious list. The [client] then says "We told you exactly what to do, how could you mess it up so badly???"
This story is universal. It's one of the few reasons why software projects are always late, over-budget and do not deliver the expected features.
What is really needed is someone who has a foot on each side, and is respected by both. If this someone comes from the developer side, he needs to take the time to learn how the client side does it's thing, and to feel the "pain" they feel. If it comes from the other side, he has to be someone capable of (and willing to) solving problems with logic, not political pressure.