Top Ten Attributes of Good Clients
The following attributes are arranged in countdown-style, to denote relative importance to me. I'm the first to admit that it's a subjective and incomplete list. Also, to go beyond "good" and be considered a "great" client, they would have to possess almost all of these attributes and more. No single attribute can redeem an otherwise "bad" client by itself, and many of the attributes on this list are of similar importance.
10. Friendliness (and camaraderie)
Nobody really wants to work with dry and/or unhappy people or people that don't care that they are part of a team. Friendliness and camaraderie goes a long way towards smoothing over the bumps in the relationship that will unavoidably crop up. The question "Would I want to have a beer with this person?" that we sometimes use as a basis to judge job candidates applies equally well to potential clients. Always acting as a team engenders a more successful and satisfying project for both parties.
9. Gives you positive publicity in public
Our great client, David Cohn (of spot.us) comes to mind. We did great work for him and in return he has promoted Hashrocket with an infectious enthusiasm that is more than I could have ever dreamed of asking from him. The positive feedback loop of goodwill and results is priceless -- my developers at Hashrocket are actually competing to get the chance to work with David on upcoming phases.
8. Pushes you to learn and evolve in private
The positive flip-side of enthusiastic promotion in public comes from clients that push you privately to evolve your internal processes and raise your output. I'm talking about clients that treat you more as a partner than as a vendor, and take corresponding measures to help you improve. Those clients play a non-trivial part in the growth and success of your business via their questions, advice and support.
7. Realistic expectations
One of the most important skills that a good consultant possesses is the ability to properly set expectations. However, the client needs to be receptive to expectation-setting and be open-minded about evolving their own plans as the relationship evolves and the project takes on a life of its own. I never take this attribute for granted; too many times I've been burned by clients that refuse to acknowledge the realities of software development and the impact of scope creep on schedules.
A great client doesn't want to simply hand off responsibility for the project to you. They want you to be their partner and they are communicative and optimistic about your involvement. Involved stakeholders aren't afraid to make decisions. They stay engaged and communicative during the entire project. They don't make you wait hours or days for responses to questions, and they are enthusiastic participants in your acceptance process, allowing you to finish the project without being overly demanding.
You might have some success with a close-minded client that has money and lets you drive a project mostly by yourself, but in my experience the client has to be highly intelligent and open-minded to understand and apply Agile concepts to their business and allow you to do the same when you're working with them.
Do you want to deal with a client that second-guesses your advice and decisions? Of course not. This is one reason why it's so critically important to truly be an expert of the domain in which you consult clients. You can't ding a client on this attribute if you are making legitimate errors in your advice and decisions. However, if you know what you're doing and have the track record to prove it then make sure you get the respect you deserve.
3. Has a viable business model
Great clients that are established companies are not in the process of going out of business or struggling through corporate crises that distract them from the success of your project. Great startup clients have a business plan that you believe in, or at worst, you can see some viability in. You might be tempted to work with clients that do not have viable businesses, but it's a risky proposition. Eventually the same problems that are dooming their business will make them aggravating to work with or cause them to default on their financial commitments to you.
Great clients takes the time to read and understand the contract they signed with you. They take the time to learn and appreciate your development process. They don't act in ways that subvert your development process. They respond to your communications in a timely fashion. They provide thorough and detailed answers to your product-related questions.
1. Pays on time
Simply put, great clients always pay what they owe you and they pay on time.
Consultants, what are some of the top attributes that you associate with great clients? Share your thoughts in the comments...
Think you have what it takes to be a great Hashrocket client? Contact us at firstname.lastname@example.org