I'm a firm believer of building close allied relationships with every single client that you work with. Having said that; the art of building allied relationships in the war front is a tricky affair. Finding a true ally you are willing to trust and bet your professional life on; is even trickier.
At Multiplitaxion Inc; a client of ours who was into selling multi-functional devices; it was not an uncommon sight to see countless engineers scramble for cover every time a new client showed up.
The reason: every single engineer in the premise knew that the client could ask for any product feature and chances were; that the marketing folks would go out there and either say that the device driver we were building already supported the feature or it was a part of next release that would be out in the next fifteen days.
Then; armies of consultants would be hired to get things to move faster. Multiplitaxion Inc; built their projects based on lies; but more than the lies; what really came back to bite us was the fact that Multiplitaxion Inc saw the client as external entity who descended from the heavens above; told the development team what to do; and then we; like robots; pretty much went out there and did what they told us to do.
Even today; I see countless engineers; both young and veteran ones; take the whole 'the-word-of-the-client' way too seriously. Every month I interview countless engineers; who use insanely stupid and complex frameworks to solve insanely simple problems. Ask them why they picked the framework and chances are; that they will tell you that their client wanted them to use the framework.
One example of taking the client's word way too seriously; came in this blog as a comment on my post about getting rid of your systems and not logging every single requirement your client has.
For those of you know did not read the post; the one line simplified version of the post; is that you need to get rid of as many systems as you can and sensibly possible and get your developers talking to each other.
Harvey Kandola offers a rather thought provoking comment on the very idea of getting rid of systems.
He brings up a valid point:
Good post, but not convinced the advice from 37Signals is applicable. What would you say to your clients who want to log and track each Request? Would you tell them that "we do not log / have systems". I think not.
In the end, every organization is different, and needs to look at things from it's own perspective. Team dynamics are a major factor in how people adopt and use systems.
I've myself gone ahead and suggested in the past that every organization is different; so yes; there is validity in the point Harvey makes. Having said that Harvey's comment also brings up a rather interesting concept of asking why and checking on the basic premise of the comment.
Humor me; dear reader; and read on; even if you might disagree. If nothing else; I might end up giving you some food for thought.
So; assuming that you have moved to an truly agile (without a capital 'A') environment where you have a successful product being used by a couple of clients; and you totally believe that logging every single requirement in a 'system' is not the way to approach software development. Smooth, free flowing, verbal communication has done the trick for you and has got you more than one successful implementation.
It is then that a client shows up and tells you that they want to track and log each request. What is it that we as software development shops; entrepreneur; and even developers; find so criminally wrong about telling the client that - we do not log or have a system for that.
Remember; that each client is different; and your relationship with your client; is an allied relationship or a marriage of two organizations to get something constructive done; where most typically your clients are supposed to know what needs to be get done and you are supposed to know how to get it done.
It is a mutual relationship; based on equality and exchange of value with your talent and services.
Go down the path of putting the client on a raised pedestal as a superior species who is always right; and you will soon learn that the path does not have an end. Every now and then; every successful business out there pulls the plug and learns the art of saying 'no'.
Success Factors CEO; Lars Dalgaard pulls the plug and draws the line; at the idea of being nice. He explains:
I was in Boston once and one of our customers was very nasty to our employees. I made it extremely clear to him right then and there that if he continued that; that means we close the deal. We like closing deals.
37Signals does it by starting by saying no:
Every new feature request that comes to us — or from us — meets a no. We listen but don't act. The initial response is "not now." If a request for a feature keeps coming back, that's when we know it's time to take a deeper look. Then, and only then, do we start considering the feature for real.
And what do you say to people who complain when you won't adopt their feature idea? Remind them why they like the app in the first place. "You like it because we say no. You like it because it doesn't do 100 other things. You like it because it doesn't try to please everyone all the time."
We at have work; in my current organization; have said 'no' to a process or a methodology that a client wanted us to follow more than once.
There are millions of clients on this planet; not every client out there is 'your' client. If your organization; or you genuinely believe in an approach or process; have the courage to stand by it; and say no --- even if it means losing a client.
Now; go find your own answers; figure out what works for you and what does not.
The next time; you have a client; who wants every error logged in a system; and 'if' your organization genuinely believes doing so is a waste of time; try saying 'no' for a change. There is a high possibility that you client might thank you for it in the long run; and if you lose them; they were probably not 'your' client in the first place. Just in case; if that happens; go look for another client.
There are plenty out there and if you look hard enough you might find clients who you can form strong allied relationships with.
I wish you good luck.