R. C. van Dijk (8/24/2009)
The approach that the customer is always right, is totally wrong. Make them think they are right whilst feeding them with your own ideas is the way to go. Programmers (together with consultants) know best. Make them think your ideas are their own and yes, make them sign of on them!
I thought the article was very good until I came across
As a project manager or even a developer, you know better than the end user. They don't think so, but most of the time you have a better overview of the system and clients work to be done.
and then I began to wonder. Then the above remark compounded things.
Most DBAs, project managers, programmers, consultants can't be polymaths (except maybe for the odd genius here and there). So unless the applications happen to be in only one area and you've learnt that area thoroughly, you probably don't know what's required better than the end user - you probably know and understand a lot less than he does. Of course if the person setting the requirement is not an end user but a "management consultant" or an "efficiency consultant" then you possibly do know far more than him/her, because he is pontificating about a field (the application domain) that is not his/her claimed area of expertise (management, or efficiency). In the IT industry such consultants have a terrible reputation - and you are advocating precisely the sort or arrogant and incompetent attitude that is largely responsible for that reputation.
Yes, sometimes you can see that a stated requirement could have dire consequences - and then you have to work with the end user to find whether it's a real requirement (in which case you have to give hime the bad news and see where things go from there) or a badly expressed requirement: but when your real end user (a lawyer, perhaps, or an organic chemist) says something like "I have to demonstrate that this set of information was shown simultaneously on a single screen for verification in order to comply with Amcedonia's such and such regulation" or "I need to see these characteristics of the molecule together to determine that it will be safe in contact with ethylene" you had better not pretend that you know better.