«Abstract We conducted an industrial case study of a distributed team in the USA and the Czech Republic that used Extreme Programming. Our goal was to ...»
This paper represents a case study of a GSD XP team and the challenges faced by the project management team in the USA and the development team in the Czech Republic. The XP development methodology requires informal communication between customer and developer. Despite geographic, technical, temporal and linguistic hurdles, the team was able to create an environment rich with the informal communication that is essential to XP. Dialogues between customers and developers over feature details became common, changes in user story specifications were made throughout the project, and technical questions were resolved quickly and efficiently. Thus, many of the hallmarks of the face-to-face communication advocated in XP were adequately approximated through the team’s use of three essential communication practices: an email listserv, globally-available project management tool, and an intermediary development manager who played a strong role in both groups.
Through a systematic analysis of our findings, we suggest four success factors for globally-distributed XP projects working in a new problem domain. These include the invaluable role played by the development manager, who acted as a communication bridgehead between the two groups and played the advocate of both groups on a daily basis. We also note the importance of short, asynchronous communication loops that can serve as a sufficient surrogate for synchronous communication. An identifiable customer authority is necessary to manage and resolve requirements-related issues, and high process visibility was important for the customers to guide the project effectively while the developers were working on a new and unfamiliar problem. While some of these conjectures refer to practices that could be beneficial to any software development team, our results indicate these practices are essential for distributed teams employing a communication-rich methodology.
Our findings are a first step toward a more formal investigation into using communication-centric methodologies such as XP in GSD. We hope that others will build upon this research the possible replication of this case study by investigations of development organizations with similar characteristics. Our observations are encouraging, and we believe that, despite barriers of time, language, and distance, the use of informal communication-centric practices can be leveraged to produce successful projects.
The authors would like to thank Chet Fennell, Jack Gibson, Mike Kelly, Richard Laurent, and James Young of Tekelec and Ludek Smid of Radiante Corporation for their invaluable comments and for supporting this paper. The North Carolina Center for Computing and Communication (CACC Core Grant 04-06) partially funded this research.
We also acknowledge the feedback provided by the NCSU software engineering reading group.
 P. Abrahamsson, "Extreme Programming: First Results from a Controlled Case Study," presented at 29th IEEE EUROMICRO Conference, Belek, Turkey, 2003.
 A. Arora and A. Gambardella, "The Globalization of the Software Industry: Perspectives and Opportunities for Developed and Developing Countries," National Bureau of Economic Research, Washington, DC, 2004.
 Bangalore Benchmarking Special Interest Group, "Benchmarking of Software Engineering Practices at High Maturity Organizations," Bangalore Software Process Improvement Network, 2001.
 V. Basili, G. Caldiera, and D. H. Rombach, "The Goal Question Metric Paradigm," in Encyclopedia of Software Engineering, vol. 2: John Wiley and Sons, Inc., 1994, pp. 528-532.
 V. Basili and S. Green, "Software Process Evolution at the SEL," IEEE Software, vol. 11, pp. 58-66, 1994.
 K. Beck, Extreme Programming Explained: Embrace Change, Second ed. Reading, Mass.: AddisonWesley, 2005.
 K. Beck, Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley, 2000.
 K. Beck and M. Fowler, Planning Extreme Programming. Boston, MA: Addison-Wesley, 2001.
 E. Carmel and R. Agarwal, "Tactical Approaches for Alleviating Distance in Global Software Development," IEEE Software, vol. 18, pp. 22-29, 2001.
 A. Cockburn, Agile Software Development. Reading, Mass: Addison-Wesley Longman, 2001.
 J. O. Coplien and N. B. Harrison, Organizational Patterns of Agile Software Development. Upper Saddle River, NJ: Pearson Prentice Hall, 2005.
 B. Curtis, "A Field Study of the Software Design Process for Large Systems," Communications of the ACM, vol. 31, pp. 1268-1287, 1988.
 D. Damian, "Global Software Development: Growing Opportunities, Ongoing Challenges," Software Process: Improvement and Practice, vol. 8, pp. 179-182, 2003.
 D. Damian and D. Zowghi, "Requirements Engineering Challenges in Multi-site Software Development Organizations," Requirements Engineering, vol. 8, pp. 149-160, 2003.
 J. M. Earl, "The Risks of Outsourcing IT," Sloan Management Review, vol. 37, pp. 26-32, 1996.
 C. Ebert and P. D. Neve, "Surviving Global Software Development," IEEE Software, vol. 18, pp. 62-69, 2001.
 M. El-Shinnawy and L. Markus, "Acceptance of Communication Media in Organizations: Richness or Features?" IEEE Transactions on Professional Communication, vol. 41, pp. 242-253, 1998.
 M. Fowler, "Using an Agile Process with Offshore Development," vol. 2005, 2004.
 A. French and P. Layzell, "A Study of Communication and Cooperation in Distributed Software Project Teams," presented at International Conference on Software Maintenance, Bethesda, MD, 1998.
 G. Glaser and L. Anselm, The Discovery of Grounded Theory: Strategies for Qualitative Research.
