Communication

Communication technology is the most commonly cited approach to the geographic distance problem in Global Software Development. Synchronous communication technology such as video conferencing attempts to replicate the rich interaction present in face-to-face meetings, and is seen as the best solution for meetings in which reaching agreement is the objective [3]. However, some interactions are highly technical in nature, involving intricate content such as program source code In such cases, text-based media such as email, discussion forums, and even log entries in source code control systems, are more appropriate as they can accurately transmit the fine details of such content [42]. The choice of which communication medium is most appropriate for a given situation depends on more than the information to be communicated and the temporal distance between parties. Several studies note that language skills, culture, and personality affect individual preferences for communication technology. A person’s cognitive or learning style can influence the choice of communication media; based on their observations of team members in distributed contexts, Aranda and colleagues [2] propose a mechanism for choosing technology based on a model of learning style.

Communication media are commonly classified as synchronous and asynchronous. However, in reality, different media fall on a continuum according to the immediacy and richness of interaction. At the same time, various media have different strengths in communicating certain kinds of information. For example, email, wikis, and to some degree instant messaging, are especially useful for conveying detailed technical information such as program source code [42]. Conversely, rich synchronous communication technology such as video-conferencing is appropriate for highly interactive discussions where body language and intonation can convey the degree of understanding or agreement among participants [20, 22]. Language skill can also influence media choice. Programmers with weaker English mastery prefer asynchronous forms of communication (such as email or instant messaging) over telephone or video conferencing, because they provide more time to compose a response; even relatively interactive technology like chat provides enough delay for this purpose [32, 42]. In addition to communication media, a common set of tools shared by all sites, including a configuration management system that stores design documents and meeting minutes, as well as source code, facilitates collaboration [42].

References

[2] G. N. Aranda, A. Vizcaino, A. Cechich, and M. Piattini. Technology selection to improve global collaboration. In Proceedings of the IEEE International Conference on Global Software Engineering (ICGSE ’06), pages 223–232, Florianopolis, Brazil, Oct. 2006. IEEE Computer Society.

[3] J. M. Bhat, G. Mayank, and S. N. Murthy. Overcoming requirements engineering challenges: Lessons from offshore outsourcing. IEEE Software, 23(5):38–44, 2006.

[20] G. A. Dafoulas, K. Swigger, R. Brazile, F. N. Alpaslan, V. L. Cabrera, and F. C. Serce. Global teams: Futuristic models of collaborative work for today’s software development industry. In Proceedings of the 42nd Hawaii International Conference on System Sciences (HICSS ’09), Big Island, Hawaii, USA, 5-8 Jan. 2009. IEEE Computer Society.

[22] D. E. Damian and D. Zowghi. The impact of stakeholders’ geographical distribution on managing requirements in a multi-site organization. In Proceedings of the 10th Anniversary IEEE Joint International Conference on Requirements Engineering (RE ’02), pages 319–328, Essen, Germany, 9-13 Sept. 2002. IEEE Computer Society, ACM Sigsoft

[32] J. D. Herbsleb, D. J. Paulish, and M. Bass. Global Software Development at Siemens: Experience from nine projects. In Proceedings, 27th International Conference on Software Engineering - ICSE 2005, pages 524–533, St. Louis, Missouri, USA, May 2005. IEEE Computer Society Press.

[42] B. Lings, B. Lundell, P. J. Ågerfalk, and B. Fitzgerald. A reference model for successful distributed development of software systems. In Proceedings of the International Conference on Global Software Engineering (ICGSE ’07), pages 130–139, Munich, Germany, Aug. 2007.