I did some freelancing projects and they ended like this:
You agree on doing a project with
- specific requirements
- in specific amount of time
- with specific amount of money
For example I want an app that converts 6 currencies to each other. It should be done in a week and I give you $500.
The unreasonable thing that happen is that after a while the client shows up and change the requirements and add some stuff to it. Imagine if for the currency app, the client asks to add a graph for history of currency rate changes.
Now there are two possibility:
- The client expect that even though he changed the requirements, you should finish the project in the agreed timeline and also with the same money.
- The client understands that with changing the requirements, you can demand more time & money for the project. Even though this is so rare to happen, you might not want to accept that. When you started the project, you knew it was going to finish in a week so you might have planed a vacation after that or you might have accepted to start another project. In this situation even if the client is ok to give you more time & money to finish the project with additional requirements, you can’t accept that.
So the most unreasonable request is to change the requirements of a freelancing project that has specific amount of time and budget.
If you think your project might in change in future, you should hire a programmer as full-time or part-time employee and not as freelancer. Then your contract has:
- specific expiration date
- specific amount of payment per hour
- specific minimum hours of work per week or month
For example you ask someone to work for $20/h, 40 hours per week and for six months.
You can see that the requirements are not in this contract, so you can change it anytime but when the six months end, the programmer can leave even if your project is not finished. Because at the beginning, it wasn’t clear how much time your project might take.