Based on a true story…
One day you got a call from your close friend that is your new client about a new mobile app project. Your friend eager to hire you because of close friendship and you become excited. The client just fired the previous mobile app developer because of lack of performance. That’s why they trust you on this. Your team discussing the new project with the potential client that is a vendor to their client, a sub-con. Then you come out with project estimation deliverable together with a quotation.
Your client agreed and not questioning the rate because there are no other developers can offer what you offered but need to discuss further regarding payment term. At first, they don’t comfortable payment term that you proposed. It matters for them that you need to keep providing value rather than requesting the payment in the first place. After several negotiations, they all conclude and agreed on the payment term whereby 30% mobilization fee will be done after 2 weeks delivered project deliverable and the rest 20/20/20/10. They promise there will be future work once you did the project. Send them an invoice and request a purchase order.
But there is a catch, the project actually had been running 2 weeks ago. So they need you to start it as soon as possible because no manpower available on their side and no other developers can offer better than you. So your team kick off the project to complete the first milestone and claim the mobilization fee. At first, it looks ok for the client to demand some of the things such as to request source code and expect project update 24/7 through Whatsapp and email even it’s quite annoying when it becomes a norm for them. You target the first 2 weeks will complete the front and back end parts. After 5 days passing by, suddenly something not adds up, the client’s of their client is not really happy about the project update.
What they can expect with 5 days working on the front and back end parts? They expect to be done in the front end part within 2 weeks. So you discuss again with the client how to solve this. Both of you agreed that you will deliver only the front end part on Friday 2nd week. In the middle development of the 2nd week, suddenly the client asks about the back end progress, the source code and request Github access so the client’s technical team can verify the working progress. You quite a shock about the sudden request, conflicting with the latest that both of you agreed on.
Your team forces your client to stick to the latest discussion and successfully completed the front end part on Friday. Then you email the project update with the APK file to the client. The client said if you don’t give the source code for the front and back end, there is no payment. You keep asking again and again about the first mobilization payment but they resist to fulfill their demand. After a few negotiations, the client concludes to terminate your service and zero payment made even you completed the first agreed milestone because no source code was given to them. There was a lot of works and resources in term of money and time had been done by your team.
Something not right. After time goes by and does some due diligence about your client, you realize that the client actually doesn’t have the money to pay you. That’s why they give a lot of excuses to delay the time. So you decide to bring this matter to court together with concrete evidence after they breach the contract agreed on before. After the client received the final notice, they changed their mind to pay the compensation based on what your team did. Luckily you got the payment instead nothing at the end of the day. Lesson learned.
So, there are a few of red flags before taking up a new project on day 1. It looks unhealthy and unprofessional if the client uses a personal relationship in business so they can use you unfairly. If a client is sincere about their intentions of working with you on an ongoing basis, it is never a guarantee instead promise of future work. Be wary of clients that want the project to be completed based on unrealistic deadlines. If the client fired the last contractor and complain badly about it, be careful. This is a tricky one because you will probably only hear one side of the story and it will be about how bad their last developer was. You probably shouldn’t just walk away from a job if you hear this, but take a look at the full story. Find out what went wrong so you’re not next.
If they are too clingy whereby on the other end of the responsiveness spectrum is the client who sends several emails in the space of an hour and expects you to respond with the same speed. Besides that, they expect you to be available 24/7. The clients who expect you to be on call around the clock with none of those factors in place simply don’t respect you or your business and an absence of respect opens the door for a whole slew of other issues.
Ask for more work than agreed on. Scope creep is the bane of every software contractor existence, and it often comes from problem clients who don’t consider the time required to fulfill these requests. Clients with unrealistic expectations are closely related to clients who ask more work than agreed on. They have a whole laundry list of fancy features they’d like included but they have no budget. If the client likely breach the contract, quickly terminate the service with them so your time will not waste up. Also, if a potential client gives you a bad vibe, it’s a pretty good indication that you shouldn’t work with them.