I think outsourcing is the best option for software development. There are a number of outsourcing companies on the market, but the largest is Ukrainian. There are a lot of talented and committed developer teams that can impress you with their professionalism.