Global Software Development 17-609

Spring 2008

M,W 10:30-11:50

SCR 265

course website


overview

schedule

grading


Instructor

Office

Phone

Email

James Herbsleb

WeH 5321

x8-8933

jdh@cs.cmu.edu

Office hours:  Send email to set up a time.

Overview

Software development is increasingly a globally-distributed undertaking. The search for talent across national boundaries and the integration of groups thrown together by mergers and acquisitions are but two of the many forces conspiring to fundamentally change the organizational context of software development. The skills that allow developers and managers to thrive in this milieu are among the most important in today’s development organizations.


Distributed software development organizations are also receiving attention from researchers interested in communication, collaboration, and coordination over distances. Creating trust, awareness, shared understanding, and many other essentials of teamwork typically relies on face to face interaction. Creating effective technology-mediated mechanisms to support distributed teams requires a deep understanding of how individuals come together to form teams and organizations.


This course covers a set of topics that are essential to both professionals who will become participants and leaders in globally-distributed projects, as well as researchers interested in studying virtual teams, distributed organizations, and global software development.


Topics covered in this course will include:


* Overview, problems of GSD (1)

* Global software industry (1)

* Distance, virtual teams, distributed organizations (1)

* Challenges of culture (1)

* Facilitating trust, cooperation, social capital (2)

* Organizational/business models (1)

**Project set up case (1)

* Communication and awareness (1)

* Distributed development environments (1)

* Collaboration technologies (1)

* Social networks and knowledge networks (1)

**Siemens Knowledge Networking case (1)

* Requirements in GSD (1)

* Lessons from open source (2)

* Open source ecologies (1)

**Eclipse case (1)

* GSD and agile methods (1)

* The outsourcing relationship (2)

* Assessing coordination risk (1)

* Architectures and coordination (2)

**Architecture case

* Best practices for global development (2)

* Looking ahead (1)

Schedule

(readings with * are optional)

Week 1
Jan. 14: Overview, course requirements, expectations.

Jan. 16: Overview, problems of GSD homework

Herbsleb, J. D. & Grinter, R. E. (1999). Architectures, Coordination, and Distance: Conway's Law and Beyond.  IEEE Software, Sept/Oct 1999, pp. 63-70.

Herbsleb, J.D. & Moitra, D. (2001).  Global Software Development. IEEE Software, March/April 2001.
Curtis, B., Krasner, H., & Iscoe, N. (1988).  A Field Study of the Software Design Process for Large Systems.  Communications of the ACM, 31(11), 1268-1287.


Week 2
Jan. 21: The global software industry homework

Aspray, W., Mayadas, F., Vardi, M.Y. (Eds.) (2006)Globalization and Offshoring of Software: A Report of the ACM Job Migration Task Force.  Association for Computing Machinery. 

Cusumano, M., MacCormack, A., Kemerer, C.F., & Crandall, W. (2003).  Software Development Worldwide: The State of the Practice.  IEEE Software, Nov./Dec. 2003, 2-8.

Sharma, S. & Seshagiri, G. (2006).  Making Global Software Development Work.  IEEE Software, Sept./Oct. 2006, 62-65.

*Sachs, J. (1998).  International Economics: Unlocking the Mysteries of Globalization.  Foreign Policy, 97-111.

*Zweig, P., et al (2006)The Information Technology Workforce: Trends and Implications 2005-2008.  Unpublished manuscript. 

*Kshetri, N. (2005).  Structural Shifts in the Chinese Software Industry. IEEE Software, July/Aug., 86-93.
*Shao, B.B.M & David, J.S. (2007).  The Impact of Offshore Outsourcing on IT Workers in Developed Countries. Communications of the CACM, 50, 2, pp. 89-94. 
*Arora, A. & Gambardella, A. (Eds.). (2005).  From Underdogs to Tigers: The Rise and Growth of the Software Industry in Brazil, China, India, Ireland, and Israel.  New York, NY: Oxford University Press.

