My past experiences dealing with clients can help others deal with clients who want an upfront price estimate with not so solid requirements
What should a freelance developer do when clients ask for an upfront price estimate but requirements are still in the gel state and there is nothing which is solid?
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 estimate without any solid requirements is because of their bad experience in the past especially with developers.
Everyone has a budget for whatever they want to be doing. The client also had a budget and hired someone for it. However, the project overruns the budget to the 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, often share 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. NO matter how simpler it is for you, it is tough on the client’s budget.
There is no change in output but then there is a revamp in code. Clients typically don’t have the technical expertise to understand if anything has changed. Still keeps paying for it. Such a bad experience in the past makes clients rigid. So they are looking for an upfront price now.
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 expect and with no security concerns, there is nothing much to worry about.
The Vicious Cycle for Such Clients
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 new freelancers.
They have little experience of what they are getting into. So clients don’t hire the right freelancer and the process of getting ripped off can continue 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. Clients now try to finalize on what they want to be paying and want an upfront price estimate.
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 for clients, it is tough to know things in advance. As they are being ripped off, it makes them willing to take the estimate of price upfront without concrete requirements
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 the price estimate whereas he is not sure about requirements, freelancers have a way out which is to share every detail with the client.
The client becomes flexible with more communication of information. 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 experiences with clients who were rigid with an upfront price.
1. Skype / Voice Call Will Always Help
Clients are not technical people. So they will not be able to completely define the requirements that a developer may want.
As a developer to be able to understand what the client is looking for is important. However, sometimes it is not possible. So get the client on a voice call. Prepare some questions to help you understand the client’s requirements and provide an estimate.
On numerous occasions, 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 they need.
Estimating over a voice call always works for me. Moreover, clients can ask questions related to the budget and get answers instantly. However, it isn’t always feasible for a company because the person in talks with the client is not a technical person.
2. Agile Mode of Development
The 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. However, things don’t happen just like that.
Split what the client wants into stages and estimate each stage with solid requirements and then take the input from clients to understand further. It is a better way 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 freelancers 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 the agile model of development, he may want to experiment. So he will now be open for hourly billing.
Hourly billing is the best estimate for not so solid requirements of clients.
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 and I can get them done right away. If anything will take longer, I can let him know the cost of those changes. He was very happy and we did a lot of work together that way.
The only reason clients are hesitant to pay hourly is, they don’t want to overrun the budget. So, if you can make them understand how it makes sense for hourly billing, clients will be more than happy to take it.
4. Let Client Gelify the Requirement
It is tough for the client to solidify the requirements. However, if the requirements are semi-solid, one can still estimate taking into account the most probable 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, clients may want a pixel perfect design but you know what the 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 experiences 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 to one of my past clients to a freelancer. I always tell clients to pay only after freelancers deliver.
Still, he was ripped off.
Freelancer had his view that he has delivered what was asked. As it happens, 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 the 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.