October 3, 2007
I couldn’t stop laughing when I read this post:
”I have had some minor success using Odesk.com. I’ve hired one guy hourly there, that was a mistake. He told me he was having Internet problems and couldn’t upload his work, so I gave him a little leeway and then I missed the deadline for disputing his hours and got stuck with the bill. He is supposedly still supposed to be finishing for me so he can get new work for me, but it has been 2 months.”
I think I should get used to it, but I can’t. It’s always a shock to find people who really believe that the right way to work on Internet project is to “find programmer, find designer and let them to the dirty work”.
Sorry guys - it almost always fails. Single programmer can do only really small projects (if he is good - that’s another story). If you have two (or more) - you instantly jump into problems with project management. That’s one of the main problems with ODesk and hiring “freelancers” - you always end-up being 2nd on their priority list (daily job is usually first) and you always have comunication & project management problems. Plus they are almost always crap. And in case of problems - they can disappear in the middle of the project! Oh yeah!
Solution? There are two. First is simple - build your in-house team (if you can afford it). It will be expensive but you will get a lot more control (if you can handle it of course). Second - if you want to go off-site - hire a team, or even better, a company specialized in projects which you want to build. There’s plenty of offshore companies out there, small specialized software houses, working with their clients on-line, and doing really good job. Why not use one of them.
ODesk, eLance, Guru… if you really believe its possible to build “clone of ebay” for $50 in two weeks - go ahead, try it. But if you are in business and your software project is really critical - then you better invest good money and don’t expect $10/h developers to be great. World is one market now, there’s millions of other people who want to do their projects, but only few good developers. And those developers will work with those who pay most - simple as that.
Pay more than usual. Include bonus for successful project delivery. Get team of programmers (who worked together in the past) or specialized development company. Learn more about software project management, quality assurance etc. And I guarantee you will start having better results, and getting better software..!
September 17, 2007
A company I know for a long time told me recently that they decided not to be interested in offshore development and managed outsourcing. The main reason behind? Their CTO was not convinced outsourcing was a good idea, mainly because of bad past experience as well as preferring to work with in-house people.
I generally disagree with the above reasoning (I believe its possible to guarantee comfortable level of interactivity between in-house and off-shore teams), but I had to give up when it came to the argument that its extremely hard to find good offshore developers. Take the following cite from a story featured recently on slashdot:
“Just to give one example: we opened a test center in China. The first time we asked them to do release testing, they asked us what the test results were. Hm. We didn’t know. We hired them to run tests. How could we know what the results were if they hadn’t run the tests yet? Turns out that it’s not always a good idea to report that tests have failed when management has already decided that they’ve passed, so they weren’t willing to give us the test results from the software until we gave them the test results from the management meeting. How much is it worth to be able to tell your testers to test something and have them give you the actual test results?”
The more you search on web, the more similar stories you will find. There’s a growing group of people convinced that if their project #1 which they run through some semi-amateur team in India of China didn’t work - then all of the outsourcing companies out there must be just one big mess.
I couldn’t disagree more.
The business world is half-full of success outsourcing stories - just like it is half-full of horror outsourcing stories. The real question therefore is not if to outsource but what (low level data-entry? high-level development and supporting?) and with whom. In world that is getting more and more “flat” and connected, where more and more developers from countries like India, China or Pakistan are able to compete for global IT jobs, what will really become a crucial skill is ability to select the right business partner for the job.
But how to do that? Obviously, the easiest route here (and the most common in business world, I guess) is to… ask for recommendation from other businesses which are successful with their outsourcing activity. Search for offshore companies who can show you portfolio of happy clients and serious skills. Never hire offshore developers (or companies) without testing their abilities first (e.g. by giving them first a small projects or skills tests). Think if you want to loose control on your applications - maybe its better to outsource just low-level jobs like quality assurance and simple development? Find a good outsourcing management consultant and ask for some help organizing interaction between your in-house and off-shore teams.
Outsourcing is here and it is not going away anywhere. So better learn how to make a proper use of it before others do.