Jan. 23: Distance, virtual teams, distributed organizations homework
Olson, G.M. & Olson, J.S. (2000).  Distance Matters.  Human-Computer Interaction, 15, 139-178.
Carmel, E. & Abbott, P. (2007).  Why 'Nearshore' Means that Distance Matters.  Communications of the ACM, 50, 10, 40-46.
*Maznevski, M.L. & Chudoba, K.M. (2000).  Bridging Space over Time: Global Virtual Team Dynamics and Effectiveness.  Organization Science, 11, 5, pp. 473-492.
*Teasley, S.D.; Covi, L.A.; Krishnan, M.S., Olson, J.S.(2002)Rapid software development through team collocation. IEEE Transactions on Software Engineering, 28, pp. 671 - 683.

*Clark, Herbert H. & Brennan, Susan E. (1991). Grounding in communication. In L. B. Resnick, R. M. Levine, & S. D. Teasley (eds.). Perspectives on socially shared cognition. (pp. 127-149). Washington, DC: American Psychological Association.

Week 3
Jan. 28 Challenges of culture homework
Hofstede, G.  (1997).  Cultures and Organizations Ch.1.  New York: McGraw-Hill.
Armstrong, D., & Cole, P. (2002). Managing distances and differences in geographically distributed work groups. In P. Hinds & S. Kiesler (Eds.) Distributed work (pp. 167-186). Cambridge, MA: MIT Press.
Setlock, L. D., Fussell, S. R., & Neuwirth, C. (2004). Taking it out of context: Collaborating within and across cultures in face-to-face settings and via instant messaging. Proceedings of CSCW 2004 (pp. 604-613). NY: ACM Press.

Jan. 30 Facilitating trust, cooperation, social capital 1 homework
 Jarvenpaa, S.L. & Leidner, D.E. (1999).  Communication and Trust in Global Virtual Teams.  Organization Science, 10 (6), pp. 791-815.
Bradner, E. & Mark, G. (2002).  Why Distance Matters: Effects on Cooperation, Persuasion and Deception.  In proceedings, ACM Conference on Computer-Supported Cooperative Work, New Orleans, LA, Nov. 16-20, pp. 226 - 235. 
McKnight, D.H., Cummings, L.L., & Chervany, N.L.  (1998).  Initial Trust Formation in New Organizational Relationships.  Acacemy of Management Review, 23(3), pp. 473-490.

Week 4
Feb. 4 Facilitating trust, cooperation, social capital 2 homework

Putnam, R.D. (1993).  The Prosperous Community: Social Capital and Public Life.  The American Prospect, 4, 13.

Resnick, P. (2000) Beyond bowling together: Sociotechnical capital. Chapter 29 in HCI in the new millenium, edited by John M. Carroll. Addison-Wesley. 2001, pages 247-272.
*
Karau, S. & Williams, K. (1993) Social loafing: A meta-analytic review and theoretical integration. Journal of Personality and Social Psychology, 65(4), 681-706.
*Prusak, L. & Cohen, D. (2001).  How to invest in social capital.  Harvard Business Review, 79, 6, pp. 86-93.

Feb. 6   Organizational/business models homework
Grinter, R.E., Herbsleb, J.D., Perry, D.E. (1999).  The Geography of Coordination: Dealing with Distance in R&D Work.  In proceedings, ACM Conference on Supporting Group Work (GROUP 99), Phoenix, AZ, November 14-17, pp. 306-315.
Prikladnicki, R., Audy, J.L.N., Damian, D., Oliveira, T.C. (2007).  Distributed Software Development: Practices and challenges in different business strategies of offshoring and onshoring.  In Proceedings, International Conference on Global Software Engineering, Munich Germany.

Week 5
Feb. 11 Project set up case discussion

Feb. 13 Communication and awareness homework
Kraut, R.E. & Streeter, L.A. (1995).  Coordination in Software Development.  Communications of the ACM, 38 (3), pp. 69-81.
Handel, M. & Herbsleb, J.D (2002).  What is Chat Doing in the Workplace?   Proceedings of ACM Conference on Computer-Supported Cooperative Work (CSCW), New Orleans, LA, pp. 1-10.
Dekel, U. & Herbsleb, J.D. (2007). Notation and Representation in Collaborative Object-Oriented Design, in Proceedings, OOPSLA 2007, pp. 261-280.

