Excellent article here for you wannabe consultants about abusive client relationships that you should end at the first opportunity.
Here's some of my own comments on these 11 clients you need to fire right now:
THE DISILLUSIONED consistently expresses disappointment with your work even though it is of good quality and conforms to spec.
This client is a very hard one to deal with. They often have pie in the sky ideas mixed with a difficulty of expressing those ideas in the form of a spec. What they end up with is something that works, but isn't what they envisioned in the special world inside their head.
Oftentimes though if they're an otherwise reasonable person you can work with them over time to manage their expectations and improve their spec design abilities. I wouldn't drop this client until I at least made an effort to work through their problems.
THE SUSPICIOUS consistently expresses a lack of trust, disdain for your work, or questions your integrity.
I have not found a good solution for this kind of client. Usually they are a "know it all" type or a client that has been burned by bad contractors in the past. I try to build confidence with every client but sometimes it just doesn't work out that way.
THE CHISLER consistently complains about your bill, even though it conforms to the estimate they agreed to.
This is one I personally have to work on. I tend to be a "nice guy" and I often catch myself discounting work to maintain a positive relationship with the client. What I have learned, however, is that once you take that first fatal step and discount some work suddently every line item on the bill is negotiable.
Doing extended business with the chisler is hell on your margins, if someone comes across as a chronic chisler you're better off ending the relationship.
THE SOMETHING-FOR-NOTHING consistently increases the scope of the project but refuses to pay for the additional work.
This is a symptom of clients not understanding the term "estimate" and clients not being aware of the impact a visually small change can have on an application. It's hard to explain to a client why x change will cause the database relationships to fundamentally change which requires a huge amount of backend changes just for a "little" thing.
On a side note, I love the author's comment about this being the equivalent to ringing up a bunch of groceries at the store, then adding a few items and bitching that the total price went up.
THE SLOW PAY consistently pays invoices late. In any small business, cash flow is king. Heck, in any large business, cash flow is king. So let's just say: cash flow is king, period.
I couldn't agree more. It always amazes me when clients consistently pay late knowing that my company has employees and subcontractors that I'm responsible for. I often wonder how they would feel if mysteriously their next paycheck was a month late. Generally though I don't consider this a client firing event unless the lateness is extreme.
THE FLAKE consistently is late meeting responsibilities, but still holds you to the original schedule.
I haven't had any experience with this one yet. Being a pretty punctual (and busy) person though I tend to get annoyed by people who waste my time. I personally have more trouble with:
THE CLINGER consistently makes unreasonable demands regarding your availability.
This client tends to think that not only are they your only client, but that any time, normal waking hours or not is free for them to call. Many service organizations charge a premium for service outside normal business hours and I think it's something that any contractor with a family and a value for their personal time needs to consider putting into their contract. That being said customer service is very important, and if a client has an emergency I'm more than happy to accomodate them. However if I'm occupied with another task I tend to get offended if a client demands a non-critical favor at the expense of myself or another client.
THE BLACKMAILER consistently refuses to pay an invoice until you perform additional work at no charge.
This problem is more the fault of the consultant in my mind. Be very careful what kind of work agreements you sign. Make sure you specify the following in your contract:
Specifications must be supplied or signed off on by the customer before work is begun. Changes to signed off on specs are subject to additional fees at an hourly rate. (Saves your ass in a fixed rate agreement)
In the case of a dispute over line items, client is obligated to pay the balance of line items that are not disputed. This gets you at least some of your money.
Client has full ownership of the source code once payment is made. Never, ever turn over source code that has not been paid for. If you do you give up the only leverage you have in a dispute.
In addition to #3, make sure you invested in a good source control system. If a client doesn't pay you for the end of your contract period, roll that puppy back and send them the code they've paid for while keeping a copy of the current source pending payment.
Specify in the contract that if the client is late in paying an invoice by more than X days (I usually say 1 week), that all development will halt until the client catches up. This prevents you from being in a situation where the client has racked up a significant amount of debt and stiffs you. Make sure that the contract specifies that any delay in schedule caused by development halts due to late payment is not your problem.