I have heard too many stories in my years as a developer, of clients being taken advantage of by either inept developers or downright unethical schemes used to enrich the pockets of the developer. I remember being shocked when a developer I met with talked about his clients only in the sense of them being “his revenue stream”. The developer cared not one bit about the quality of what he provided (and clients were in fact very unhappy), what he cared about was giving them the minimum in order to protect his revenue stream.
Yes, certainly the revenue stream is important, but I do not believe it is all important. Personally I believe that a developer has a responsibility to the client to provide service to the client which meets or exceeds the value intended for the project. The attitude which has the customer as only a “revenue stream” is not one I respect.
There are times when I will be asked by a customer to work with another developer with whom I’ve not worked before. This is always an uncomfortable situation to be placed into since I find myself working with another whose attitudes and ethics I am not familiar with. To further complicate matters in most instances I am new to the customer as well – so I don’t know the attitudes or ethics of the client either. One situation that I ran into a few years back was a nightmare – clash after clash of values and ethical standards. I couldn’t wait to get away from that situation.