Week 6
Feb. 18  Distributed development environments homework
Storey, M-A, Cheng, L-T., Bull, I, & Rigby P. (2006).  Shared Waypoints and Social Tagging to Support Collaboration in Software Development.  In proceedings, Computer-Supported Cooperative Work, pp. 195 - 198.
Sarma, A., Noroozi, Z. & van der Hoek, A. (2003).  Palantír: Raising Awareness among Configuration Management Workspaces.  In proceedings, International Conference on Software Engineering, Portland, OR,  May 3-10, pp. 444-454.
Froehlich, J.& Dourish, P. (2004).  Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams.  In proceedings, International Conference on Software Engineering, pp. 387- 396.
*Estublier, J.  (2000).  Software configuration management: a roadmap.  In Proceedings of the Conference on the Future of Software Engineering, International Conference on Software Engineering, Limerick, Ireland, pp. 279-289.

Feb. 20 Collaboration technologies homework

Omoronyia, I, Ferguson, J, Roper, M., Wood, M. (2007). A 3-Dimensional Relevance Model for Collaborative Software Engineering Spaces.  In proceedings, International Conference on Global Software Engineering, Munich, Germany.

Sinha, V.S., Sengupta, B., Ghosal, S. (2007). An Adaptive Tool Integration Framework to Enable Coordination in Distributed Software Development.  In proceedings, International Conference on Global Software Engineering, Munich, Germany.

Louridas, P. (2006).  Using Wikis in Software Development.  IEEE Software, Mar./Apr. 88-91.
Thomas, D.M., Bostrom, R.P., & Gouge, M. (2007).  Making Knowledge Work in Virtual Teams.  Communications of the ACM, 50, 11, pp. 85-90. 


Week 7
Feb. 25 Social networks and knowledge networks homework
Allen, T . (1977). Managing the flow of technology. Cambridge, MA: MIT Press. pp. 141-181.
Mockus, A. & Herbsleb, J.D. (2002).  Expertise Browser: A Quantitative Approach to Identifying Expertise.  In Proceedings, International Conference on Software Engineering, Orlando, FL, May 19-25, pp. 503-512.

Tiwana, A. (2004).  Beyond the Black Box: Knowledge Overlaps in Software Outsourcing.  IEEE Software Nov./Dec., 51-58.

*Wu, H. & Gordon, M. (2007).  Collaborative Structuring: Organizing Document Repositories Effectively and Efficiently.  Communications of the ACM, 50, 7, pp. 86-91.

*Bush, A. A. & Tiwana, A. (2005).  Designing Sticky Knowledge Networks.  Communications of the ACM, 48, 5, 67-71.


Feb. 27 Guest Lecture [Marwan Abi-Antoun] no homework
Abi-Antoun, M. (2007).  Making frameworks work: a project retrospective.  In Companion to the 22d ACM SIGPLAN Conference on Object Oriented Programming Systems and Applications, Montreal, Quebec, Oct. 21-25, pp. 1004-1018. 

Week 8
Mar. 3 Siemens Knowledge Networking case

Mar. 5 Requirements in GSD
Bhat, J.M., Gupta, M., & Murthy, S.N. (2006).   Overcoming Requirements Engineering Challenges: Lessons from Offshore Outsourcing.  IEEE Software, Sept/Oct. 2006, 38-44. 
Damian, D. (2007).   Stakeholders in Global Requirements Engineering: Lessons Learned from Practice.  IEEE Software, Mar./Apr. 2007, 21-27. 
Decker, B., Ras, E., Rech, J., Jaubert, P., & Rieth, M. (2007).  Wiki-Based Stakeholder Participation in Requirements Engineering.  IEEE Software, Mar./Apr., 28-35. 
*Berenbach, B. & Wolf, T. (2007).  A unified requirements model; integrating features, use cases, requirements, requirements analysis and hazard analysis.  In proceedings, International Conference on Global Software Engineering, Munich, Germany.
*Damian, D.E.H., Eberlein, A., Shaw, M.L.G., & Gaines, B.R.  (2000).  Using Different Communication Media in Requirements Negotiation.  IEEE Software, May/June, pp. 28-36. 

Mar. 10-14 Spring Break

