Advertisement

Collaboration in Distributed Software Development

  • Filippo Lanubile
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5413)

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.

Keywords

Distributed software development global software development computer-supported cooperative work collaborative development environments 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agerfalk, P.J., Fitzgerald, B.: Flexible and Distributed Software Processes: Old Petunias in New Bowls? Communications of the ACM 49(10), 26–34 (2006)CrossRefGoogle Scholar
  2. 2.
    Booch, G., Brown, A.W.: Collaborative Development Environments. In: Advances in Computers, vol. 59. Academic Press, London (2003)Google Scholar
  3. 3.
    Bugzilla Team: The Bugzilla Guide (2008), http://www.bugzilla.org/docs
  4. 4.
    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)Google Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Carmel, E.: Global Software Teams. Prentice Hall, Upper Saddle River (1999)Google Scholar
  7. 7.
    Carmel, E., Agarwal, R.: Tactical Approaches for Alleviating Distance in Global Software Development. IEEE Software 18(2), 22–29 (2001)CrossRefGoogle Scholar
  8. 8.
    Cheng, L., de Souza, C., Hupfer, S., Patterson, J., Ross, S.: Building Collaboration into IDEs. ACM Queue 1(9) (2003-2004)Google Scholar
  9. 9.
    Clark, H.H., Brennan, S.E.: Grounding in Communication. In: Perspectives on Socially Shared Cognition, American Psychological Association, Washington, DC, pp. 127–149 (1991)Google Scholar
  10. 10.
    Collaborative Development Group: Collab CDE (2008), http://cde.di.uniba.it/
  11. 11.
    CollabNet: SourceForge.net (2008), http://sourceforge.net/
  12. 12.
  13. 13.
    Daft, R.L., Lengel, R.H.: Organizational Information Requirements, Media Richness and Structural Design. Management Science 32(5), 554–571 (1986)CrossRefGoogle Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    Ebert, C., De Neve, P.: Surviving Global Software Development. IEEE Software 18(2), 62–69 (2001)CrossRefGoogle Scholar
  18. 18.
    Edgewall Software: The Trac Project (2008), http://trac.edgewall.org/
  19. 19.
    Ellis, C.A., Gibbs, S.J., Rein, G.: Groupware: Some Issues and Experiences. Communications of the ACM 34(1), 39–58 (1991)CrossRefGoogle Scholar
  20. 20.
    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)CrossRefGoogle Scholar
  21. 21.
    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)Google Scholar
  22. 22.
    Fowler, M., Foemmel, M.: Continuous Integration (2006), http://martinfowler.com/articles/continuousIntegration.html
  23. 23.
    Frost, R.: Jazz and the Eclipse Way of Collaboration. IEEE Software 24(6), 114–117 (2007)CrossRefGoogle Scholar
  24. 24.
    GForge Group: GForge project, http://gforge.org/projects/gforge/
  25. 25.
    Glass, R.L.: Software Engineering: Facts and Fallacies. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (2002)Google Scholar
  26. 26.
    Herbsleb, J.D., Moitra, D.: Global Software Development. IEEE Software 18(2), 16–20 (2001)CrossRefGoogle Scholar
  27. 27.
    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)CrossRefGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    Lanubile, F., Mallardo, T., Calefato, F.: Tool Support for Geographically Dispersed Inspection Teams. Software Process: Improvement and Practice 8(4), 217–231 (2003)CrossRefGoogle Scholar
  30. 30.
    Louridas, P.: Using Wikis in Software Development. IEEE Software 23(2), 88–91 (2006)CrossRefGoogle Scholar
  31. 31.
    McGrath, J.E., Hollingshead, A.B.: Groups Interacting with Technology: Ideas, Evidence, Issues and an Agenda. Sage, Thousand Oaks (1994)Google Scholar
  32. 32.
    Murugesan, S.: Understanding Web 2.0. IT Professional 9(4), 34–41 (2007)CrossRefGoogle Scholar
  33. 33.
    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)CrossRefGoogle Scholar
  34. 34.
    Rus, I., Lindvall, M.: Knowledge Management in Software Engineering. IEEE Software 19(3), 26–38 (2002)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    Short, J., Williams, E., Christie, B.: The Social Psychology of Telecommunications. John Wiley and Sons, London (1976)Google Scholar
  37. 37.
    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)CrossRefGoogle Scholar
  38. 38.
    Whitehead, J.: Collaboration in Software Engineering: A Roadmap. In: Int. Conf. on Software Engineering, pp. 214–225. IEEE Computer Society, Washington (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Filippo Lanubile
    • 1
  1. 1.Dipartimento di InformaticaUniversity of BariBariItaly

Personalised recommendations