Collaborative software engineering: Concepts and techniques

Jim Whitehead, Ivan Mistrík, John Grundy, André Van Der Hoek

Research output: Chapter in Book/Report/Conference proceedingChapter (Book)Researchpeer-review

20 Citations (Scopus)


Collaboration is a central activity in software engineering, as all but the most trivial projects involve multiple engineers working together. Hence, understanding software engineering collaboration is important for both engineers and researchers. This chapter presents a framework for understanding software engineering collaboration, focused on three key insights: (1) software engineering collaboration is model-based, centered on the creation and negotiation of shared meaning within the project artifacts that contain the models that describe the final working system; (2) software project management is a cross-cutting concern that creates the organizational structures under which collaboration is fostered (or dampened); and (3) global software engineering introduces many forms of distance -spatial, temporal, socio-cultural -into existing pathways of collaboration. Analysis of future trends highlight several ways engineers will be able to improve project collaboration, specifically, software development environments will shift to being totally Web-based, thereby opening the potential for social network site integration, greater participation by end-users in project development, and greater ease in global software engineering. Just as collaboration is inherent in software engineering, so are the fundamental tensions inherent in fostering collaboration; the chapter ends with these.

Original languageEnglish
Title of host publicationCollaborative Software Engineering
Number of pages30
ISBN (Print)9783642102936
Publication statusPublished - 1 Dec 2010


  • Collaboration models
  • Collaborative software engineering
  • Conceptual/technical/social/ managerial considerations
  • Fundamental challenges
  • Global and multi-site collaboration

Cite this