Hani Bani-Salameh Dissertation Proposal Defense

Friday, January 29 2010

A Social Collaborative Distributed Software Development Environment.

Friday 15:45 - 17:00, January 29, 2010 in the Janssen Engineering Building, room 326.

Software engineering is usually a team effort. Distributed software development needs real-time collaboration tools that help replicate the benefits of face-to-face meetings and support interaction among team members. Unfortunately, most of the tools that exist have limited capabilities, such as source code editing, and developers face collaboration and communication challenges in working with each other.

Over the past decade software researchers have invented various development tools that integrate collaborative features. Unfortunately, most software developers still lack the right means and level of communication to coordinate their work and perform their tasks effectively, particularly in distributed settings. Developers still lack a sense of remote team members’ presence, and in some contexts, such as open source development, they still find it difficult to find appropriate project partners. This draws attention to the need for community integration inside collaborative development environment tools. This dissertation will investigate collaboration and communication mechanisms for distributed software development. The research results include solutions to problems that are associated with providing online awareness and presence information, and will determine the prospective gains from the use of these solutions.

This research contributes the core idea and novel design and implementation techniques for a real-time social collaborative integrated development environment (IDE). It describes the design and implementation of a social collaborative IDE inside a virtual environment named collaborative virtual environment (CVE) where users can interact with each other within a 3D virtual world. A subsystem of CVE called Social Collaborative Integrated Development Environment (SCI) is presented that supports communication and collaboration within a distributed software development community, and integrates community and social features inside the development environment. SCI addresses the communication and collaboration needs in a variety of different phases in a team software development process, unifies the concepts of social networking and collaborative IDE, and integrates presence information and collaborative development tools into a single environment. In addition, it relates the contributions to previous research and describes directions for future work.