Anyone who has been involved in software development for large enterprises should know, that Change Requests (CRs) during project execution are inevitable. And thus, delay and cost overrun is also inevitable.
Is Indonesia: the new outsourcing frontier for 2014? When choosing a country to outsource your technology, there are important factors to consider. You want to consider political relationships, accomplishments, and economic growth. You want a country that you can consider a partner in you outsourcing of technology.
Eventhough Indonesia is predicted by McKinsey to overtake Germany to become the 7th largest economy in the world by 2030, Indonesia was not even mentioned in the book. It does however, mention Indonesia’s smaller neighbors Vietnam and Philippines.
The book was written in 2006-2007, but I still wonder why the author did not include Indonesia in his analysis. My assumption as to why is because Indonesia was too small in the technology sector back then. It might be true. When I started IT outsourcing business in 2006, there were very few players, and even very few freelancers.
Now however in 2012, Indonesia’s tech sector is much hotter. Investment flows into the industry, there are many more technopreneurs and tech companies, and thus there are many tech workers being created to fill in those demand.
Indonesians also in general command good English comparable to Chinese. This is not based on any statistics, but based on my experience having visited China several times. I also have many friends and relatives living or studying in China, and they mostly will agree with me that Indonesians even have better accent when speaking English.
Indonesian wage is also lower than in China. Now if Indonesia has huge talent pool, command good English, and have competitive wage, we should include Indonesia if the book “Source code China” is to have version two.
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.
A fixed-price project almost always come with a deadline. How can Developers estimate and promise in the contract how long a project is gonna take, before the project even starts? And more importantly, how Developers can keep that promise?