Our project aims to integrate CoFFEE tools within Jazz and Rational Team Concert to support structured collaboration and to enhance cooperation within the team. CoFFEE offers highly configurable tools that allow to tailor their behavior (at run-time) according to the needs, by choosing, e.g., the contributions types, the linking mechanisms, label, etc. CoFFEE is an open source project, based on Eclipse Communication Framework and is hosted at  on Sourceforge.
The research team is led by Vittorio Scarano and consists of:
- Ilaria Manno, PostDoc
- Furio Belgiorno
- Giuseppina Palmieri
News and progress
* June/July 2009: updating to RTC 2.0 * April/May 2009: CoFFEE made available as a set of plugins, that can be launched on-the-fly.
CoFFEE is a suite of applications designed to support cooperative learning in a face-2-face setting; it was realized during the 3 year European funded project called Lead and is available on Sourceforge since September 2008. The usage scenario mixes face-2-face communication and computer-mediated communication, where the latter occurs in a shared digital workspace, provided by CoFFEE, that can be accessed by all the learners simultaneously. Our project aims at integrating CoFFEE tools into Jazz so that the Jazz team is enriched with a set of structured collaboration tools.
CoFFEE is a suite of Eclipse-based Rich Client Applications: the main applications are the CoFFEE Controller (teacher) and Discusser (learner). On top of the Controller and the Discussers an extensible set of collaborative tools can be executed. The main discussion tools are the Threaded Discussion Tool (right, top) and the Graphical Discussion Tool (right, middle). The Threaded Discussion Tool provides a space for synchronous debates structured in trees and categories (a tree for each category). The Graphical Discussion Tool provides a space for synchronous communication organized as a graph, with text box and links. They are highly versatile and can be configured at runtime so that it is possible to choose, e.g., notation types for the contributions, read/write permissions, labels on connectors. Other interesting tools include a Positionometer (voting system) and a shared-text editor (with turn-taking).
Jazz implements a platform to support collaboration over the whole software development lifecycle. In particular it enhances the team and process awareness among the members of the development team, to coordinate efforts towards results. This approach is based on a scenario where the objective is clear and defined, and each task can be defined and scheduled as a working item in the development process. Nevertheless, there are phases in the development process which require collaboration within the team to clarify and define objectives: examples are the requirements development phase, the system design and the work planning. This kind of phases requires synchronous communication channels able to support knowledge sharing, brainstorming, ideas generation, but also decision making.
An outline of the planned research. The plan is to integrate CoFFEE tools within Jazz, first, so that they offer a richer set of collaborative tools for the team. Then, we will proceed by embedding the artifacts of these tools (e.g., a threaded discussion or the graphical diagram) into Jazz. It will occur either by attaching “live” structured discussions (either threaded or graphical) to the existing types of work items, or by creating a new kind of work item.
Impact. Using collaborative structured discussions and design tools in Jazz have an immediate application in the educational context where the design choices can be discussed among students and with the tutor/teacher/team-leader. But as much interesting appear also the applications of these tools in the professional software development process, because of the evident benefits of a structured agile collaboration towards the quick prototyping, release cycle and testing.
Current Status. Desiging the integration of CoFFEE into Jazz we have defined several aims:
- allowing to start the CoFFEE Server and Client within the Rational Team Concert: originally the CoFFEE Server and Client were Rich Client Application designed for learning context; allowing to start them within RTC implies the creation of plug-ins embedding the CoFFEE server and Client and relaxing some constraints due to the learning context.
- allowing to start CoFFEE tools: originally the activation sequence of tools and their configuration were defined by the teacher before to start the colalboration, but in RTC we would like to start a tool and configure it on the fly, during the collaboration.
- allowing to save and reload the CoFFEE trace on Jazz repository: CoFFEE generate trace of the whole collaboration session and allows to reload it showing the sequence of events and tools contents. Currently we are at work on this functionality.
We have shown the current status of the project at the IBM Rational Conference Italia. The demo we shown a user starting and leading a collaboration session using the CoFFEE tools.
In the following picture we show CoFFEE integrated within Rational Team Concert, and in particular the button to start the CoFFEE tools, the Threaded Discussion tool in front of some other CoFFEE tool and the CoFFEE discussions on the Jazz repositories.
The slides of the demo are shared here.
In the demo we shown:
- the leader user starts up the CoFFEE server within RTC
- the leader user starts the Threaded Discussion Tool (and configure it)
- the participating user start the coffe client and choose the collaboration session to which he wants participate
- they collaborate in the Threaded Discussion running within RTC
- the leader user starts several other CoFFEE tools within RTC (positionometer, projector, graphical debate)
- when the leader user decides to termineate the collaborative session, he stops the server and saves the session on the Jazz repository;
- the session is available in the CoFFEE Discussions folder in the Repository and every user can reload the session; reloading the session allows to see the sequence of collaboration events and the final conents of the tools. Note that the reloaded session is open: the user that have reloaded the session is playing as leading user and other users can connect to the session and contribute to the tools contents.