skip to main content
10.1145/2046396.2046410acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
short-paper

Role-based interfaces for collaborative software development

Published:16 October 2011Publication History

ABSTRACT

Real-time collaboration between multiple simultaneous contributors to a shared document is full of both opportunities and pitfalls, as evidenced by decades of research and industry work in computer-supported cooperative work. In the domain of software engineering, collaboration is still generally achieved either via shared use of a single computer (e.g. pair programming) or with version control (and manual pushing and pulling of changes). By examining and designing for the different roles collaborating programmers play when working synchronously together, we can build real-time collaborative programming systems that make their collaboration more effective. And beyond simple shared editing, we can provide asymmetric, role-specific interfaces on their shared task. Collabode is a web-based IDE for collaborative programming with simultaneous editors that, along with several novel models for closely-collaborative software development, explores the potential of real-time cooperative programming.

References

  1. Kent Beck. Extreme Programming Explained: Embrace Change. Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Kent Beck. Test-Driven Development: By Example. Addison-Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sallyann Bryant. Rating Expertise in Collaborative Software Development. In Proc. PPIG, pages 19--29, 2005.Google ScholarGoogle Scholar
  4. Sallyann Bryant, Pablo Romero, and Benedict du Boulay. Pair programming and the mysterious role of the navigator. International Journal of Human-Computer Studies, 66(7):10, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Li-Te Cheng, Susanne Hupfer, Steven Ross, and John Patterson. Jazzing up Eclipse with collaborative tools. In OOPSLA workshop on eclipse technology eXchange, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jan Chong and T Hurlbutt. The Social Dynamics of Pair Programming. In International Conference on Software Engineering, pages 354--363. Ieee, May 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Alistair Cockburn. Crystal Clear: A Human-Powered Methodology for Small Teams. Addison-Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Dewan and J. Riedl. Toward Computer-Supported Concurrent Software Engineering. IEEE Computer, 26:17--27, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Prasun Dewan, Puneet Agarwal, Gautam Shroff, and Rajesh Hegde. Distributed side-by-side programming. In CHASE, page 7, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Max Goldman, Greg Little, and Robert C. Miller. Collabode: Collaborative Coding in the Browser. In CHASE, page 65, May 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Max Goldman, Greg Little, and Robert C. Miller. Real-Time Collaborative Coding in a Web IDE. In UIST (to appear), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Max Goldman and Robert C. Miller. Test-Driven Roles for Pair Programmming. In CHASE, pages 515--516, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Lile Hattori and Michele Lanza. Syde: a tool for collaborative software development. In ICSE, pages 235--238, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Rajesh Hegde and Prasun Dewan. Connecting Programming Environments to Support Ad-Hoc Collaboration. In ASE, pages 178--187. IEEE, September 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Chih-Wei Ho, Somik Raha, Edward Gehringer, and Laurie Williams. Sangam: a distributed pair programming plug-in for Eclipse. In OOPSLA workshop on Eclipse Technology eXchange, page 73, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Reid Holmes and Robert J. Walker. Customized awareness: recommending relevant external change events. In ICSE, pages 465--474, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. David Saff and Michael D. Ernst. Reducing wasted development time via continuous testing. In International Symposium on Software Reliability Engineering, pages 281--292. IEEE, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Stephan Salinger, Christopher Oezbek, Karl Beecher, and Julia Schenk. Saros: an Eclipse plug-in for distributed party programming. In CHASE, pages 48--55, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Sarma, Z. Noroozi, and A. van Der Hoek. Palantír: raising awareness among configuration management workspaces. In ICSE, pages 444--454, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Francisco Servant, James A. Jones, and André Van Der Hoek. CASI: preventing indirect conflicts through a live visualization. In CHASE, pages 39--46, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Christoph Treude and Margaret-Anne Storey. Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds. In ICSE, pages 365--374, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Arie van Deursen, Ali Mesbah, Bas Cornelissen, Andy Zaidman, Martin Pinzger, and Anja Guzzi. Adinda: a knowledgeable, browser-based IDE. In ICSE, pages 203--206, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Role-based interfaces for collaborative software development

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader