There are in fact several potential benefits to geographic distribution:
- Access to a larger pool of skilled people. Many organizations struggle to staff their IT departments solely with local people, particularly when specific skills are needed.
- Lower development costs. On the surface savings are the result of the wage differential between countries and sometimes even cities within the same country. However, these savings can be quickly lost due to the increased overhead associated with geographic distribution – you must consider total cost of ownership (TCO), not just hourly programmer costs, when calculating the cost savings. It is still possible to gain cost savings, but you must be sufficiently disciplined to earn them.
- Quicker time to market. The opportunity for quicker delivery times exist when your team is disciplined enough to take a “follow the sun” approach. The basic idea is that a globally distributed sub-team will do their work during their day time, then hand-off the work to a team that is several time zones away. This team will then do some work, then hand it off to the next team. This is very difficult to make work in practice, requiring a solid architecture, high quality code, development standards, automated regression tests, and sophisticated configuration management. We’ve seen it done successfully, often with either 2 or 3 teams in the overall cycle, although most organizations struggle to make this strategy work in practice. However, one of the challenges is access to a Product Owner (or a proxy Product Owner) as the “single source of truth” twenty-four hours a day.