Chicagom, IL: Aldine de Gruyter, 1967.
 R. E. Grinter, "Recomposition: Putting It All Back Together Again," presented at Conference on Computer Supported Cooperative Work, Seattle, Washington, USA, 1998.
 S. Heeks, S. Krishna, B. Nicholsen, and S. Sahay, "Synching or Skinking: Global Software Oursourcing Relationships," IEEE Software, vol. 18, pp. 54-60, 2001.
 J. D. Herbsleb, "Hard Problems and Hard Science: On the Practical Limits of Experimentation," IEEE Computer Society Software Process Newsletter, pp. 18-20, 1998.
 J. D. Herbsleb and A. Mockus, "An Empirical Study of Speed and Communication in Globally Distributed Software Development," IEEE Transactions on Software Engineering, vol. 29, pp. 481-494, 2003.
 J. D. Herbsleb, A. Mockus, T. A. Finholt, and R. E. Grinter, "An Empirical Study of Global Software Development: Distance and Speed," presented at International Conference on Software Engineering, Toronto, Ontario, Canada, 2001.
 J. D. Herbsleb and D. Moitra, "Global Software Development," IEEE Software, vol. 18, pp. 16-20, 2001.
 R. Jeffries, A. Anderson, and C. Hendrickson, Extreme Programming Installed. Upper Saddle River, NJ:
Addison Wesley, 2001.
 T. D. Jick, "Mixing Qualitative and Quantitative Methods: Triangulation in Action," Administrative Science Quarterly, vol. 24, pp. 602-611, December 1979.
 C. Jones, "Strategies for Managing Requirements Creep," Computer, vol. 29, pp. 92-94, 1996.
 S. Kan, Metrics and Models in Software Quality Engineering, Second ed. Boston, MA: Addison Wesley, 2003.
 B. Kitchenham, Software Metrics: Measurement for Software Process Improvement. Cambridge, MA:
 R. E. Kraut and L. A. Streeter, "Coordination in Software Development," Communications of the ACM, vol. 38, pp. 69-81, 1995.
 S. Krishna, S. Sahay, and G. Walsham, "Managing Cross-cultural Issues in Global Software Outsourcing," Communications of the ACM, vol. 47, pp. 62-66, 2004.
 C. Larman and V. Basili, "Iterative and Incremental Developments: A Brief History," IEEE Computer, vol.
