It can work but you have to select the right kind of company. Here’s what you should be looking for.
Great software development talent is hard to come by and it is difficult and time consuming to build an entire team of developers. Companies that try outsourcing as a way of gaining contract programmers are often disappointed. That’s because they think of it as hiring individual developers and hire a company that does long-distance recruiting instead of a company that delivers a complete software development service.
For example, western companies are initially smitten by low rates offshore. They think it’s an incredible deal to pay $10 to $15 per hour for programmers. Until they discover limited programming skills, difficulty in communicating and lack of oversight by the “outsourcing” company. The software, if they get any at all, is late and full of problems like a disorganized and unscalable architecture and poor code that no one can debug or use. It is demoralizing to their entire team. And meanwhile, they still pay and are out thousands of dollars before they realize the arrangement is not working.
The problem is selecting the wrong kind of software outsourcing company. Select a service provider so you not only get working code, you get innovation too. Some outsourcing providers even focus on developing an MVP for its clients.
A good software outsourcing company has a great culture. This culture is not the music they listen to and the food they eat! You want a company with a problem-solving, engineering-based culture that loves technical challenges and working on the latest cool stuff. Software executives dream about hiring a “rock star” software developer. But what you really need is a service provider full of rock stars with a proven process of hiring and training more of them. You want a service provider able to hire developers who will work well together in a team. It’s not just about hiring smart individual developers; it’s also about team dynamics.
For example, innovation can sometimes be gained through the insight of an individual developer. But more often it comes from the interaction of people on a team with a shared mission and diverse perspectives. That’s a cultural thing. Multiply that across multiple teams working on different client projects and you will get a huge source of innovation from an outsourcing service provider that you can’t duplicate with your own internal team by itself.
Don’t want to hire a long-distance recruiting company! You do want a service provider with the right culture of engineering problem solving and innovation. That service provider becomes your critical partner in developing your product. Find a service provider focused on the processes of developing new products and MVPs. Otherwise your inability to hire great developers locally will cause your nascent product idea to die on the vine to a faster moving competitor.