The design and content was supposed to be provided in the beginning of the project. We finished the project features, but even until the deadline, the design does not come. We were told to wait, so we did. Everytime we ask, the answer was ‘soon’ or ‘next week’. Until a couple of months later, the client asked us to send over the source code, so their designer can integrate. Time passed with no news, when suddenly 6 months later, the client told me that the project was done by somebody else. The reason was that we had threatened the launch date (not true), and they were frustrated in communicating with us (also not true, the other way round in fact). And the worst part is, the client now asks for some of the downpayment money back.
The project was fixed-price and my company have spent more than the downpayment. Moreover, we have delivered the source code with most of the requested features in. The client also broke two clauses in our contract, one is that he terminate the project one-sidedly without notice, and two that he is hindering progress (by giving slow feedback, by not giving the design) and thus incurring loss to us having to reserve developers.
So I brave myself to say no, there is no money back. But he starts threatening with Silicon Valley recommendation / reputation shit. What would you do if you were me? Yes, I still say no.
The story sounds amusing but one lesson to be drawn. In this project, the client involves a local, US-based project manager that is supposed to manage us. This Project Manager is the one who actually influenced the client into thinking that we are incapable, hard to communicate with, and threaten launch dates. While the way I see it, the PM has limited technical skills, and he seems not very keen with outsourcing to Indonesia since the beginning. This PM is the one who ask us to send over the source code (via email, since he doesnt seem to understand using Git), and I believe his team took over the project with only theming left to do, while we did not get paid the rest of the project fees, eventhough the features are mostly complete and only a couple of weeks left for the theming effort.
This is not the first time a local Project Manager or third party IT companies mess up our relationship with clients. To avoid headaches in outsourcing – this message is for client and vendor alike – we need to avoid using multiple vendors for a single project. Blame usually goes to the vendor farther away when the project fails, while praise usually goes to the vendor closer by when the project succeeds. Worst of all, responsibility is diffused. So dont use multiple vendor. If you have to, make sure all vendors have mutual understanding to work together to achieve one single goal, that is to finish the project successfully.