Manhattan: Supporting real-time visual team activity awareness

Collaboration is essential for the development of complex software systems. An important aspect of collaboration is team awareness: The understanding of the activity of others that provides a context for one's activity. We claim that the current IDE support for awareness is inadequate: The typical setting is to rely on software configuration management systems (SCMs), which are based on an explicit check-out/check-in model. If developers rely only on SCMs information, they become aware of concurrent changes only when they commit their code to the repository. This generates problems such as complex merging and redundant work. Most tools to raise awareness notify developers of emerging conflicts in the form of textual notifications. We propose to improve the notification by using real-time visualization integrated in the IDE to notify developers of team activity. Our approach, implemented in a tool called Manhattan, eases team activity comprehension by relying on a city metaphor. Manhattan depicts a software system as a live city that changes as the underlying system evolves. Within the city, Manhattan renders team activity information, updating developers in real-time about changes implemented by the entire development team. Further, Manhattan provides programmers with immediate feedback about emerging conflicts in which they are involved.

[1]  Yuriy Brun,et al.  Proactive detection of collaboration conflicts , 2011, ESEC/FSE '11.

[2]  Michele Lanza,et al.  Università Della Svizzera Italiana Usi Technical Report Series in Informatics a Qualitative Analysis of Preemptive Conflict Detection , 2022 .

[3]  Audris Mockus,et al.  Distance, dependencies, and delay in a global collaboration , 2000, CSCW '00.

[4]  Prasun Dewan,et al.  Connecting Programming Environments to Support Ad-Hoc Collaboration , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[5]  Michele Lanza,et al.  Syde: a tool for collaborative software development , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[6]  Thomas D. LaToza,et al.  Maintaining mental models: a study of developer work habits , 2006, ICSE.

[7]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[8]  Daniela E. Damian,et al.  Awareness in the Wild: Why Communication Breakdowns Occur , 2007, International Conference on Global Software Engineering (ICGSE 2007).

[9]  Paul Dourish,et al.  "Breaking the code", moving between private and public work in collaborative software development , 2003, GROUP.

[10]  Mary Czerwinski,et al.  FASTDash: a visual dashboard for fostering awareness in software teams , 2007, CHI.

[11]  Romain Robbes,et al.  Software systems as cities: a controlled experiment , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[12]  António Rito Silva,et al.  Towards real-time integration , 2010, CHASE '10.

[13]  Rebecca E. Grinter Supporting articulation work using software configuration management systems , 1996, Computer Supported Cooperative Work (CSCW).

[14]  André van der Hoek,et al.  Empirical evidence of the benefits of workspace awareness in software configuration management , 2008, SIGSOFT '08/FSE-16.