“Is the customer always right?”
I get some interesting responses. My take on this is clear: the customer is clearly not always right, but it doesn’t matter as long as they are satisfied and happy. In fact, I like my customers deliriously happy if possible. It doesn’t matter if a problem is their fault you need to go out of your way to make them happy.
When it comes to developing applications one of the bad traits developers get into is doing things because they are easy to code, rather than because they are easy to use. There is rarely a time where it is a better policy to make the developer’s life easier at the expense of the end user. Of course, if possible, you want to make every ones life easier.
One of the most useful things a developer can do is to actually watch customers use their applications. It is amazing how “features” that you are proud of get used and abused by them and you can quickly see things that are poorly designed. Another practice that pays off in spades is to spend a day answering calls from customers and use the tools provided to the customer service staff. Nothing shows the flaws of a system like actually using it under fire!