Considerations for Offshore and Other Long-Distance Projects
As I was articulating ideas for this chapter to a colleague, he complained about the continued emphasis placed on frequent contact between the development team and the potential end users and related stakeholders on the project. He said, "This just isn't possible in an offshore situation." Certain realities in software development cannot be ignored. The act of requirements gathering and elicitation is a process involving frequent communication between two organizations. However, there are some ways to meet this challenge. One approach is to look for ways to increase communication and collaboration opportunities. Another goal to pursue is understanding any cultural differences that may create communication barriers.
Looking for Communication Opportunities
Explore one or more of these approaches to opening lines of communication with the potential end users and other stakeholders:
Exploit more-advanced telecommunications technologies, such as videoconferencing, electronic whiteboards, and even reliable high-quality audioconferencing. High-bandwidth Internet connections are also helpful.
When choosing tools for the software development environment, emphasize those that have Web interfaces and can be used over the Internet. Chapter 6 discusses other factors to consider when choosing tools.
Consider exchanging people between the outsourcing organization and the contractor for periods of time. Organizations such as World Bank have used this strategy successfully.
For the contractor organization, consider locating and employing a subject matter expertsomeone who has extensive experience as a user of systems similar to the one you are building or who thoroughly understands the problem domain.
More-conventional tools also exist, such as phone calls and e-mail. It's a good idea to publish throughout the team any discussions that clarify requirements, deadlines, issues, and so on.
Understanding Cultural Differences for Offshore Projects
Differences in culture between organizations manifest themselves in several ways:
Understanding the problem domain. Beware of hidden assumptions about business processes used by the system to be developed. For example, if you are outsourcing the development of a system that processes mortgages, does the country to which the project is outsourced even use mortgages to acquire property? If not, a thorough, generic explanation of what mortgages are and how they work is needed in addition to specific requirements.
Differences in communication style. Some cultures, such as Asian, strictly adhere to organizational hierarchies. In the American culture, more emphasis is placed on individual empowerment. Erran Carmel in Global Software Teams states, "When tensions mount in an East Asian group, members of this collectivist culture will be evasive rather than confrontative. This is insulting to an individualist, who expects to be told honestly what is the matter." Many other differences in cultures illustrate how communication styles differ.
 From Global Software Teams by Erran Carmel. Reused with permission.
Differing values placed on quality versus time. On most projects performed by American companies, strict adherence to schedule is often placed above all else in importance. This means that when a delivery deadline approaches, an American company typically prioritizes the most severe defects, corrects as many as possible until the deadline is reached, and then delivers the product. In other cultures, emphasis is placed on correcting all defects first, even if this means missing a deadline.
Contractual differences and the meaning of requirements. Carmel states in Global Software Teams, "Particularly for contract work, Americans expect requirements to be in contract style with every deviation from contract to be subject to additional charges. In contrast, in Japan it is not the custom to charge for small changes. The customer-supplier relationship can be seen as a gentlemen's agreement that takes priority over the contract. The Japanese customer would view it as a deviation to contract if enhancements were treated as additional charges!"
Many other important differences are essential to understand. Carmel's book is an excellent referenceparticularly Chapter 5, "Best Practices for Staffing the Contractor's Software Project Team," which discusses cultural differences. Cultural sensitivity training is encouraged and recommended for all organizations involved in global outsourcing.