Don't Outsource
dontoutsource.com
dontoutsource.com
It's insane to go with outsourcing for the purpose of keeping costs low, but then to not fire the developers when it starts to get ridiculously expensive (as it always does).
Over the years, the cost for TPS skyrocketed. NSC was soon paying $20,000 a month for coding!
"Over the years"? Over the years? It took years for it to become obvious that there was a problem? The criminal acts on the side of the developer are bad - no question. But the stupidity on the side of the client is just too much.
The about page doesn't even work...what is this "campaign" designed to do?
This is like saying not to drive because sometimes people get hit by drunk drivers.
But let's correctly name the problem here: simple management incompetence. The managers at Sapphire, no doubt feeling bewildered by all this computer-techy stuff, decided to send all their source code and the entire management of their servers to a faraway place. A place where tech problems magically go away on their own. A place where code writes itself, where productivity is doubled for half the cost.
No company, be it in the US, Canada, Europe, China, India, or Madagascar, can afford to think this way any more. Managers can no longer pay someone else to understand technology for them. We are all technical managers now.
I don't know if there's a good way to solve that other than to seek out well-reviewed, established firms, but at that point you'd be spending nearly as much for a US developer. :)
Frauds and scams exists everywhere, but I guess it's easier to fend them off locally than overseas. So there seems to be bit of a merit to the article's stance.
And judging china, India, etc. is unfair. I once worked with a guy in Toronto, Canada, maybe 4 hours away from my home in New York. He ended up stealing $3,000 from me and there was nothing I could do.
So "don't outsource" isn't necessarily a good message in my opinion. A better one would be "try to avoid working with random people you've never met or heard anything about".
To be fair though, the developer probably has a different viewpoint. I've been screwed out of ridiculous sums of money on different deals through unscrupulous business owners thinking they had me over a barrel. Ultimately I always found it cheaper to walk away rather than trying to resolve it even in the U.S. court system. I have to wonder what would cause this person to react so hostilely for such a sustained period of time. This is personal somehow, there is no profit in this for TSC according to the story (100k wouldn't justify this).
There are always two sides to every story, this is suspiciously one sided and perhaps more disturbing it paints the entire indian culture and economy with the same broad brush.
The lesson here should be that development in general is hard. Outsourcing is even harder. Business disputes often get very messy, cross border disputes even more so. When engaging in any business transaction give serious consideration to what happens if this transaction goes south. Do they have access to your core systems? How bad can they hurt you? These exercises are just as valid with internal developers as they are with any external agent. Once you grow beyond the startup stage, building a sustainable and protectable business should be one of the main focus points of any management team. These guys made mistakes, who doesn't. This developer is acting childishly, it happens. Don't over-generalize from this single example.
A whole web site, with linkbait headlines, set up to tell one story? Their about page doesn't even say they are trying to start a discussion... it just rehashes the story. With a few other pages to give a token appearance that they will tell more stories later.
I am sure there was fault on both sides, and I am equally sure the other side would have a vastly different story.
But this whole site sure looks like juvenile vengeance.
I wager the real problem is lack of oversight, lack of understanding of the problem being handed off to someone else, and lack of acceptance of ultimate responsibility for the mess.
So the title should be "Don't outsource if your intention is to not retain ownership in your project (Ownership as in understanding your project, the development process, and accepting responsibility for oversight the project's progress)"
Anyway...
John Doe was walking down the street, when some thugs mugged him and took his wallet. Don't walk down the street!
(flagged for xenophobism, over-generalisation, and general "omg them terrists in other countries want to kill us" feel - this shit does not belong on HN)
Sorry to hear this one though… Having worked with multiple people from India and other such countries and having good friends there, one thing I can tell you: it's a cultural paradigm. While there are many good, honest, hard-working people there, the ones that get bigger and more visibility are usually the scammers. It's a sad reality and I'm sorry for those working hard for these types of guys, getting underpaid while their bosses are ripping everyone off.
The level of threats/attacks from the said man are alarming and completely un ethical, but there are really good companies also who care about their clients. But, I have had the (dis)pleasure of knowing companies/people who are doing activities like putting in kill switches and backdoors for the rainy days.
Outsourcing can work. It is a good model. Here are a few alarm flags that should be kept in mind before choosing outsourcing. I have seen these to work very well over past few years.
Flag 1) No in house tech team:- Hire at least 1 very good developer/engineer in house, who can actually the verify that credentials of the remote team.
Flag 2) "Oh we charge only $5 an hour":- Work force in India is cheaper than but c'mon it's not that cheap. Good(not great) developers won't cost less than $20 - $25. And you can get a really good guys at $35 - $40. The really great developers won't cost you any less than US/Europe here.
Flag 3) "Oh Oh! PHP, .NET, Rails, J2EE, Drupal, Joomla, Wordpress, Blah, Blah, This and That? We got it all!":- Stay away from such companies. Look for small companies/teams with the niche expertize in the field of your requirements. If you require Drupal expertize, look for companies that specialize in Drupal solutions, If you need Ruby on Rails expertize look for a Ruby on Rails company and if you need Django expertize, look for a Django company. Give them a unpaid timed assignment if they do not posses any demonstrable project.
Flag 4) Need more developers on the team:- Never agree and never push to add more developers to a late project. Sometimes vendors push for it because of selfish reasons and some times clients push for it for a false sense of speed. If you absolutely and unavoidably have to add people to the team, add testers not developers.
Flag 5) Oh! We don't have/need testers or developers should do testing:- Never ever agree to working with out professionally experienced tester on the team. It will save you a hell lot of money in the long run. If company does not have a proper tester, don't hire them.
Flag 6) Daily so called "15 min" remote scrum meetings:- This does not work in Out sourcing. I have seen these scrum meetings go on and on for hours. I have personally sat in daily 3 hr long skype conversations. This leaves very less time to work and developers keeps worrying about what to report in tomorrow's meeting than concentrate on work.
Here is what I have seen to work. In a any work week:
* Monday: Specs and week goals meeting - max 2 hrs - whole team participation compulsory.
* Wednesday: Mid Week report - 30 min max - as many team members as practically possible.
* Friday: End of week report - 30 min max - as many team members as practically possible.
Flag 7) Tracker? What's that? Spreadsheets rule:- Use a tracker religiously. 99% of communication should happen trough issue tracker. things tend to get lost over emails. Use trackers for smallest of things. And do not accept any project related request over email(this goes for both clients as well as vendors)
Flag 8) No Time logs:- Ask your vendor to maintain time logs. If necessary, threaten non-payment for the week if time logs are not finalized and locked by Saturday. Review time logs every week to avoid any end of month invoicing disputes. Disputes waste time. Don't use spreadsheets for time logs, modern trackers have a decent time logging capabilities.
Flag 9) Outsourcing just to save money:- This is a bad idea. Outsourcing to a good team/company will probably save 30% money but that should not be the main reason to outsource. One of the biggest benefits of outsourcing is that works getting done while you sleep.
Flag 10) Not paying on time:- Clear invoices as soon as possible. I am not saying this happens always, but sometimes payments get delayed for reasons like confusion over banking details, payment methods etc. Set these things straight at the start of the project. Delayed payment means lost interest. I know great companies/teams here who are exceptional in work but operate on a hair line budget. For them delay payment means delayed salaries for their employees. And I don't have tell you what delayed salaries mean...
Flag 11) I am the project manager, talk to me:- These are the companies that are most likely to take you for a ride. Insist every developer on the project be present in all the meetings. Every developer be present on the project mailing list. Now there are many companies in India that won't allow this. They are scared that developers will steal away the projects if they came in contact with clients and don't trust the developers, but then again you do not want to work with such people.
Finally, always remember, a common India developer(who is employed by an outsourcing company) is shit scared of the client paying in dollars. They will say yes to almost anything. They don't want to offend clients and in turn their bosses. So get to know your developer team. Talk to them during meetings. A small amount casual talk will go a long way toward building the mutual trust and increase comfort level.
These where just my two cents.
Further to it Michael Arnstein has established a web site www.dontoutsource.com which has tones of allegations against my company in particular and Indians in General. The web site contains numerous racial abuses against Indians. Further to it Mr. Arnstein has posted numerous posts on various forums calling me a “terrorist” . This has disturbed me beyond words. Again this was brought to the notice of FBI NY IC3.GOV (wide our complaints Id: I1104190951275432 and complaint Id: I1101221230305631) We received an e-mail from FBI that they cannot act due to jurisdictional issue e-mail copy of the letter attached Arnstein and his CIO off late has resorted to allegations that whatever is written and expressed against the Natural Sapphire Company is posted by us. There are numerous Natural Sapphire Company consumers who have posted negative review on the merchandise which they purchased. Guttaman is posting on all such forums that we are responsible to post such complaints. They are attributing every bad remark , every complaint posted against them on us. In few cases the real genuine buyers who have posted these complaints have responded back expressing anger over this and reaffairmed that they have indeed posted these complaints and not us. As the status stands now investigating agencies are investigating the matter in India. We have approached Director General of Foreign Trade to prevail upon FBI NY to get Michael Arnstein behind bars. Communication from FBI is positive. Any questions feel free to contact us on connect@transpacific.in Again I would like to assert that this is a case of criminal offence and has nothing to do with outsourcing or alike.
Common, who would spend 240k/yr on a ecommerce website in today's world? There are so many ready to use open source stuff. And how can someone who has access to your server steal the domain? This is like handing over your email account to the developer that has access to the godaddy account in order to manage the server.