Reaping the benefits of global development
Offshoring, nearshoring, backshoring - if your company is trying its hand at global development - and if it isn't, then someone is going to ask you about it soon - then you may find yourself wandering the halls asking: "Has anyone seen my developers? Oh, and while you're looking, do you think you could try to find those cost savings and productivity improvements that I was promised?"
Global development holds great promise - of reduced labour costs, round-the-clock business hours and greater productivity - but it brings unique challenges that many organizations fail to accommodate in their development plans. So whether you're just dipping your toe into international waters or you already have a development team that spans the globe, I have a few suggestions that might help you get a bit more sleep.
Assuming that you've already found your development partner and have the basic infrastructure in place, the success of your global development effort will rest upon three pillars: communication, team structure and mindful portfolio management.
Remote Communications Takes On a New Meaning
Communication is the most important dynamic in a global development effort. Forget about the language barrier, though - that's the least of your worries. Your real concern should be the direction, form and timing of your communications, not their language. If you're in Melbourne, it doesn't matter whether your development team is in Dublin, San Jose or Bangalore, India. As long as the developers are in a different time zone, then the majority of your communications will be one-way and asynchronous. And no matter what that video-teleconferencing salesman may have told you, this means that you and your team will need to learn how to share complex ideas with people you rarely see or even talk to. This leads to a heavy dependence upon e-mail and the written word in general as the primary mode of communication. Unfortunately for you, the fact that you e-mail the guy two cubes down to ask him if he's ready for lunch doesn't mean that you or your team are ready to express complex technical concepts in writing.
Remote communication also introduces the dreaded "decision lag". Time-zone differences increase the turnaround for even the simplest decision from a matter of minutes to a day or more, and heaven help you if someone has a follow-up question. We don't realize how much face-to-face conversation, debate and problem-solving goes into a software development project until we can't have it. This dramatic shift has an immediate impact on technical specifications, troubleshooting techniques and your ability to handle requirements changes, and it needs to be consciously managed.
In the global development model, requirements must be precise, detailed and unambiguous. The business drivers behind the requirements must also be clearly explained, but at a level that can be understood by a stranger to your business. After all, intelligent as they may be, most of your remote developers will have little exposure to your business, no contact with your business sponsors and no presence at any of the meetings where these decisions were made. It's unfair - not to mention unwise - to expect them to understand your business well enough to make critical design decisions. If you're lucky, ambiguous requirements will bounce back to you faster than a motorized yo-yo, accompanied by a slew of questions that will all need to be answered before any progress is made. If you're not, then the remote team members will just make their best guess and you won't find out about it until they deliver the application to you with crossed fingers.
To account for this increased need for specific requirements, you need to beef up your local analyst resources at the same time that you add to your remote development ranks. In an average development organization, every two to three development jobs shifted offshore will require one senior technical analyst in the home office to gather and document business requirements and convert them to detailed technical specifications. Over time, a truly effective organization may be able to increase that ratio to 5:1 or greater. These analysts are your interpreters, translating the fuzzy jargon and unspoken needs of your business into a clean technical blueprint that anyone can follow. They are your first line of defence against long-distance chaos.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.