Software development is hard. Requirements, designs or priorities change mid-way, people come and go, test matrices balloon in size, technologies quickly change or become obsolete, etc. It’s no wonder that many software projects fail or “finish” far short of initial expectations.
Remote software development is an order of magnitude harder: formidable obstacles like language, timezone and cultural differences are thrown into the mix. That said, remote software development has attractive benefits such as: lower labor costs, greater availability of good engineers and the potential to do development 24 hours per day.
Planning to do remote software development in China? A couple things to keep in mind that can increase your project’s probability of success:
Have bilingual and proactive individuals in your team
Some people on the remote team (at a minimum, the project managers) need to be highly bilingual – able to fluently converse and write in English and Chinese. These people must be able to pick up on the linguistic and cultural nuances of both languages – if not, it is excruciatingly difficult to build rapport and an effective partnership with the remote team. You want proactive individuals who take pride in their work and persistently drive issues to resolution; it’s all too easy for issues to fall through the cracks (intentionally, or not) when working remotely.
Be especially S.M.A.R.T.
Most of us have heard it’s important to set SMART goals: Specific, Measurable, Achievable, Realistic and Time-framed. A no-brainer isn’t it? How many people/teams practice SMART in reality? Not many. Perhaps local development teams can survive without SMART discipline. However when working with remote teams it becomes a necessity - goals, issues, work items, tasks, etc can only be communicated precisely and effectively by being SMART. For example which of these two statements do you think is more useful?
Communicate, communicate, communicate
Communication is the lifeblood of a project – starved of communication, a project rapidly withers and dies. Differences in language, timezone and culture conspire to make communication with your remote team as tedious, slow and awkward as possible. You need to come up with a formal communication plan and strategy. For example consider enforcing communication processes and practices such as: regular 1-1s with key team members, regular demos of the latest build of the software, reporting (machine generated? and/or more subjective but agile written reports by your project manager?), all-hands meetings, requiring written summaries with SMART action items after every conference call, etc.
Keep the project/component as isolated as possible
Ideally, the local and remote development teams should work on completely independent components of the software project. Every overlapping area between the local and remote components is a potential source of friction and misunderstanding. Managing overlapping areas properly require non-trivial effort and time. In reality there will inevitably be overlapping areas of development – you must proactively design and implement a plan to manage them: perhaps the shared interface needs to be fully defined before coding starts? or the local team can finish their component first, then the remote team can plug in their piece later?
In late 2006, after living in the United States for 7 years I decided to move to Beijing. I arrived in Beijing not really knowing what to expect – which was both nerve wracking and exciting : ) After having lived in Beijing for more than a year, what’s the verdict? Here’s what I’ve come to love about this city:
I love the buzz, the opportunities, the energy
These are exciting times for China. A few years ago she become the third country on the planet to launch a human to Space. Her red hot economy – already huge by any standard – is growing at double digit rates and seems on track to be the world’s biggest economy in the not too distant future. The country is a gigantic construction site.. they are building new stuff everywhere. The number of mobile phone users in China already surpasses the entire population of the United States. It won’t be very long before the number of Internet users in China passes the same threshold. and so on.
Beijing, the capital of China, exemplifies the superlative transformation that the country is undergoing. 3 new subway lines are scheduled to open in the next few months (in time for the Olympics). Tech startups are mushrooming in Zhongguancun, arguably the “Silicon Valley of China”. Crazy looking buildings that look like alien spaceships are shooting up across the city. When the Beijing-Shanghai high speed railway is completed in a few years, travel time between the 2 biggest and most important Chinese cities will be halved, to 5 hours. A sense of hope and excitement about the future is in the air.
I love the food
I never knew fat could taste so good until I ate Dongpo pork ( 东坡肉) in Beijing! While I always sort of knew there were many different types of Chinese cuisines, only in Beijing are they all so accessible in one place. Xinjiang lamb kebabs, Cantonese dim-sum, Spicy Szechuan, Yunnan pineapple rice, Hakka toufu, etc are all a short taxi ride away. Chinese food here is definitely way better than the “Americanized” Chinese food in the US : ) Once in a while I miss fortune cookies though…
I love that Beijing is hosting the Olympics this year
A palpable sense of Olympic frenzy has gripped the city. It’s impossible to walk around the city without encountering at least one Olympic countdown clock. Not a day goes by without some Olympics-related news in the local papers. To reduce dust and pollution apparently most, if not all construction in Beijing is supposed to pause or finish before the Olympics. I think a good number of new buildings will be completed in the next few months – the city will certainly look and feel very different from today.
I love the crazy architecture
I love the yellow wine
Believe it or not, yellow wine (HuaDiao 花雕) is served by warming it up in ginger (gives it a spicy flavor) or dried plums (sweetens it)… great stuff. STAY AWAY from the Chinese “white wine” though (BaiJiu) it’s very nasty.
Next time I’ll tell you what I hate about Beijing…