Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2675133.2675177acmconferencesArticle/Chapter ViewAbstractPublication PagescscwConference Proceedingsconference-collections
research-article

Supporting Developers' Coordination in the IDE

Published: 28 February 2015 Publication History

Abstract

Teamwork in software engineering is time-consuming and problematic. In this paper, we explore how to better support developers' collaboration in teamwork, focusing on the software implementation phase happening in the integrated development environment (IDE). Conducting a qualitative investigation, we learn that developers' teamwork needs mostly regard coordination, rather than concurrent work on the same (sub)task, and that developers successfully deal with scenarios considered problematic in literature, but they have problems dealing with breaking changes made by peers on the same project. We derive implications and recommendations. Based on one of the latter, we analyze the current IDE support for receiving code changes, finding that historical information is neither visible nor easily accessible. Consequently, we devise and qualitatively evaluate Bellevue, the design of an IDE extension to make received changes always visible and code history accessible in the editor.

Supplementary Material

ZIP File (cscwf0281-file4.zip)
Bellevue is an IDE extension that supports developers' coordination. demo.pdf

References

[1]
Anvik, J., Hiew, L., and Murphy, G. C. Who should fix this bug? In Proceedings of ICSE 2006 (28th International Conference on Software Engineering), ACM Press (2006), 361--370.
[2]
Anvik, J., and Murphy, G. C. Reducing the effort of bug report triage: Recommenders for development-oriented decisions. ACM Transactions on Software Engineering and Methodology 20, 3 (Aug. 2011), 10:1--10:35.
[3]
Arnold, R., and Bohner, S. Software Change Impact Analysis. Wiley-IEEE Computer Society Press, 1996.
[4]
Bacchelli, A., Lanza, M., and Humpa, V. RTFM (Read The Factual Mails) -augmenting program comprehension with REmail. In Proceedings of CSMR 2011 (15th IEEE European Conference on Software Maintenance and Reengineering) (2011), 15--24.
[5]
Bangor, A., Kortum, P., and Miller, J. An empirical evaluation of the system usability scale. International Journal of Human-Computer Interaction 24, 6 (July 2008), 574--594.
[6]
Bangor, A., Kortum, P., and Miller, J. Determining what individual SUS scores mean: Adding an adjective rating scale. Journal of Usability Studies 4, 3 (May 2009), 114--123.
[7]
Begel, A., Khoo, Y. P., and Zimmermann, T. Codebook: Discovering and exploiting relationships in software repositories. In Proceedings of ICSE 2010 (32nd ACM/IEEE International Conference on Software Engineering), ACM (2010), 125--134.
[8]
Begel, A., Nagappan, N., Poile, C., and Layman, L. Coordination in large-scale software teams. In Proceedings of the CHASE 2009 (2nd International Workshop on Cooperative and Human Aspects of Software Engineering), IEEE Computer Society (2009), 1--7.
[9]
Biehl, J. T., Czerwinski, M., Smith, G., and Robertson, G. G. FASTDash: a visual dashboard for fostering awareness in software teams. In Proceedings of CHI 2007 (25th SIGCHI Conference on Human Factors in Computing Systems, ACM (2007), 1313--1322.
[10]
Black, S. Computing ripple effect for software maintenance. Journal of Software Maintenance 13, 4 (Sept. 2001), 263--.
[11]
Brooke, J. SUS: A "quick and dirty" usability scale. In Usability Evaluation in Industry, P. W. Jordan, B. Thomas, I. L. McClelland, and B. Weerdmeester, Eds. CRC Press, 1996, ch. 21, 189--194.
[12]
Brun, Y., Holmes, R., Ernst, M. D., and Notkin, D. Proactive detection of collaboration conflicts. In Proceedings of ESEC/FSE 2011 (8th Joint Meeting on Foundations of Software Engineering), ACM (2011), 168--178.
[13]
Brun, Y., Holmes, R., Ernst, M. D., and Notkin, D. Early detection of collaboration conflicts and risks. IEEE Transactions on Software Engineering 39, 10 (2013), 1358--1375.
[14]
Cataldo, M., Mockus, A., Roberts, J. A., and Herbsleb, J. D. Software dependencies, work dependencies, and their impact on failures. IEEE Transactions on Software Engineering 35, 6 (Nov. 2009), 864--878.
[15]
Cataldo, M., Wagstrom, P. A., Herbsleb, J. D., and Carley, K. M. Identification of coordination requirements: Implications for the design of collaboration and awareness tools. In Proceedings of CSCW 2006 (20th Anniversary Conference on Computer Supported Cooperative Work), ACM (2006), 353--362.
[16]
Chen, W.-N., and Zhang, J. Ant colony optimization for software project scheduling and staffing with an event-based scheduler. IEEE Transactions on Software Engineering 39, 1 (Jan. 2013), 1--17.
[17]
Cheng, L.-T., de Souza, C. R., Hupfer, S., Patterson, J., and Ross, S. Building collaboration into IDEs. ACM Queue 1, 9 (2003), 40--50.
[18]
Curtis, B., Krasner, H., and Iscoe, N. A field study of the software design process for large systems. Communications of the ACM 31, 11 (Nov. 1988), 1268--1287.
[19]
da Silva, I., Chen, P., der Westhuizen, C. V., Ripley, R., and van der Hoek, A. Lighthouse: Coordination through emerging design. In Proceedings of ETX 2006 (OOPSLA Workshop on Eclipse Technology eXchange, ACM Press (2006), 11--15.
[20]
de Souza, C. R. B., Quirk, S., Trainer, E., and Redmiles, D. F. Supporting collaborative software development through the visualization of socio-technical dependencies. In Proceedings of GROUP 2007 (International ACM SIGGROUP Conference on Supporting Group Work), ACM (2007), 147--156.
[21]
de Souza, C. R. B., Redmiles, D., and Dourish, P. Breaking the code, moving between private and public work in collaborative software development. In Proceedings of GROUP 2003 (International ACM SIGGROUP Conference on Supporting Group Work), ACM Press (2003), 105--114.
[22]
de Souza, C. R. B., and Redmiles, D. F. An empirical study of software developers' management of dependencies and changes. In Proceedings of ICSE 2008 (30th ACM/IEEE International Conference on Software Engineering), ACM (2008), 241--250.
[23]
Dewan, P., and Hegde, R. Semi-synchronous conflict detection and resolution in asynchronous software development. In Proceedings of ECSCW 2007 (10th European Conference on Computer Supported Cooperative Work), Springer (2007), 24--28.
[24]
Duggan, J., Byrne, J., and Lyons, G. J. A task allocation optimizer for software construction. IEEE Software 21, 3 (May 2004), 76--82.
[25]
Eclipse Foundation. Mylyn. {Software}. Available: https://www.eclipse.org/mylyn/ {Accessed: Jun 4, 2014}, 2014.
[26]
Fritz, T., and Murphy, G. C. Using information fragments to answer the questions developers ask. In Proceedings of ICSE 2010 (32nd ACM/IEEE International Conference on Software Engineering), ACM (2010), 175--184.
[27]
Frost, R. Jazz and the eclipse way of collaboration. IEEE Software 24, 6 (2007), 114--117.
[28]
Furnham, A. Response bias, social desirability and dissimulation. Personality and Individual Differences 7, 3 (1986), 385--400.
[29]
Grinter, R. Supporting articulation work using software configuration management systems. Computer Supported Cooperative Work 5, 4 (1996), 447--465.
[30]
Grubb, A. M., and Begel, A. On the perceived interdependence and information sharing inhibitions of enterprise software engineers. In Proceedings of CSCW 2012 (ACM Conference on Computer Supported Cooperative Work), ACM (2012), 1337--1346.
[31]
Guzzi, A., Bacchelli, A., Lanza, M., Pinzger, M., and van Deursen, A. Communication in open source software development mailing lists. In Proceedings of MSR 2013 (10th IEEE Working Conference on Mining Software Repositories) (2013), 277--286.
[32]
Guzzi, A., Begel, A., Miller, J. K., and Nareddy, K. Facilitating enterprise software developer communication with CARES. In Proceedings of ICSM 2012 (28th IEEE International Conference on Software Maintenance) (2012), 527--536.
[33]
Hattori, L. Change-centric Improvement of Team Collaboration. PhD thesis, Universit'a della Svizzera Italiana, February 2012.
[34]
Hattori, L., and Lanza, M. Syde: A tool for collaborative software development. In Proceedings of ICSE 2010 (32nd ACM/IEEE International Conference on Software Engineering) (2010), 235--238.
[35]
Hattori, L., Lanza, M., and D'Ambros, M. A qualitative analysis of preemptive conflict detection. Tech. Rep. 2011/05, University of Lugano, Sept. 2011.
[36]
Hegde, R., and Dewan, P. Connecting programming environments to support ad-hoc collaboration. In Proceedings of ASE 2008 (23rd IEEE/ACM International Conference on Automated Software Engineering, IEEE CS Press (2008), 178--187.
[37]
Henderson, R. M., and Clark, K. B. Architectural innovation: The reconfiguration of existing product technologies and the failure of established firms. Administrative Science Quarterly 35, 1 (Mar. 1990), 9--30.
[38]
Herbsleb, J. D., Mockus, A., and Roberts, J. A. Collaboration in software engineering projects: A theory of coordination. In Proceedings ICIS 2006 (International Conference on Information Systems) (2006).
[39]
IBM. Rational Team Concert. {Software}. Available: http://jazz.net/projects/rational-team-concert/ {Accessed: Jun 4, 2014}, 2014.
[40]
Jeff, and Lewis, J. R. When designing usability questionnaires, does it hurt to be positive? In Proceedings of CHI 2011 (29th Conference on Human Factors in Computing Systems), CHI '11, ACM (2011), 2215--2224.
[41]
Jeong, G., Kim, S., and Zimmermann, T. Improving bug triage with bug tossing graphs. In Proceedings of ESEC/FSE 2009 (7th Joint Meeting on Foundations of Software Engineering), ACM (2009), 111--120.
[42]
Kasi, B. K., and Sarma, A. Cassandra: Proactive conflict minimization through optimized task scheduling. In Proceedings of ICSE 2013 (35th International Conference on Software Engineering), IEEE Press (2013), 732--741.
[43]
Kersten, M., and Murphy, G. C. Using task context to improve programmer productivity. In Proceedings of FSE 2006 (14th ACM SIGSOFT International Symposium on Foundations of Software Engineering), ACM (2006), 1--11.
[44]
Kirsch, L. J. The Management of Complex Tasks in Organizations: Controlling the Systems Development Process. Organization Science 7, 1 (Jan. 1996), 1--21.
[45]
Ko, A. J., DeLine, R., and Venolia, G. Information needs in collocated software development teams. In Proceedings of ICSE 2007 (29th ACM/IEEE International Conference on Software Engineering), IEEE Computer Society (2007), 344--353.
[46]
Kraut, R. E., and Streeter, L. A. Coordination in software development. Communications of the ACM 38, 3 (Mar. 1995), 69--81.
[47]
Kwan, I., Schroter, A., and Damian, D. Does socio-technical congruence have an effect on software build success? a study of coordination in a software project. IEEE Transactions on Software Engineering 37, 3 (May 2011), 307--324.
[48]
LaToza, T. D., Venolia, G., and DeLine, R. Maintaining mental models: a study of developer work habits. In Proceedings of ICSE 2006 (28th ACM International Conference on Software Engineering), ACM (2006), 492--501.
[49]
Lidwell, W., Holden, K., and Butler, J. Universal Principles of Design, Revised and Updated: 125 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach through Design, 2nd ed. Rockport Publishers, January 2010.
[50]
Lindlof, T. R., and Taylor, B. C. Qualitative Communication Research Methods. SAGE Publications, Inc., 2010.
[51]
Malone, T. W., and Crowston, K. The interdisciplinary study of coordination. ACM Computing Surveys 26, 1 (Mar. 1994), 87--119.
[52]
Martin, B., and Hanington, B. Universal Methods of Design: 100 Ways to Research Complex Problems, Develop Innovative Ideas, and Design Effective Solutions. Rockport Publishers, 2012.
[53]
Matter, D., Kuhn, A., and Nierstrasz, O. Assigning bug reports using a vocabulary-based expertise model of developers. In Proceedings of MSR 2009 (6th International Working Conference on Mining Software Repositories), IEEE Computer Society (2009), 131--140.
[54]
Medlock, M. C., Wixon, D., Terrano, M., Romero, R. L., and Fulton, B. Using the RITE method to improve products: A definition and a case study. In Proceedings of UPA 2002 (Usability Professionals Association) (2002).
[55]
Molich, R., and Nielsen, J. Improving a human-computer dialogue. Communications of the ACM 33, 3 (Mar. 1990), 338--348.
[56]
Nielsen, J. 10 usability heuristics for user interface design. http://www.nngroup.com/articles/ten-usability-heuristics/, January 1995.
[57]
Ponzanelli, L., Bacchelli, A., and Lanza, M. Leveraging crowd knowledge for software comprehension and development. In Proceedings of CSMR 2013 (17th European Conference on Software Maintenance and Reengineering), IEEE CS Press (2013), 57--66.
[58]
Ponzanelli, L., Bacchelli, A., and Lanza, M. Seahawk: Stack overflow in the ide. In Proceedings of ICSE 2013 (35th International Conference on Software Engineering), IEEE CS Press (2013), 1295--1298.
[59]
Proenca, T., Moura, N., and van der Hoek, A. On the use of emerging design as a basis for knowledge collaboration. New Frontiers in Artificial Intelligence 6284 (2010), 124--134.
[60]
Rastkar, S., and Murphy, G. C. Why did this code change? In Proceedings of ICSE 2013 (35th ACM/IEEE International Conference on Software Engineering), IEEE Press (2013), 1193--1196.
[61]
Robbes, R., Lungu, M., and Röthlisberger, D. How do developers react to api deprecation?: The case of a smalltalk ecosystem. In Proceedings of FSE 2012 (20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering), ACM (2012), 56:1--56:11.
[62]
Sarma, A. A survey of collaborative tools in software development, isr. Tech. rep., Institute for Software Research, University of California, Irvine, 2005.
[63]
Sarma, A., Maccherone, L., Wagstrom, P., and Herbsleb, J. Tesseract: Interactive visual exploration of socio-technical relationships in software development. In Proceedings of ICSE 2009 (31st International Conference on Software Engineering), IEEE Computer Society (Washington, DC, USA, 2009), 23--33.
[64]
Sarma, A., Noroozi, Z., and van der Hoekvan der Hoek. Palantír: Raising awareness among configuration management workspaces. In Proceedings of ICSE 2002 (23rd International Conference on Software Engineering), IEEE CS Press (2003), 444--454.
[65]
Sarma, A., Redmiles, D., and van der Hoek, A. Empirical evidence of the benefits of workspace awareness in software configuration management. In Proceedings of FSE 2008 (16th ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM Press (2008), 113--123.
[66]
Sarma, A., Redmiles, D., and van der Hoek, A. Categorizing the spectrum of coordination technology. IEEE Computer 43, 6 (June 2010), 61--67.
[67]
Sauro, J. A Practical Guide to the System Usability Scale: Background, Benchmarks and Best Practices. CreateSpace, 2011.
[68]
Sillito, J., Murphy, G. C., and Volder, K. D. Questions programmers ask during software evolution tasks. In Proceedings of FSE 2006 (14th ACM SIGSOFT International Symposium on Foundations of Software Engineering), ACM (2006), 23--34.
[69]
Spencer, D. Card sorting: a definitive guide. http://boxesandarrows.com/card-sorting-a-definitive-guide/, April 2004.
[70]
Tasktop. Tasktop Dev. {Software}. Available: http://www.tasktop.com/dev {Accessed: Aug 1, 2014}, 2014.
[71]
Whitehead, J. Collaboration in software engineering: A roadmap. In Proceedings of FOSE 2007 (Future of Software Engineering), IEEE Computer Society (2007), 214--225.
[72]
Yau, S. S., Colofello, J. S., and MacGregor, T. Ripple effect analysis of software maintenance. In Proceedings of COMPSAC, IEEE Computer Society Press (1978), 60--65.
[73]
Zeller, A. The future of programming environments: Integration, synergy, and assistance. In Proceedings of FOSE 2007 (Future of Software Engineering), IEEE Computer Society (2007), 316--325.

Cited By

View all
  • (2024)Understanding Real-Time Collaborative Programming: A Study of Visual Studio Live ShareACM Transactions on Software Engineering and Methodology10.1145/364367233:4(1-28)Online publication date: 27-Jan-2024
  • (2024)Third-Party Developers and Tool Development For Community Management on Live Streaming Platform TwitchProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642787(1-18)Online publication date: 11-May-2024
  • (2023)Design Principles for Integrated Legislation Drafting EnvironmentSSRN Electronic Journal10.2139/ssrn.4556959Online publication date: 2023
  • Show More Cited By

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CSCW '15: Proceedings of the 18th ACM Conference on Computer Supported Cooperative Work & Social Computing
February 2015
1956 pages
ISBN:9781450329224
DOI:10.1145/2675133
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 February 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. developers' coordination
  2. ide extension
  3. qualitative study

Qualifiers

  • Research-article

Conference

CSCW '15
Sponsor:

Acceptance Rates

CSCW '15 Paper Acceptance Rate 161 of 575 submissions, 28%;
Overall Acceptance Rate 2,235 of 8,521 submissions, 26%

Upcoming Conference

CSCW '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)3
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Understanding Real-Time Collaborative Programming: A Study of Visual Studio Live ShareACM Transactions on Software Engineering and Methodology10.1145/364367233:4(1-28)Online publication date: 27-Jan-2024
  • (2024)Third-Party Developers and Tool Development For Community Management on Live Streaming Platform TwitchProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642787(1-18)Online publication date: 11-May-2024
  • (2023)Design Principles for Integrated Legislation Drafting EnvironmentSSRN Electronic Journal10.2139/ssrn.4556959Online publication date: 2023
  • (2021)ConE: A Concurrent Edit Detection Tool for Large-scale Software DevelopmentACM Transactions on Software Engineering and Methodology10.1145/347801931:2(1-26)Online publication date: 24-Dec-2021
  • (2021)Leveling Up Teamwork in EsportsProceedings of the ACM on Human-Computer Interaction10.1145/34491235:CSCW1(1-30)Online publication date: 22-Apr-2021
  • (2021)Version Control Systems: An Information Foraging PerspectiveIEEE Transactions on Software Engineering10.1109/TSE.2019.293129647:8(1644-1655)Online publication date: 1-Aug-2021
  • (2020)Collaborative Visual Programming Workspace for Blockly2020 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC50065.2020.9127253(1-6)Online publication date: Aug-2020
  • (2019)Programmer eXperience: A Systematic Literature ReviewIEEE Access10.1109/ACCESS.2019.29201247(71079-71094)Online publication date: 2019
  • (2019)The life-cycle of merge conflicts: processes, barriers, and strategiesEmpirical Software Engineering10.1007/s10664-018-9674-xOnline publication date: 5-Feb-2019
  • (2018)Analyzing conflict predictors in open-source Java projectsProceedings of the 15th International Conference on Mining Software Repositories10.1145/3196398.3196437(576-586)Online publication date: 28-May-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media