If you have much experience at freelance website development or programming at all, you've probably been here:
You took a job from a client who didn't know exactly what they wanted, but they were "sure" it was a quick and simple job. Unfortunately, it turns out to be anything but. They don't understand why it is taking so long and they're balking at what you need to charge.
The basic problem here is expectations and how to manage them (or how not to).
If you don't deal with your customer's expectations up front and continue to manage them throughout the project, you'll end up with an unhappy client, not getting paid or possibly both.
Read on...
Know the Warning Signs
"This shouldn't take you long at all..."
"All I really need is..."
"For a great programmer like you, this should be easy!"
Bet you've heard those before, right? These roughly translate to "I have no clue what is involved in doing this but I expect it to be cheap."
If you're lucky enough to get a client that actually has a specific understanding of what they want, that goes a long way, but most of the time, your client probably doesn't even have a good understanding of their problem, much less the solution.
Either way, when a project is presented this way. Beware.
Set Expectations Up Front
One of the worst things you can do when first engaging with a client on a development job is leading them to believe it can be done cheaply (or quickly). You need to set their expectations right away - custom software development is not easy and it's certainly not cheap.
Now sometimes, jobs do turn out to be relatively straightforward and easy. But it's better to delight the customer with a job completed under-budget than to disappoint them when you have to ask for more money mid-way through.
Depending on your situation, you might want to show them a site (if that's what you're developing) that you've done in the past and give them a ball-park figure on what it cost. Seeing something that is at least sort of like what they are asking for and having a concrete idea of what it costs will go a long way to aligning their expectations.
Think about the worst-case scenario for the job. You need to be sure you've covered yourself in the initial bid in case it happens. You just might lose the job or the client once they understand that you aren't going to work for free. That's not a bad thing.
Keep the Feedback Loop Open
Once the project gets going, you need to keep the feedback loop open. Present the client with regularly updates (at least once a week, preferably more depending on the scope of the project).
When they inevitably start asking for changes and more features, you have to return to setting expectations. They have to understand that you have to put food on the table and you can't work for free.
You are a freelancer because you're a creative person who likes to help others and you take pride in what you do. That's a great thing, but sometimes it can also play against you. Be careful not to get too caught up in the excitement as you and the client are planning. You don't want to be kicking yourself later wen you're basically working for free to finish something you promised to do because it was cool.
Drive to Closure
Each time you give the client an update on your progress, establish a clear list of items that need to be completed in order to finish the job. This will help both you and the client stay focused on getting the work done and getting the site online, getting the product sold or whatever your freelance gig entails.
The next time you present an update, throw the old list away and create a new one. Only pull tasks from the previous list to the current one if they are still truly needed. As projects progress, the needs change. If you don't scrub the list, you run the risk of letting too many tasks that aren't really needed accumulate.



Delicious
Digg
StumbleUpon
Reddit
Technorati

Recent comments
11 weeks 5 days ago