>I have seen people drive the wrong way down a one-way street. If you consider yourself to be a consultant, then you should consult. Don't just blindly do anything a customer requests. That simply makes you a hired gun.
True. I've many times tried to lead the customer to reconsider some requirement, by asking good questions when possible (and I do get the "good question!" frequently), or bluntly asking whether they understand what they'll get. Because I'm not hired just to write code, but to think for them as well. In the end, if I just blindly did what they asked, we'd both end with something that neither of us would like. I only have the advantage of seeing it in advance, and sharing that insight is, IMO, part of what I'm paid for.