36, pp. 47-56, 2003.
 L. Layman, L. Williams, and L. Cunningham, "Exploring Extreme Programming in Context: An Industrial Case Study," presented at 2nd IEEE Agile Development Conference, Salt Lake City, UT, 2004.
 L. Layman, L. Williams, and L. Cunningham, "Motivations and Measurements in an Agile Case Study," presented at Proceedings of the Workshop on Quantitative Techniques for Agile Processes (QUTE-SWAP ' 04), Newport Beach, CA, 2004.
 L. Layman, L. Williams, D. Damian, and H. Bures, "Conjectures of Informal Communication-Centric Practices Observed in a Distributed Software Development Team," North Carolina State University, Raleigh, NC, TR-2005-13, February 28, 2005.
 F. Maurer and S. Martel, "Extreme Programming: Rapid Development for Web-Based Applications," IEEE Internet Computing, vol. 6, pp. 86-90, 2002.
 M. L. Maznevski and K. Chudoba, "Bridging Space Over Time: Global Virtual Team Dynamics and Effectiveness," Organizational Science, vol. 11, pp. 473-492, Sept./Oct. 2000.
 A. Mockus and J. Herbsleb, "Challenges of Global Software Development," presented at Seventh International Software Metrics Symposium (METRICS 2001), London, England, 2001.
 NASSCOM Report, "The IT Software and Services Industry in India Strategic Review 2001," NASSCOM, 2001.
 M. Paasivaara and C. Lassenius, "Collaboration Practices in Global Inter-organizational Software Development Projects," Software Process: Improvement and Practice, vol. 8, pp. 183-200, 2003.
 D. E. Perry, N. A. Staudenmayer, and L. G. Votta, "People, Organizations and Process Improvement," IEEE Software, vol. 11, pp. 69-81, 1994.
 C. Potts, "Software Engineering Research Revisited," IEEE Software, vol. 10, pp. 19-28, 1993.
 R. Prikladnicki, J. L. N. Audy, and R. Evaristo, "Global Software Development in Practice: Lessons Learned," Software Process: Improvement and Practice, vol. 8, pp. 267-281, 2003.
 L. H. Putnam and W. Myers, Measures for Excellence: Reliable Software on Time, Within Budget.
Englewood Cliffs, NJ: Yourdon Press, 1992.
 S. Sahay, "Global Software Alliances: The Challenge of ' Standardization' Scandinavian Journal of," Information Systems, vol. 15, pp. 3-21, 2003.
 K. Schwaber and M. Beedle, Agile Software Development with Scrum. Englewood Cliffs, NJ: Prentice Hall, 2001.
 A. Tiwana, "Beyond the Black Box: Knowledge Overlaps in Software Outsourcing," IEEE Software, vol.
21, pp. 51-58, 2004.
 L. Williams, W. Krebs, L. Layman, A. Antón, and P. Abrahamsson, "Toward a Framework for Evaluating Extreme Programming," presented at Empirical Assessment in Software Eng. (EASE) 2004, Edinburgh, Scot., 2004.
 L. Williams, L. Layman, and W. Krebs, "Extreme Programming Evaluation Framework for ObjectOriented Languages -- Version 1.4," North Carolina State University Department of Computer Science, Raleigh, NC, TR-2004-18, June 17, 2004, 2004.
 L. Williams, W. Krebs, L. Layman, and A. Antón, "Toward a Framework for Evaluating Extreme Programming," presented at 8th International Conference on Empirical Assessment in Software Engineering (EASE 04), 2004.
 Y. Xiaohu, X. Bin, and H. Zhijuen, "Extreme Prgoramming in Global Software Development," presented at Canadian Conference on Electrical and Computer Engineering, Niagra Falls, Ontario, Canada, 2004.
 R. K. Yin, Case Study Research: Design and Method, vol. 5, Third ed. Thousand Oaks, CA: Sage Publications, 2003.
 M. V. Zelkowitz and D. R. Wallace, "Experimental Models for Validating Technology," IEEE Computer, vol. 31, pp. 23-31, 1998.
0) What is your role within the organization?
When prompted, the scale for the questions below is:
1. Very Dissatisfied 2. Dissatisfied 3. Neutral 4. Satisfied 5. Very Satisfied
1) What product do you use?
2) What version of this product do you use?
3) On a scale from 1-5, how satisfied are you with the reliability of this product?
4) What are the effects of any reliability problems in this product? Please comment.
5) On a scale from 1-5, how satisfied are you with the product’s capabilities? That is, does it meet your needs in terms of features and functionality?
6) In what ways do the product’s capabilities fail to meet your expectations? Please comment.
7) On a scale from 1-5, how satisfied are you with communication with the development organization? Rate this on the basis of communicating with and receiving feedback from the development team or marketing representative.
Do not base this comparison on communications with customer support or other avenues.
8) Please describe who you interact with at the development organizations, e.g. a marketing representative, project manager, developers themselves. If you interact with more than one contact, please indicate which is the primary contact.
9) On a scale from 1-5, what is your overall satisfaction with the product?