Skip to main content

IBM Cambridge Research Center

  Technical Report: Reinventing Team Spaces for a Collaborative Development Environment

Reinventing Team Spaces for a Collaborative Development Environment

Technical Report #:05-01
Author(s): Susanne Hupfer, Li-Te Cheng, Steven Ross, John Patterson
Category(s):Team spaces, team rooms, activities, computer-supported cooperative work, contextual collaboration, integrated development environment, IDE, collaborative development environment, CDE, software development
Full Citation:Submitted to: "Beyond Threaded Conversation" Workshop, CHI 2005, April 2005. Copyright 2005, IBM. All rights reserved.


A Collaborative User Experience Technical Report: more about CUE...

Software development is a collaborative endeavor. From open source projects to corporate products, programmers engage in conversations with colleagues around the world about the complex software they are designing, building, testing, and fixing. Besides face-to-face interaction, developers use an assortment of collaborative tools inside and outside their integrated development environments (IDEs). These include formal tools accessible from the IDE, such as source code management and bug tracking systems, and also ad hoc ones available outside the IDE, such as email, instant messaging, and threaded conversation tools. Non-collocated software teams, especially, face collaboration challenges. Indeed, as software teams become increasingly distributed, there is an increasing need for tools to support both structured and unstructured communication and coordination of work .

Booch and Brown postulate that a rich collaborative development environment (CDE) arises from the collection of many apparently simple collaborative components that support coordination, collaboration, and community building – the "Three C's" of CDEs. Moreover, they assert that IDEs equipped with team-centric features are superior to those merely enhanced with collaborative support. We have been building a prototype CDE known as Jazz, an IBM Research project that embeds collaborative capabilities into an application development environment (i.e. by extending the Eclipse Java IDE) to enable small teams of software developers to work together more effectively. Other companies are also interested in team-enhanced development environments.

Jazz is based on an “open office” approach to development: A small team works in close proximity at their workstations, with a shared space available for collaborating at whiteboards, sharing materials, or having meetings. Communication is vital: Teammates shout out questions or information, or call colleagues over to consult. Team awareness is also key: Even while focused on their own work, developers have a peripheral sense of the work, activities, and discussions around them. Our goal with Jazz is to elevate the team to a first-class object in the development environment, and to facilitate people awareness (who’s present and what they’re doing), resource awareness (who’s working on code that I depend on), communication, and coordination among the team members. Jazz provides the means to initiate chats, VOIP calls, or screen-sharing sessions with teammates. Another feature that we have begun to explore is a type of asynchronous team space: Conversation transcripts may be saved to the team's space, and other events and artifacts (e.g. code check-ins, check-outs, build results, documents) may be posted. We also envision members contributing to asynchronous team-wide conversations in the space.

Full Report

For more information, or to order a Technical Report, contact us.