I think some companies tried to outsource stuff like this (Oracle, IBM) but they are slowly finding that there are real costs associated with outsourcing tech and it might be actually cheaper for the company to hire expensive developers in San Francisco but have them sitting in the same building as top management so the communication can happen in real time and engineers can fully understand business requirements rather than try to manage remote outsourced teams on the other side of the globe who have no idea what's happening at the HQ.