The reasons for the distributions do not matter, they might include the availability of resources in different locations, closeness to certain clusters, proximity to customers or cost advantages.
People might specialize in a distributed development environment, but they actively collaborate to achieve the common goal.
It is typically not a barrier to business success, but it can range from being somewhat of a burden to difficult to achieve, since it requires high management capabilities, an excellent communication environment, a politically free environment, a highly efficient infrastructure, a well-developed organization chart, and frequent interaction.
Most important, management needs to believe in the set-up and put measures in place to reward compliance, as well as be very strict with those who do not comply.
It allows companies to hire a more diverse workforce, including employees that wish to work at home or don't wish to move long distances.
It allows companies to hire quality workers for a lower cost, as opposed to the very high wages in Silicon Valley.
[5] Over the years the companies started to grow in size and complexity, which forced them to develop software globally.