I'm a developer and I agree.
There is a great book (that I haven't read) on not letting the patients run the asylum.
The story goes that the old mental health asylums failed because Doctors �knew what was best� to help the patients. That very, very rarely worked and not many people got better. Some research came out showing benefits if patients were involved in the process (i.e. addressing the causes, working out what will work for them and assisting other patients recover/cope with their illness).
So the pendulum swung the other way. The patients ran amuck (literally bedlam, that�s where the word comes from).
NOW we know that the path to recovery is somewhere in the middle, where doctors and patients work together with neither being in total control
That applies to software development.
Don�t give the customer everything they want because they very rarely understand the implications they want (cost, time, effort).
Also, the customer can give ideas in relation to the process, but the customer shouldn�t design the software. That�s not where their focus should be, their focus should be on providing feedback on how they want to use the product and what end result they need.
Similarly, the developer should never create something in isolation for a customer because they never fully understand what the customer wants, nor how the customer might use their product.
The customer and developer need to forge a relationship where a trade off is made between everything the customer wants and the cost of delivering what the customer wants.
Microsoft�s big stuff up is that they are the Doctors running the asylum. They are dictating what you are going to use and how you are going to use it, in spite of what you want to use and how you want to use it.
Philip
___________________
Nobody can hear you scream in Euclidean space.