Let’s start by accepting a well-established fact:
The ideal environment for software development is a team physically co-located in the same room in close proximity to key stakeholders. Nothing can replace the ambient knowledge, interpersonal dynamics, and streamlined access to stakeholders.
So, why consider anything else?
The book Remote: Office Not Required by 37 Signals skillfully articulates the case for remote teams. (It might be worth your while to get the book and read it before continuing. At 256 pages, it’s a fairly quick read.) Remote highlights the ability to access talent and to reduce overhead such as office space and commute costs. Technology offsets many of the obstacles of remoteness via on-line chat, video conferences, screen sharing, etc.
One of the key tenets of Remote is: Thou Shalt Overlap. In other words, team members should make adjustments so that they are working at the same time for a few hours, ideally every day.
What if your team includes some remote members whose time zone makes it extremely difficult to overlap regularly? If there is a 12 hour time difference, there is just no way to avoid having someone start very early or stay up very late in order to have some overlapping hours. It is very challenging to maintain that sort of schedule day after day, over the course of a project.
For the sake of this discussion, let’s call that Extreme Remote: having team members so far away that regular overlapping work periods is very difficult to maintain.
So, again, why would you ever consider such a team arrangement?
As with so many things in business: Cost.
Consider the relative cost of living for developers in the Extreme Remote time zones (i.e. 10-14 hour time difference). Here is a chart comparing several cities to Los Angeles (where I live and do most of my business).
|City*||Time difference**||Relative cost of living***|
|Almaty, Khazakstan||13 hours||-67%|
|Hyderabad, India||12 hours||-73%|
|Karachi, Pakistan||12 hours||-62%|
|Minsk, Belarus||10 hours||-71%|
|Nizny Novogorod, Russia||10 hours||-70%|
* These are all cities where I have worked with skilled remote team members or are well known sources of technical talent.
** The time difference will vary through the year as daylight savings times start and end.
*** Cost of living comparisons are taken from www.expatistan.com. Other sources may differ somewhat, but they still support the fundamental conclusion.
The cost advantage is clearly very compelling. Even after accounting for generous pay and various overhead costs, developers from these cities will cost less than half of what a developer of comparable talent in Los Angeles will cost.
So, the question really becomes: How can we address the challenges of Extreme Remote teams sufficiently so that we can produce a high-quality product without losing the extraordinary value? I will try to address this question in the next series of blog posts.