Home Research Review: Social Software Development Environments
Review: Social Software Development Environments
Written by Kevin Chai   
Tuesday, 29 January 2008 21:15
Authors: Cheng, L., Hupfer, S. Ross, S & Patterson, J
Year: 2007
Published in: Dr Dobb's Journal; Jan 11 2007
Link: http://www.ddj.com/cpp/196900164

Abstract

Software development is a social activity. Projects involve a team or multiple teams coordinating to produce a finished product. Whether open source or proprietary, a software development project requires people to collaborate. Team members, who may be collocated or distributed around the globe, meet and communicate face-to-face, over the phone, or online. Programmers ask their peers to consult with them, in-person or via screen sharing, to help review code and solve problems.

Review

This relatively recent article has provided me with a good overview of research being conducted in integrating social software in software development environments (i.e. Integrated Development Environments (IDEs)). Social software tools has been used extensively in open source software development projects as they allow developers, from different geographical locations around the world, to collaborate with one another. Particularly, the authors (who are members of the IBM research group) have been working on integrating collaboration tools (i.e. text chat, screen sharing, joint debugging and code reviews etc...) into an application development environment for the Jazz Research Project. Following this project, the authors engaged in the development of a research prototype system known as ActivitySpaces which allowed teams to effectively collaborate across teams not just within teams.

A good area for future research in this topic would be to compare the productivity / efficency of software development teams that use integrated collaborative tools within software development environments vs. the use non-integrated tools such as external forums, instant messaging, wikis, blogs and e-mail for collaboration. Additionally both integrated and non-integrated collaboration tools could be used in tandem for development teams to determine whether both types of tools complement each other effectively as oppose to using either individually.

Important New Terms
 
" Everyone knows that debugging is twice as hard as writing a program in the first place. So if you are as clever as you can be when you write it, how will you ever debug it? "
Brian Kernighan

Sponsored Links