Week 9
Mar. 17 Lessons from open source 1 homework
Mockus, A., Fielding, R.T., & Herbsleb, J.D.  (2002).  Two Case Studies of Open Source Software
Development: Apache and Mozilla.  ACM Transactions on Software Engineering and Methodology, 11 (3), pp. 309–346.
Gutwin, C., Penner, R., & Schneider, K.  (2004).  Group Awareness in Distributed Software Development.  In Proceedings of the ACM Conference on Computer-Supported Cooperative Work, Chicago, IL, Nov. 6-10, pp.l 72-81. 
*von Hippel, E. & von Krogh, G. (2003). Open Source Software and the “Private-Collective” Innovation Model: Issues for Organization Science.  Organization Science, 14 (2), pp. 209-223. 
*Healy, K. & Schussman, A. (2003). The Ecology of Open-Source Software Development.  Unpublished manuscript, University of Arizona.

Mar. 19 Lessons from open source 2 homework
Lussier, S. (2004). New Tricks: How Open Source Changed the Way My Team Works.  IEEE Software, Jan./Feb., 68-72. 
Madanmohan, T.R.& De, R. (2004).  Open Source Reuse in Commercial Firms.  IEEE Software, Nov./Dec., 62-69.

Gurbani, V.K., Garvert, A., Herbsleb J.D. (2006). A Case Study of a Corporate Open Source Development Model.  (2006).  In Proceedings, International Conference on Software Engineering, Shanghai, China, May 20-25,  pp. 472-481.

Martin, K. & Hoffman, B. (2007).   An Open Source Approach to Developing Software in a Small Organization.  IEEE Software, Jan./Feb., 46-53.

Scacchi, W. (2004).  Free and Open Source Development Practices in the Game Community.  IEEE Software, Jan./Feb. 2004, pp. 59-66. 


Week 10
Mar. 24 Open source ecologies (no homework)
Shah, S. (2006).  Motivation, Governance, and the Viability of Hybrid Forms in Open Source Software Development.  Management Science, 52, 7, pp. 1000–1014. 

Mar. 26 Eclipse case discussion


Week 11
Mar. 31 GSD and agile methods homework

Boden, A., Nett, B., Wulf, V. (2007).  Coordination Practices in Distributed Software Development of Small Enterprises. In proceedings, International Conference on Global Software Engineering, Munich, Germany.

Wagstrom, P. & Herbsleb, J.D. (2006). Dependency Forecasting in the Distributed, Agile Organization.  Commumications of the ACM, 49, 10, 55-56. 

Ramesh, B., Cao, L., Mohan, K., & Xu, P. (2006).   Can Distributed Software Development Be Agile?  Communications of the ACM, 49, 10, 41-46.

Apr. 2  The outsourcing relationship 1 homework
Kobitzsch, W., Rombach, D. & Feldmann, R.L. (2001).  Outsourcing in India.  IEEE Software, March/April, pp. 78-86.
Heeks, R., Krishna, S., Nicholson, B., & Sahay, S.  (2001).  Synching or Sinking: Global Software Outsourcing Relationships.  IEEE Software, March/April, pp. 54-60.
*Dibbern, J.Goles, T., Hirschheim, R., & Jayatilaka, B. (2004).  Information Systems Outsourcing: A Survey and Analysis of the Literature.  The DATA BASE for Advances in Information Systems, 35,  4, 6-102. 
*Szymanski, C.H. & Prikladnicki, R. (2007). The Evolution of the Internal Offshore Software Development Model at Dell Inc.  In proceedings, International Conference on Global Software Engineering, Munich, Germany. 

Week 12
Apr. 7 The outsourcing relationship 2 [guest lecture: Mark Paulk no written homework]
E.B. Hyder, K.M. Heston, and M.C. Paulk, “The eSCM-SP v2.01: Model Overview,” Carnegie Mellon University, IT Services Qualification Center, CMU-ITSQC-06-006, December 2006.
W.E. Hefley and E.A. Loesche, “The eSCM-CL v1.1: Model Overview,” Carnegie Mellon University, IT Services Qualification Center, CMU-ITSQC-06-002, September 2006.
Both of these reports are available online at http://itsqc.cmu.edu/downloads/index.asp.

