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 |