Questions regarding best practices

Events happening in the community are now at Drupal community events on www.drupal.org.
abby_normal's picture

I'm just wondering how some of you guys handle extremely difficult clients, especially those who are so bad that you have to let the project go and you know they're going to head back to the Drupal community to find someone new.

Do you warn fellow developers about the client? Let them know that any project they bring forward is going to be at least 4 times as large as they say it's going to be? That it's best for all dealings to be via email so you have proof of what's said?

And do you wait to give them the files and such that you've worked on until they pay for the work?

A friend of mine who is also a Drupal developer asked me about this a week or so ago, and I realized I'd never run into the situation myself and didn't know what to say.

How do some of you guys handle this?

Comments

cover your arse

cinejeff's picture

Hi abby_normal,
Unfortunately, this scenario happens more often than we would all like it to. I’ve been in the business over a decade, and have learned a few things to help mitigate the risks of clients like these.

First, never do a “fix bid” or “not to exceed” project with clients you haven’t worked with before. I know the norm is to entertain these types of projects, but 9 times out of 10 the change management process falls apart. Most of the time when you bid the project, the client doesn’t even know what they want much less you being able to forecast the inevitable changes that will come your way. You will spend all your time trying to manage a project rather than actually doing development. Personally, I will always give an estimate, but re-align expectations as soon as I see an issue that will impact that estimate.

Second, if they are a new client, ask for a retainer. There is nothing wrong with telling clients that is your policy. If they are a reputable organization, they should have no problem with retainers.

Third, state in your contract that you own the code until it is fully paid for. If the client does not pay, do not hold back the files as they are useless to you, but let them know that they are violating copy write laws if they use them. If it comes down to a law suite, which you really hope it does not, and you can prove they used your material without your consent, they can owe you big time.

Lastly, let me know who they are so I can avoid them too ;)
Good luck,
J

PS. Love your idea to set up a site to warn developers about clients, but don’t tell anyone you own the site or I can’t see you getting much more work coming your way ;)

Pick up, learn, and move on

mikey_p's picture

Hopefully this never happens to anyone, but it does, and sometimes too frequently as well. There isn't really a 'best way' to handle each and every situation, other than to strive to learn and move on.

Personally, I am very hesitant to post a message or try to warn developers that I do not know. Without the full background and information, and the fact that some may not know me, and how to take my communication can lead to further miss communication that you didn't intend and can be damaging to you and to your client. While I don't agree with all the principles and tactics behind it, there can be legal issues with this approach as well.

Additionally (and this is personal advice as well) I would take note of the signs and problems you had with a client, and don't be afraid to be much more direct with clients in the future when you notice these type of problems. You can learn to recognize a client that doesn't understand the scope of their project, and either help them with that, or should they choose to ignore your help/advice, you can guard your practices, and be more forceful and firm in your dealings with that client.

-Mike

P.S. - Also, I am not sure about the copyright approach mentioned above, while there can be arguments for and against, for the most part, you can't sell your client code that works with Drupal, without it being licensed under the GPL. Once your code is licensed to your client under the GPL, I think you would have a hard time claiming copyright infringement. In some of these cases a better approach might be to pursue damages in small claims court.

Due Dilegence

susan_great's picture

Abby- There are certainly two sides to every story, but making sure you have done what you need to protect yourself from the start, as well as clarify the project is very important. Did you have a contract or written quote with your client outline the project? Your contract, which every website or new job should have in my opinion, should spell out what you are both agreeing to; price, hours, pages, forms, etc, etc. I agree with Mike, some clients don't truly know the scope of their own project. For example is this their first website? Is this their first drupal project? Part of our job as designers and drupal developers is to educate our clients during the process.

Make sure to ask questions, and again I agree with Mike, that you should not be afraid to be direct with your client about the direction the project is going or about problems. How else will they know that their project has gotten bigger than stated, or about issues on your end?

One of the biggest pieces of advice is to communicate with your client, you may not like them but when issues come up, get on the phone, not email and have a conversation. You can always document the call via email, with "per our conversation today, we agreed to / or we discussed .....".

Also- Did you live up to your word? Did you finish the project or at least finish what the contract stated you would? Quitting because a client is difficult is not a good reason, unless they are verbally abusive or something to that degree. Believe me i have worked with some real winners, but I am not going to quit cause they are difficult. Hey, I wouldn't have any clients (ha ha).

If they are that difficult and the project has truly gone over budget per your contract, give them a "in writing" revision or addendum to their written quote or contract. Hey, even jack it up for the headache. But first finish the work stated in the contract agreement. Personally, I try to finish every project I take on for my own credibility. In the end it usually works out. i find that most of my clients are really receptive to additional payment for more work, especially if the project starts to change or grow. Sometimes they just don't realize the work that goes into a site or the work that can go into a few "little" changes.

On the flip side, I am sure we have all had the experience of under quoting a job, misjudging the complexity or magnitude of a job. Well, then, it stinks, but suck it up and learn from the experience, cause i guarantee you won't ever make the mistake twice!

I think it is always important to look at your role in the situation with the client too. Are you living up to your end of the bargain, or are you letting personality issues cloud the situation? Just some food for thought.

On a personal note, I also think it is wrong to call someone out (your client). Just as I began this comment- there are two sides to every story and I don't think it is fair, legal or smart to slander someone because of your experience.

Chalk it up to experience, move on, finish the project or at least what you contracted to and let it go! At least you can say you did what you were contract, or what you promised to do. You don't want local clients giving you a bad recommendation either!

Good luck.

Portland (Oregon)

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: