Abstract
Software development is an intense collaborative process where success depends on the ability to create, share and integrate information. Given the trend towards globalization in the software development industry, distance creates an additional challenge to development processes, as fewer opportunities for rich interaction and lower frequencies of direct communication. The chapter introduces a taxonomy of software engineering tools for distributed projects and presents collaborative development environments, ranging from classic platforms for dispersed developers in open source software projects to modern environments for flexible and distributed processes. Moreover, it introduces computer-mediated communication theories which reveal some patterns of tool usage to overcome the challenges of distance. Building upon the theoretical background of media selection, the chapter summarizes research activities aimed to build an evidence-based model of task-technology fit for communication-intensive activities such as distributed requirements workshops.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agerfalk, P.J., Fitzgerald, B.: Flexible and Distributed Software Processes: Old Petunias in New Bowls? Communications of the ACM 49(10), 26–34 (2006)
Booch, G., Brown, A.W.: Collaborative Development Environments. In: Advances in Computers, vol. 59. Academic Press, London (2003)
Bugzilla Team: The Bugzilla Guide (2008), http://www.bugzilla.org/docs
Calefato, F., Damian, D., Lanubile, F.: An Empirical Investigation on Text-Based Communication in Distributed Requirements Workshops. In: Proc. of the Int. Conf. on Global Software Engineering, pp. 3–11. IEEE Computer Society, Washington (2007)
Calefato, F., Lanubile, F., Scalas, M.: Evolving a Text-Based Conferencing System: An Experience Report. In: Proc. of the 3rd Int. Conf. on Collaborative Computing: Networking, Applications and Worksharing. IEEE Computer Society, Washington (2007)
Carmel, E.: Global Software Teams. Prentice Hall, Upper Saddle River (1999)
Carmel, E., Agarwal, R.: Tactical Approaches for Alleviating Distance in Global Software Development. IEEE Software 18(2), 22–29 (2001)
Cheng, L., de Souza, C., Hupfer, S., Patterson, J., Ross, S.: Building Collaboration into IDEs. ACM Queue 1(9) (2003-2004)
Clark, H.H., Brennan, S.E.: Grounding in Communication. In: Perspectives on Socially Shared Cognition, American Psychological Association, Washington, DC, pp. 127–149 (1991)
Collaborative Development Group: Collab CDE (2008), http://cde.di.uniba.it/
CollabNet: SourceForge.net (2008), http://sourceforge.net/
CruiseControl (2008), http://cruisecontrol.sourceforge.net/
Daft, R.L., Lengel, R.H.: Organizational Information Requirements, Media Richness and Structural Design. Management Science 32(5), 554–571 (1986)
Damian, D., Lanubile, F., Mallardo, T.: On the Need for Mixed Media in Distributed Requirements Negotiations. IEEE Transactions on Software Engineering 34(1), 116–132 (2008)
De Lucia, A., Fasano, F., Oliveto, R., Tortora, G.: Recovering traceability links in software artifact management systems using information retrieval methods. ACM Trans. Softw. Eng. Methodol. 16(4), 13 (2007)
Dennis, A.R., Valacich, J.S.: Rethinking Media Richness: Towards a Theory of Media Synchronicity. In: Proc. of the 32nd Annual Hawaii Int. Conf. on System Sciences, p. 1017. IEEE Computer Society, Washington (1999)
Ebert, C., De Neve, P.: Surviving Global Software Development. IEEE Software 18(2), 62–69 (2001)
Edgewall Software: The Trac Project (2008), http://trac.edgewall.org/
Ellis, C.A., Gibbs, S.J., Rein, G.: Groupware: Some Issues and Experiences. Communications of the ACM 34(1), 39–58 (1991)
Erickson, T., Kellogg, W.A.: Social Translucence: An Approach to Designing Systems that Support Social Processes. ACM Transactions on Computer-Human Interaction 7(1), 59–83 (2000)
Espinosa, J.A., Nan, N., Carmel, E.: Do Gradations of Time Zone Separation Make a Difference in Performance? A First Laboratory Study. In: Int. Conf. on Global Software Engineering, pp. 12–22. IEEE Computer Society, Los Alamitos (2007)
Fowler, M., Foemmel, M.: Continuous Integration (2006), http://martinfowler.com/articles/continuousIntegration.html
Frost, R.: Jazz and the Eclipse Way of Collaboration. IEEE Software 24(6), 114–117 (2007)
GForge Group: GForge project, http://gforge.org/projects/gforge/
Glass, R.L.: Software Engineering: Facts and Fallacies. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002)
Herbsleb, J.D., Moitra, D.: Global Software Development. IEEE Software 18(2), 16–20 (2001)
Herbsleb, J.D., Mockus, T.A.: An Empirical Study of Speed and Communication in Globally Distributed Software Development. IEEE Transactions on Software Engineering 29(6), 481–494 (2003)
Hupfer, S., Cheng, L., Ross, S., Patterson, J.: Introducing collaboration into an application development environment. In: Proc. of the ACM Conference on Computer Supported Cooperative Work, pp. 21–24. ACM, New York (2004)
Lanubile, F., Mallardo, T., Calefato, F.: Tool Support for Geographically Dispersed Inspection Teams. Software Process: Improvement and Practice 8(4), 217–231 (2003)
Louridas, P.: Using Wikis in Software Development. IEEE Software 23(2), 88–91 (2006)
McGrath, J.E., Hollingshead, A.B.: Groups Interacting with Technology: Ideas, Evidence, Issues and an Agenda. Sage, Thousand Oaks (1994)
Murugesan, S.: Understanding Web 2.0. IT Professional 9(4), 34–41 (2007)
Robert, L.P., Dennis, A.R.: Paradox of Richness: A Cognitive Model of Media Choice. IEEE Transactions on Professional Communication 48(1), 10–21 (2005)
Rus, I., Lindvall, M.: Knowledge Management in Software Engineering. IEEE Software 19(3), 26–38 (2002)
Sengupta, B., Chandra, S., Sinha, V.: A research agenda for distributed software development. In: Proc. of the 28th Int. Conf. on Software Engineering, pp. 731–740. ACM, New York (2006)
Short, J., Williams, E., Christie, B.: The Social Psychology of Telecommunications. John Wiley and Sons, London (1976)
Walz, D.B., Elam, J.J., Curtis, B.: Inside a Software Design Team: Knowledge Acquisition, Sharing, and Integration. Communications of the ACM 36(10), 63–77 (1993)
Whitehead, J.: Collaboration in Software Engineering: A Roadmap. In: Int. Conf. on Software Engineering, pp. 214–225. IEEE Computer Society, Washington (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Lanubile, F. (2009). Collaboration in Distributed Software Development. In: De Lucia, A., Ferrucci, F. (eds) Software Engineering. ISSSE ISSSE ISSSE 2007 2008 2006. Lecture Notes in Computer Science, vol 5413. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-95888-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-95888-8_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-95887-1
Online ISBN: 978-3-540-95888-8
eBook Packages: Computer ScienceComputer Science (R0)