Digitally annexing desk space for software development: NIER track

Software engineering is a team activity yet the programmer's key tool, the IDE, is still largely that of a soloist. This paper describes the vision, implementation and initial evaluation of CoffeeTable - a fully featured research prototype resulting from our reflections on the software design process. CoffeeTable exchanges the traditional IDE for one built around a shared interactive desk. The proposed solution encourages smooth transitions between agile and traditional modes of working whilst helping to create a shared vision and common reference frame - key to sustaining a good design. This paper also presents early results from the evaluation of CoffeeTable and offers some insights from the lessons learned. In particular, it highlights the role of developer tools and the software constructions that are shaped by them.

[1]  Yunwen Ye,et al.  Software Development as Activities Creating and Utilizing Socio-Technical Information Spaces , 2008 .

[2]  Robert DeLine,et al.  Code canvas: zooming towards better development environments , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[3]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[4]  Joseph J. LaViola,et al.  Code bubbles: rethinking the user interface paradigm of integrated development environments , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[5]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[6]  Paul Dourish,et al.  Seeking the source: software source code as a social and technical artifact , 2005, GROUP.

[7]  Arie van Deursen,et al.  Adinda: a knowledgeable, browser-based IDE , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[8]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[9]  Stephanie D. Teasley,et al.  Rapid Software Development through Team Collocation , 2002, IEEE Trans. Software Eng..

[10]  Andrian Marcus,et al.  Supporting program comprehension with source code summarization , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[11]  Deborah A. Boehm-Davis,et al.  Empirical Studies of Programmers: Sixth Workshop , 1996 .

[12]  Mary Czerwinski,et al.  Code Thumbnails: Using Spatial Memory to Navigate Source Code , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[13]  Laurie Williams,et al.  The costs and benefits of pair programming , 2001 .

[14]  Thomas A. Corbi,et al.  Program Understanding: Challenge for the 1990s , 1989, IBM Syst. J..

[15]  Joseph J. LaViola,et al.  Code bubbles: a working set-based interface for code understanding and maintenance , 2010, CHI.

[16]  Amy J. Ko,et al.  Eliciting design requirements for maintenance-oriented IDEs: a detailed study of corrective and perfective maintenance tasks , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[17]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[18]  Arthur W. Combs,et al.  Individual Behavior: A New Frame of Reference for Psychology. , 1950 .