My past experiences dealing with clients can help others deal with clients who want an upfront price for a task without a complete set of requirements
What should a freelance developer do when clients ask for an upfront price estimate but the complete requirements aren’t clear yet?
To handle such projects or deal with such client one has to understand why the client is so rigid for an upfront price in the first place?
Why Client Demand an Upfront Price?
My experience has been, the main reason for clients becoming rigid for an upfront price is because of their past bad experience with developers.
Everyone has a budget for whatever they want to be done. The client also had a budget and hired someone to get it done but the project overruns the budget to an extent that they lose the complete interest in the project.
Many such past experiences make clients very rigid on the price. Such experience makes such clients believe an upfront price is the only solution.
On top of it most of the freelance developers when they see other developer’s code, they often share a feedback, the code is not very useful and they will have to redo most part of it.
Doing things again is never a good choice because though it may make things simpler for you, it is tough on the client’s budget.
There is no change in an output but then there is a revamp in code. Clients typically don’t have the technical expertise to understand if anything has changed but still pays for it. Such bad experience in the past makes clients rigid and are always looking for an upfront price.
If a client asks me for feedback on what is already done and it’s quality, I never comment on the quality of the code no matter how bad it is. I always tell them – as long as things are working as you expected and if there aren’t any security concern, there is nothing much to worry about.
The process doesn’t end here. Because now the client is looking for an upfront price of not so solid requirements, such projects will be taken up mainly by a freelancer who has little experience of what they are getting into. So client doesn’t hire the right freelancer and the process of getting ripped off continues for the client making them even more rigid for a price.
Ideally, the requirements should be finalized but we don’t live in an ideal world.
A client wants an awesome design but that may not be enough for a designer to quote. One does need to know what your awesome design is? Even if things are clear on the design aspect of it, is the design for WP or some other system, will you want to get only the design or want to implement the same as a theme or HTML. So on and so forth.
So as a client, it is tough to know things in advance and as clients are being ripped off often, it makes them willing to take the price upfront.
Upwork has managed to make its marketplace much cleaner by only accepting quality freelancers. It helps a client has a better experience with every freelancer they work with and in the process not waste too much time and money testing not so good freelancers.
How to Deal With Such Clients?
When a client wants a clear estimation of the price whereas he isn’t sure what needs to be done, freelancers have a way out which is to share every detail with the client.
The more information is being shared with the client, the things start to become flexible. I have seen things happen a lot with my clients who were very rigid at the start of the project but as I kept sharing every minute details, it helped build a better relationship with the client and price the project with a lot more flexibility.
So here are some of my past experience with clients who were rigid with an upfront price.
1. Skype / Voice Call Will Always Help
Clients are often not very technical people and so they will not be able to completely define the requirements that a developer may want.
So as a developer to be able to understand what the client is looking for is important but it is not always possible. So get the client on a voice call. Be prepared with some questions to help you understand client’s requirement and provide an estimate.
On numerous occasion, Skype has come to my rescue. The client wanted something but things weren’t enough for me to provide a quote. I discuss it with the client on a Skype call to let them know how the price changes based on what is needed.
Over a voice call, providing an estimation at a later stage has never worked for me. This isn’t always feasible for a company but try to estimate over the call as it can help client ask you to follow up questions for his budget right away.
2. Agile Mode of Development
Agile method of software development is an iterative and incremental software development model. The client may be looking at the bigger picture of what they need as a final product but things don’t happen just like that.
Split what client wants into stages and take the input from clients to understand his requirements. It is one of the ways for both the client and the freelancer to know about the working of each other.
The client may not be able to understand the development stages. So the responsibility to split the requirements into stages lies with the freelancer.
As the task is broken into stages, it can help freelancer estimate much better. It can also help the client keep the cost checked and remove anything from the requirement that may not be needed but good to have.
3. Hourly Billing
As the client understand things over a voice call or a choice of agile mode of development, he may want to experiment. So he will now be open for hourly billing.
If the client is skeptical about being charged for a lot of hours, let them know if they wish to have an upper limit on the number of hours per week or work over a Skype call.
One of my clients wasn’t ready for hourly billing and there were so many minute changes he needed. So I suggested to him that I can work over a Skype call where he can suggest me the changes needed and I can get them done right away. If anything will take longer, I can let him know the cost for those changes. He was very happy and we did a lot of work together that way.
The only reason client is hesitant to pay hourly is, they don’t want to overrun the budget but if you can make them understand how it makes sense for an hourly billing, clients will be more than happy to take it.
4. Let Client Gelify the Requirement
Its tough for the client to solidify the requirements but if the requirements are semi-solid, one can still estimate taking into account the most probable of requirements.
As an experienced freelancer try to read between the lines of what the client wants. It is tough but not impossible.
There are certain things the client say but you will know what they mean. As an example client may want a pixel perfect design but you know what client means when they say pixel perfect.
5. Let Client Hire Someone Else
Clients have a view based on past experience. It will be tough to change that with few lines in a proposal or over a call.
Some clients will need to experience the quality freelancing experience before they can get out of those bad experience of the past and you have to leave it at that point.
Even if it isn’t you who is working for the client, let them know how they can find someone who can deliver value and is a good quality freelancer. The experience will teach them what works best for them. There is no better teacher than experience.
I referred one of my past clients to a freelancer. I always tell clients to pay only after freelancer deliver.
Still, he was ripped off.
Freelancer had his view that he has delivered what was asked and the client wanted things differently. I had no idea what was agreed but after talking to both the parties as well as my past experience of working for the client I can sense the freelancer was at a fault of not listening to what client wanted.
I offered the client a discount on whatever he paid to the freelancer for the next project. The client never agreed to work with me again. From his conversation, I can sense he assumed I was also part of the issue. I knew I wasn’t but there is very little I could do for the client.
Further Reading …