Apr. 9 Assessing coordination risk homework
Boehm, B.W. (1991).  Software Risk Management: Principles and Practices.  IEEE Software, Jan., pp. 32-41. 
Carmel, E. & Agarwal, R.  (2001).  Tactical Approaches for Alleviating Distance in Global Software Development.  IEEE Software, March/April, pp. 22-29.
Herbsleb, J., Paulish, D., Bass, M., Lescher, C., & Chang, K. (2006). Coordination Risk in GSD Projects, Technical Report CMU-ISRI-06-100, Carnegie Mellon University.
Sakthivel, S. (2007).  Managing Risk in Offshore Systems Development Communications of the ACM, 50, 4, pp. 69-75.  

Week 13
Apr. 14 Architectures and coordination 1 homework
Bass, M., Mikulovic, V., Herbsleb, J., Cataldo, M., Bass, L. (2007).  Architectural Misalignment: An Experience Report.  In Proceedings, Sixth Working IEEE/IFIP Conference on Software Architecture. Mumbai, India, January 6-9.
Conway, M.E. (1968). How Do Committees Invent?  Datamation, Vol. 14, No. 4, Apr. 1968, pp. 28–31.
Mockus, A.& Weiss, D.M. (2001). Globalization by chunking: a quantitative approach. IEEE Software, 18(2):30–37, March 2001.
Lattix demo
*
Henderson, R.M. & Clark, K.B. (1990).  Architectural Innovation: The Reconfiguration of Existing Product Technologies and the Failure of Established Firms. Administrative Science Quarterly, 35 (1), pp. 9-30. 

Apr. 16 Architectures and coordination 2 homework
Cataldo, M., Wagstrom, P., Herbsleb, J., & Carley, K. (2006). Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools.  To appear in Proceedings, ACM Conference on Computer-Supported Cooperative Work, Banff, Alberta, Canada, November 4-8. 
Avritzer, A., Paulish, E., & Cai, Y. (2008).  Coordination Implications of Software Architecture in a Global Software Development Project. In Proceedings of the 7th Working IEEE/IFIP International Conference on Software Architectures (WICSA7), page 107-116. Vancouver, BC, Canada, 18-22 February 2008.
Mullick, et al. (2006).  Siemens Global Studio Project: Experiences Adopting an Integrated GSD Infrastructure.  In Proceedings, International Conference on Global Software Engineering, Florianopolis, Brazil, Oct. 16-19. 

Week 14
Apr. 21 Architecture case discussion
The link is a bookmark for "Historic Page for Main Topics GSP2.0.  There are other materials there (for GSP 3 and 4) so don't get confused -- we are working with materials for GSP 2.0. 
Architecture case assignment
*Sangwan, R., Neill, C., Bass, M., El Houda, Z. (2008).  Integrating a software architecture-centric method into object-oriented analysis and design.  The Journal of Systems and Software, 81, pp. 727–746.

Apr. 23 Best practices for global development 1
Herbsleb, J.D., Paulish, D.J., & Bass, M. (2005).  Global Software Development at Siemens: Experience from Nine Projects.  In proceedings, International Conference on Software Engineering, St. Louis, MO, May 15-21, 524-533.
Cusick, J. & Prasad, A. (2006).  A Practical Management and Engineering Approach to Offshore Collaboration.  IEEE Software, Sept./Oct., 20-29.
Lee, G., Delone, W., & Espinosa, J.A. (2006). Ambidextrous Coping Strategies in Globally Distributed Software Development Projects. Communications of the ACM, 49, 10, 35-40. 

Week 15
Apr. 28 Best practices for global development 2 homework

Bass, M., Herbsleb, J.D., & Lescher, C.   (2007). Collaboration in Global Software Projects at Siemens: An Experience Report.  In proceedings, International Conference on Global Software Engineering, Munich, Germany. 

Ramasubbu, N., Krishnan, M.S., Kompalli, P. (2005).  Leveraging Global Resources: A Process Maturity Framework for Managing Distributed Development.  IEEE Software, May/June, 80-86.

Apr. 30: Looking ahead homework

Herbsleb, J.D. (2007).   Global Software Engineering: The Future of Socio-technical Coordination, in Future of Software Engineering 2007, L. Briand and A. Wolf, Editors. 2007, IEEE-CS Press.

Redmiles, D. et al. (2007).  Continuous Coordination: A New Paradigm to Support Globally Distributed Software Development Projects.  Wirtschaftsinformatik, 49, pp. SS28-S38. 


Grading

Grades will be based on three factors:

Homework                  50%

Case analyses (4)       35%

Class pariticpation     15%.