Outsourcing software development is a common concept, and there are many examples of successful companies hiring entire development teams overseas. They do it for various reasons: some cannot find enough talent locally, some are looking for a specific expertise, and some just want to cut costs. Everything seems to be pretty clear.
It’s not that clear, though, when it comes to startups. There are never-ending “holy wars” between experts who recommend outsourcing and those who don’t.
Obviously, since I’m working for an offshore ruby on rails development company, you might expect me to take the side of those who defend outsourcing, yet, I’m not going to take any side. I will simply list these factors you will need to consider before answering this tough question: to outsource or not to outsource.
So, here’s what needs to be considered:
Nature of the startup.
What is the nature of your startup? Are you designing a new breakthrough technology that is the core of your business? Or are you building a startup focusing on market expertise?
In the first case, it might make more sense to keep the development in-house; in the other case, it might be better to outsource. Simply put, if you are developing something absolutely new (e.g., like Twitter was at the time it was launched), it will make more sense to have the development team in-house. But if you are working on a clone of Airbnb for renting boats (instead of houses), then it might be better to cut costs and outsource software development.
Are you sure you are ready for a marathon?
Hiring a team in-house is a long-term commitment. Are you absolutely positive you are ready for this? Do you have sufficient financial resources? If yes, that’s a sign it might be a good decision to hire an in-house team; in any other case, you’d better consider outsourcing.
How close is software development related to other functions of your business?
If you need your software to be highly adaptive to ever-changing business requirements or if you need to closely align the software development team with other functions of your business, it might be a better idea to have software developers in your office. In any other case, it will be OK to communicate across time zones.
As you can see, and as it often happens, there is no a definite answer good for all circumstances, but I hope this blog post will help you to determine what will be a better choice in your particular case.
P.S. Let me know if you are looking to outsource ruby on rails development; we might be able to assist with that.